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

Автор работы: Пользователь скрыл имя, 29 Января 2014 в 13:59, лабораторная работа

Краткое описание

Цель работы: научиться решать нелинейные уравнения методом простых итераций, методом Ньютона и модифицированным методом Ньютона с помощью ЭВМ. Доказать графическим и аналитическим методами существование единственного корня нелинейного уравнения. Построить рабочие формулы метода простых итераций, метода Ньютона и модифицированного метода Ньютона, реализующие процесс поиска корня нелинейного уравнения (1) на указанном отрезке. Составить программу (программы) на любом языке программирования, реализующие построенные итерационные процессы.

Содержание

1. Изучить метод простых итераций, метод Ньютона и модифицированный метод Ньютона для решения нелинейных уравнений.
2. На конкретном примере усвоить порядок решения нелинейных уравнений с помощью ЭВМ указанными методами.
3. Составить программу (программы) на любом языке программирования и с ее помощью решить уравнение с точностью и . Сделать вывод о скорости сходимости всех трех методов.
4. Изменить и снова решить задачу. Сделать выводы о: скорости сходимости рассматриваемых методов; влиянии точности на скорость сходимости; влиянии выбора начального приближения в методе простых итераций на скорость сходимости.
5. Составить отчет о проделанной работе.

Прикрепленные файлы: 1 файл

ВЫЧ.МАТ ЛАБы.docx

— 359.07 Кб (Скачать документ)

Министерство  образования И НАУКИ Российской Федерации

 

Казанский Государственный  Технический Университет 

им. А. Н. Туполева

 

 

Колледж Информационных Технологий.

 

 

 

 

 

 

 

 

Лабораторная  работа

 

 

 

по дисциплине:

Вычислительная математика

 «итерационные методы решения нелинейных уравнений»

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнили:

студ. гр. 4233

Бурганова И.И.

Юдина А.С.

Проверил:

Доцент каф. ПМИ

Горбунов Д.А.

 

                                     

                                                  Казань 2013

 

                                                                                         Вариант 16

                           Лабораторная работа №1-2 
                                   

                                          ИТЕРАЦИОННЫЕ МЕТОДЫ

РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ.

 

Цель работы: научиться решать нелинейные уравнения методом простых итераций, методом Ньютона и модифицированным методом Ньютона с помощью ЭВМ.

Содержание работы:

1. Изучить метод простых итераций, метод Ньютона и модифицированный  метод Ньютона для решения  нелинейных уравнений.

2. На конкретном примере усвоить  порядок решения нелинейных уравнений  с помощью ЭВМ указанными методами.

3. Составить программу (программы)  на любом языке программирования  и с ее помощью решить уравнение  с точностью  и . Сделать вывод о скорости сходимости всех трех методов.

4. Изменить  и снова решить задачу. Сделать выводы о: скорости сходимости рассматриваемых методов; влиянии точности на скорость сходимости; влиянии выбора начального приближения в методе простых итераций на скорость сходимости.

5. Составить отчет о проделанной  работе.

 

ВЫПОЛНЕНИЕ РАБОТЫ

 

Задание.

1. Доказать графическим и аналитическим  методами существование единственного  корня нелинейного уравнения

 (1)

на отрезке .

2. Построить рабочие формулы метода  простых итераций, метода Ньютона  и модифицированного метода Ньютона,  реализующие процесс поиска корня  нелинейного уравнения (1) на указанном  отрезке.

3. Составить программу (программы)  на любом языке программирования, реализующие построенные итерационные  процессы.

 

Решение.

1. Докажем графическим методом единственность корня нелинейного уравнения (1). Из графика функции на Рис.1 видно, что функция пересекает ось в одной точке, являющейся приближенным значением корня нелинейного уравнения (1). Но так как данная функция имеет сложный аналитический вид, то преобразуем уравнение 1+sin(x) (1) к виду и построим два графика и

y=1+sin(x)

имеющих более простой аналитический вид (Рис.2). Абсцисса точки пересечения графиков является приближенным значением корня. Заметим, что графический метод показы показывает количество корней исходного уравнения, но не доказывает единственность корня на отрезке.

Рис.1

Аналитический метод. Функция непрерывна на отрезке [4.7;-3.5]

  имеет на концах отрезка разные знаки + и –, а производная функции не меняет знак на отрезке (+cosx>0; [-4,7;-3,5]. Следовательно, нелинейное уравнение (1) имеет на указанном отрезке единственный корень.

2. Метод простых итераций.

Построим  функцию . Константа выбирается из достаточного условия сходимости

  (2)

Если производная , то значение выбирается из интервала , если производная , то – из интервала

Так как для рассматриваемого примера  всюду положительна на отрезке то придавая переменной различные значения из интервала и выбирая наименьший интервал -1    < c < 0

                                                                                                                                             получим -4,4.Выбираем произвольное значение из этого интервала. Пусть c=-0.7. Тогда рабочая формула метода простых итераций будет иметь вид:

(3)

Итерационный  процесс (3) можно начать, задав произвольное начальное приближение. Итерационный процесс (3) заканчивается при одновременном выполнении двух условий:

  и .  (4)

В этом случае значение является приближенным значением корня нелинейного уравнения (1) на отрезке[-1,5; -0,5].

Метод Ньютона. В качестве начального приближения здесь выбирается правый или левый конец отрезка, в зависимости от того, в котором выполняется достаточное условие сходимости метода Ньютона вида:

  (5)

Заметим, что в точке x=-1,5 условие (5) не выполняется, а в точке x=-0,5 - выполняется. Следовательно, в качестве начального приближения выбирается точка . Рабочая формула метода Ньютона для данного уравнения запишется так:

  (6)

Условия выхода итерационного процесса (6) аналогичны условиям (4) метода простых итераций.

Модифицированный метод Ньютона. Начальное приближение выбирается аналогично методу Ньютона, т.е.. Рабочая формула модифицированного метода Ньютона для данного примера запишется так:

  (7)

Условия выхода итерационного процесса (7) аналогичны условиям (4) метода простых итераций.

Замечание: для того, чтобы сделать вывод о скорости сходимости методов, необходимо в каждом методе выбирать одинаковое начальное приближение.

3. Блок-схема метода простых  итераций, метода Ньютона и модифицированного  метода Ньютона приведена на  рисунке 3

Ниже  в качестве примера приведены  программы на языках программирования С++, реализующие итерационный процесс метода простых итераций.

 

#include<stdio.h>

#include<math.h>

#include<conio.h>

void main()

{

int n=0;

float x,y,z,x0=-4.7,c=0.6,e=0.001,d=0.01;

x=x0;

clrscr();

do

{

y=x+c*(exp(x)+sin(x)-1);

/* y=x-(exp(x)+sin(x)-1)(exp(x)+cos(x)); */

/* y=x-(exp(x)-sin(x)-1)(exp(x0)+cos(x0)); */

z=x;

printf(“%d %4f %4f %4f %4f\n”,n++,x,y,fabs(y-x),fabs(exp(y)+y));

x=y;

}

while(fabs(x-z)>e || fabs(exp(x)+sin(x)-1)>d);

getch();

}


Решение: в результате решения нелинейного уравнения (1) на указанном отрезке тремя методами при начальном приближении с точностью и получили результаты.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 16

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №3-4 

«ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ»

 

Цель работы: научиться решать системы нелинейных уравнений (СНУ) методом простых итераций (МПИ) и методом Ньютона с помощью ЭВМ.

РЕШЕНИЕ

  1. Аналитически решим СНУ :

 

 

 

 

 

 

 

Подставим в первое уравнение  и найдём решение:

 

 

 

 

 

  

 

Таким образом аналитическим решением СНУ являются точки и .

 

 

 

2. Для построения рабочих формул  МПИ для численного решения  системы приведем ее к виду:

 

Для этого умножим первое уравнение системы  на неизвестную  постоянную , второе - на , затем сложим их и добавим в обе части уравнения . Получим первое уравнение преобразуемой системы

 

где .

Далее, умножим первое уравнение  системы на неизвестную постоянную , второе - на , затем сложим их и добавим в обе части уравнения . Тогда второе уравнение преобразуемой системы будет иметь вид:

 

где .

 

 

 

 

Тогда СЛАУ запишется так:

 

 

Выразим из второго уравнения :

 

Подставляем  в первое уравнение и находим :

 

 

 

 

 

Тогда : 

 

Выразим из третьего уравнения :

 

 

Подставляем    в первое уравнение и находим :

 

 

 

 

 

 

Тогда : 

Тогда рабочие формулы  МПИ для решения СНУ  примут вид:

 

где:

, , , .

Заметим, что если частные производные  мало изменяются в окрестности начального приближения (3,1), то СЛАУ запишется так:

 

 

 

Решая систему, получаем:

,  , ,  

 

 

 

3. Построение рабочих  формул метода Ньютона: 

3.1. Найдем матрицу частных производных :

.

 

 

3.2. Найдем  определитель этой матрицы:

.

 

 

3.3. Определим обратную матрицу:

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица результатов

Метод МПИ

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

 

 

 

 

Выводы  о проделанной работе

 

В результате решения СНУ  при начальном приближении (3,1) методом  простых итераций с точностью  получено решение , а методом Ньютона .

Методы МПИ и Ньютона  дали точные результаты.

Листинг программы

#include <stdio.h>

#include <math.h>

main()

{

  int n=0;

  float x,y,x_next,y_next,eps=0.0001;

  float alpha,betta,sigma,delta;

 

  x_next=1.0;

  y_next=3.0;

 

  alpha=x_next/(2*x_next*x_next+2*y_next*y_next-4*x_next*y_next);

  betta=(2*y_next-x_next)/(2*x_next*x_next+2*y_next*y_next-

 

4*x_next*y_next);

  sigma=(2*x_next-y_next)/(2*x_next*x_next+2*y_next*y_next-

 

4*x_next*y_next);

  delta=y_next/(2*x_next*x_next+2*y_next*y_next-4*x_next*y_next);

 

  clrscr();

  do

  {

     x=x_next;

     y=y_next;

 

     //method MPI

     //x_next=x+alpha*(y*y-x*y-12)+betta*(x*x-x*y+3);

     //y_next=y+sigma*(y*y-x*y-12)+delta*(x*x-x*y+3);

 

     //method Newton

     x_next=x - (x*y*y-2*x*x*y+15*x-6*y+x*x*x)/(2*y*y-4*x*y+2*x*x);

     y_next=y - (-2*x*y*y+x*x*y-15*y+24*x+y*y*y)/(2*y*y-4*x*y+2*x*x);

 

     printf("%d. %.4f %.4f %.4f %.4f %.4f  %.4f\n",n,x,x_next,fabs

 

(x-x_next),y,y_next,fabs(y-y_next));

     n=n+1;

  }

  while(fabs(x_next-x)>eps || fabs(y_next-y)>eps);

  printf("Rezult = (%.4f,%.4f)",x_next,y_next);

  getch();

  return 0;

}


 

 

 

Вариант 16

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №5.

«ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ

СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ»

 

Цель работы: научиться решать системы линейных алгебраических уравнений (СЛАУ) методом простых итераций (МПИ) и методом Зейделя с помощью ЭВМ.

  1. Аналитически решить СЛАУ вида:

 

СЛАУ имеет единственное решение:

 

  1. Построение рабочих формул МПИ и метода Зейделя для численного решения СЛАУ.
    1. МПИ

Из  системы (1) видно, что модули диагональных коэффициентов в каждом уравнении отличны от нуля и больше суммы модулей всех остальных коэффициентов, не считая столбца свободных членов.

Разделив каждое уравнение  системы (1) на соответствующий диагональный коэффициент, сформируем столбец в левой части и перенесем остальные слагаемые в правую часть и получим рабочие формулы МПИ вида:

 

 

 

 

Начальное приближение обычно выбирают равным столбцу свободных членов преобразованной системы .

    1. метода Зейделя

Рабочие формулы метода Зейделя запишутся так:

 

 

 

 

 

Листинг программы

#include <stdio.h>

#include <math.h>

main()

{

  int n=0;

  float x,y,z,x_next,y_next,z_next,eps=0.0001;

 

  x_next=-10.0/22;

  y_next=1.0;

  z_next=-1.0/6;

 

  clrscr();

  do

  {

     x=x_next;

     y=y_next;

     z=z_next;

 

     //method MPI

     x_next=-10.0/22 + (10/22)*y - (8/22)*z;

     y_next=1-0.1*x+(4/15)*z;

     z_next=-1.0/6 - 0.5*x +(1/6)*y;

    

     //method Zeydelya

     //x_next=-10.0/22 + (10/22)*y - (8/22)*z;

     //y_next=1-0.1*x_next+(4/15)*z;

     //z_next=-1.0/6 - 0.5*x_next +(1/6)*y_next;

 

     printf("%d. %.4f %.4f %.4f %.4f %.4f  %.4f %.4f %.4f  %.4f

 

\n",n,x,x_next,fabs(x-x_next),y,y_next,fabs(y-y_next),z,z_next,fabs(z-

 

z_next));

     n=n+1;

  }

  while(fabs(x_next-x)>eps || fabs(y_next-y)>eps || fabs(z_next-z)>eps);

  printf("Rezult = (%.4f,%.4f,%.4f)",x_next,y_next,z_next);

  getch();

  return 0;

}


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вариант 16

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №6,7.

«ИНТЕРПОЛЯЦИЯ И АППРОКСИМАЦИЯ ФУНКЦИЙ»

 

Цель работы: научиться строить интерполяционные и аппроксимационные многочлены по заданной системе точек с помощью ЭВМ.

Задание.

1. Составить таблицу  значений экспериментальной функции  с точностью для равноотстоящей системы из трех узловых точек , на отрезке из области допустимых значений функции, где .

2. По сформированной  системе точек построить интерполяционную  формулу Лагранжа, I и II интерполяционные формулы Ньютона и аппроксимационный полином второго порядка.

3. Составить программу  на любом языке программирования, реализующую процесс построения указанных полиномов для заданной системы точек.

Решение

      1. Таблица значений функции с точностью для равноотстоящей системы из трех узловых точек , на отрезке, где, имеет вид:

x

0

1/2

1

y

5648.0029

5640.9492

5619.8569


 

2. Интерполяционный полином Лагранжа.

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