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

Автор работы: Пользователь скрыл имя, 21 Ноября 2010 в 20:37, Не определен

Описание работы

Отчет по лабораторной работе

Файлы: 1 файл

Отчет по лабе.docx

— 41.70 Кб (Скачать файл)

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

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

Отчет по лабораторной работе №1.

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

Вариант №19. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Выполнил: студент группы 09-СК

Коптелов  А.В.

Проверил: Галина Н.В.                                       
 
 
 
 
 
 
 
 
 

Нижний  Новгород

2010 г.

Постановка  задачи.

  1. Решить нелинейное уравнение:

    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 )

М е т о д  у  т о ч н е  н и я  к о  р н я 

М е т о д  п  о л о в и  н н о г о  д е л е н  и я 

М е т о д  Н  ь ю т о н  а 

 
 

 

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

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