Просмотр полной версии : с++ метод простых итераций
дана ф-я 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();
}
вот написал должен рещать тремя методами а решает двумя... подскажите где ошибка в третьем
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot