Смекни!
smekni.com

Численные методы решения нелинейного уравнения с одним неизвестным

Нижегородский государственный технический университет им. Р.Е. Алексеева

Кафедра «Прикладная математика».

Отчет по лабораторной работе №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 )
М е т о д у т о ч н е н и я к о р н я
М е т о д п о л о в и н н о г о д е л е н и я
М е т о д Н ь ю т о н а


М е т о д п р о с т о й и т е р а ц и и