К
Катюша1603
Скоро экзамен. Одним из заданий нужно запрограммировать один из численных методов.
Пример: Найти корень функции методом половинного деления
Код:
int Metod1(float a,float b,float EPS,float *Root,float *FRoot, int *STEP)
{
float c,fa,fb,fc;
fa=F(a); fb=F(b);
if(fa*fb>0) {cout<<"Метод нельзя применить";
return 0;
}
else{
*STEP=2;
while(fabs(b-a)>EPS){
c=(a-b)/2;
fc=F©;
if(fa*fc>0) {a=c; fa=fc;}
else {b=c;fb=fc;}
*STEP=(*STEP)+1;
}
*Root=(a+b)/2;
*FRoot=F(*Root);
return 1;
}
void main()
{ float L,R,E,RT,FRT;
int S;
cout<<"ВВедите левую и правую границы и точность: ";
cin>>L>>R>>E;
int K;
K=Metod1(L,R,E,&RT,&FRT,&S);
if(K==1){cout<<RT<<FRT<<S;}
2. Нахождение корня методом хорд.
3.Нахождение корня функции методом касательной
4.Нахождение минимума функции методом дихотомии
5.Нахождение минимума унимодальной функции методом золотого сечения
6.Нахождение определенного интеграла функции методом прямоугольника
7.Вычисление определенного интеграла методом трапеции.
Помогите, пожалуйста!!!
Пример: Найти корень функции методом половинного деления
Код:
int Metod1(float a,float b,float EPS,float *Root,float *FRoot, int *STEP)
{
float c,fa,fb,fc;
fa=F(a); fb=F(b);
if(fa*fb>0) {cout<<"Метод нельзя применить";
return 0;
}
else{
*STEP=2;
while(fabs(b-a)>EPS){
c=(a-b)/2;
fc=F©;
if(fa*fc>0) {a=c; fa=fc;}
else {b=c;fb=fc;}
*STEP=(*STEP)+1;
}
*Root=(a+b)/2;
*FRoot=F(*Root);
return 1;
}
void main()
{ float L,R,E,RT,FRT;
int S;
cout<<"ВВедите левую и правую границы и точность: ";
cin>>L>>R>>E;
int K;
K=Metod1(L,R,E,&RT,&FRT,&S);
if(K==1){cout<<RT<<FRT<<S;}
2. Нахождение корня методом хорд.
3.Нахождение корня функции методом касательной
4.Нахождение минимума функции методом дихотомии
5.Нахождение минимума унимодальной функции методом золотого сечения
6.Нахождение определенного интеграла функции методом прямоугольника
7.Вычисление определенного интеграла методом трапеции.
Помогите, пожалуйста!!!