Здравствуйте. Прошу помочь найти и устранить ошибку в программе, которая должна решать уравнение вида f(x)=0 (у=-х*х+2*sin(x)), методом простой итерации. Интервал на котором находится корень [1;2], погрешность вычисления 0.001, корень найденный с помощью графика Excel равен приблизительно 1.40, там же был определен интервал.
| Код | #include <conio.h> #include <math.h> #include <iostream.h> #define e 0.001 double f(double x) { return -x*x+2*sin(x); } double fi(double x, double L) { return x+L*(-x*x+2*sin(x)); } int main() { int n=0; double x,y,c,b,L=2; cout<<"x="; cin>>x; do { y=fi(x,L); b=fabs(x-y); x=y; n+=1; } while (b>=e); cout<<"c="<<x<<"\n"; cout<<"n="<<n<<"\n"; getch(); return 0; }
|
Проблема скорее всего заключается в том, что я плохо поняла этот метод и реализовала его с ошибками. |