Нижегородский государственный технический университет им. Р.Е. Алексеева
Кафедра «Прикладная математика».
Отчет по лабораторной работе №1.
Численные методы решения нелинейных уравнений
Вариант №19.
Выполнил: студент группы 09-СК
Коптелов А.В.
Проверил: Галина Н.В.
Нижний Новгород
2010 г.
Постановка задачи.
Решить нелинейное уравнение:
|
x
+
cos
(
x
+2)=0 на [0,5;1]
Решение.
РЕАЛИЗАЦИЯ В C++.
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
double a=0.5,b=1;//otvet v shagovom metode
double c=0.5,u=1;//ishodny intervall
double e=0.001;
double F(double x)
{return (x+cos(pow(x,0.52)+2));}
double F1(double x)
{return 1-sin(pow(x,0.52)+2)*0.52*pow(x,-0.48);}
double S(double x)
{return -cos(pow(x,0.52)+2);}
void Shag(){
double h=0.05;
double x0=c;
double x1;
while(x0<=u){
x1=x0+h;
if(F(x0)*F(x1)<0){
cout<<"shagovy metod ["<<x0<<";"<<x1<<"]"<<endl;
a=x0;
b=x1;
}
x0=x1;
}
}
double Polovinn(){
double x0=a;
double x1=b;
double p=x0;
while(fabs(F(p))>e){
p=(x0+x1)/2;
if(F(x0)*F(p)<0) x1=p;
else x0=p;
}
cout<<"metod polovinnogo delenya x= ["<<p<<"]"<<endl;
return 8;
}
double Nuton(){
double x0=a;
while(fabs(F(x0))>e){
x0=x0-F(x0)/F1(x0);
}
cout<<"metod Nutona x= ["<<x0<<"]"<<endl;
return 8;
}
double Prostaya_iteraciya(){
double x0=a;
double s;
while(fabs(F(x0))>e){
x0=S(x0);
}
cout<<"metod prostaya teraciya x= ["<<x0<<"]"<<endl;
return 8;
}
void main()
{//double a,b,x0,x1,h;
//int N;
Shag();
//Nuton();
Polovinn();
Nuton();
Prostaya_iteraciya();
}
//while
Ш а г о в ы й м е т о д
|
О т в е т : (2 ;2,2 ) |
М е т о д у т о ч н е н и я к о р н я
|
М е т о д п о л о в и н н о г о д е л е н и я
|
М е т о д Н ь ю т о н а
|
|
|
М е т о д п р о с т о й и т е р а ц и и
|
Название реферата: Численные методы решения нелинейного уравнения с одним неизвестным
Слов: | 442 |
Символов: | 5393 |
Размер: | 10.53 Кб. |