Untitled
unknown
plain_text
a year ago
1.0 kB
10
Indexable
#include <iostream>
#include <cmath>
using namespace std;
double function(double x);
double derivative(double x);
int main() {
double x0, epsilon;
int maxIterations;
cout << "Enter initial guess: ";
cin >> x0;
cout << "Enter tolerance: ";
cin >> epsilon;
cout << "Enter maximum number of iterations: ";
cin >> maxIterations;
double x1, fx, dfx;
for (int i = 0; i < maxIterations; i++) {
fx = function(x0);
dfx = derivative(x0);
if (dfx == 0.0) {
cout << "Derivative is zero. No solution found.\n";
return -1;
}
x1 = x0 - fx / dfx;
if (fabs(x1 - x0) < epsilon) {
cout << "Root found: " << x1 << "\n";
return 0;
}
x0 = x1;
}
cout << "Maximum number of iterations reached. No solution found.\n";
return -1;
}
double function(double x) {
return x * x - 2;
}
double derivative(double x) {
return 2 * x;
}
Editor is loading...
Leave a Comment