![]() |
с++ метод простых итераций
дана ф-я x*x-sin(5*x)-1 как должен применятся данный метод к ней? если кто нибудь делал подобную лабу скиньте исходник мне не понятен сам метод сколько где ни читал... или скиньте ссылку на то где нормально описан сам метод(чисто математика)
|
что-то про периодичность функций?
|
нее периодичность тут вроде не причем http://www.exponenta.ru/educat/class/courses/vvm/theme_2/theory.asp#5 <-- только мне это не помогло
|
м?
http://forum.sources.ru/index.php?showtopic=53319 http://elib.ispu.ru/library/math/sem1/kiselev1/node80.html |
#include <math.h>
#include <conio.h> #include <iostream.h> #include <stdio.h> #include <windows.h> double Func(double x) { return x*x-sin(5*x)-1; } double Fp(double x, double E) { return (Func(x+E/2)-Func(x-E/2))/E;//типа производную так захуячил } void main() { double a,b,X,E; int ii; printf("x^2-sin(5*x)-1\na="); scanf("%lf",&a); printf("b="); scanf("%lf",&b); printf("e="); scanf("%lf",&E); printf("Metod resheniya?\n\t\t1)metod polovinnogo deleniya\n\t\t2)metod Newtona\n\t\t3)Prostih iteracyi\n"); scanf("%i",&ii); system("cls"); X=a; double Xt; int count=0; do { count++; Xt=X; if (ii==1) {X=(b+a)/2;} else {if (ii==2) {X=-Func(X)/Fp(X,E)+X;} else {if (ii==3) {X=Func(X);}} } cout<<"["<<count<<"]="<<X<<endl; if(Func(X)*Func(a)>0)a=X; else b=X; }while(fabs(X-Xt)>=E); cout<<"X="<<X; cin.get(); } вот написал должен рещать тремя методами а решает двумя... подскажите где ошибка в третьем |
| Время: 16:36 |