Автор работы: Пользователь скрыл имя, 29 Января 2014 в 13:59, лабораторная работа
Цель работы: научиться решать нелинейные уравнения методом простых итераций, методом Ньютона и модифицированным методом Ньютона с помощью ЭВМ. Доказать графическим и аналитическим методами существование единственного корня нелинейного уравнения. Построить рабочие формулы метода простых итераций, метода Ньютона и модифицированного метода Ньютона, реализующие процесс поиска корня нелинейного уравнения (1) на указанном отрезке. Составить программу (программы) на любом языке программирования, реализующие построенные итерационные процессы.
1. Изучить метод простых итераций, метод Ньютона и модифицированный метод Ньютона для решения нелинейных уравнений.
2. На конкретном примере усвоить порядок решения нелинейных уравнений с помощью ЭВМ указанными методами.
3. Составить программу (программы) на любом языке программирования и с ее помощью решить уравнение с точностью и . Сделать вывод о скорости сходимости всех трех методов.
4. Изменить и снова решить задачу. Сделать выводы о: скорости сходимости рассматриваемых методов; влиянии точности на скорость сходимости; влиянии выбора начального приближения в методе простых итераций на скорость сходимости.
5. Составить отчет о проделанной работе.
Министерство образования И НАУКИ Российской Федерации
Казанский Государственный Технический Университет
им. А. Н. Туполева
Колледж Информационных Технологий.
Лабораторная работа
по дисциплине:
Вычислительная математика
«итерационные методы решения нелинейных уравнений»
Выполнили:
студ. гр. 4233
Бурганова И.И.
Юдина А.С.
Проверил:
Доцент каф. ПМИ
Горбунов Д.А.
Цель работы: научиться решать нелинейные уравнения методом простых итераций, методом Ньютона и модифицированным методом Ньютона с помощью ЭВМ.
Содержание работы:
1.
Изучить метод простых
2.
На конкретном примере усвоить
порядок решения нелинейных
3.
Составить программу (
4. Изменить и снова решить задачу. Сделать выводы о: скорости сходимости рассматриваемых методов; влиянии точности на скорость сходимости; влиянии выбора начального приближения в методе простых итераций на скорость сходимости.
5. Составить отчет о проделанной работе.
ВЫПОЛНЕНИЕ РАБОТЫ
Задание.
1.
Доказать графическим и
(1)
на отрезке .
2.
Построить рабочие формулы
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
(3)
Итерационный процесс (3) можно начать, задав произвольное начальное приближение. Итерационный процесс (3) заканчивается при одновременном выполнении двух условий:
и . (4)
В этом случае значение является приближенным значением корня нелинейного уравнения (1) на отрезке[-1,5; -0,5].
Метод Ньютона. В качестве начального приближения здесь выбирается правый или левый конец отрезка, в зависимости от того, в котором выполняется достаточное условие сходимости метода Ньютона вида:
(5)
Заметим, что в точке x=-1,5 условие (5) не выполняется, а в точке x=-0,5 - выполняется. Следовательно, в качестве начального приближения выбирается точка . Рабочая формула метода Ньютона для данного уравнения запишется так:
(6)
Условия выхода итерационного процесса (6) аналогичны условиям (4) метода простых итераций.
Модифицированный метод Ньютона
(7)
Условия выхода итерационного процесса (7) аналогичны условиям (4) метода простых итераций.
Замечание: для того, чтобы сделать вывод о скорости сходимости методов, необходимо в каждом методе выбирать одинаковое начальное приближение.
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=
x=x0;
clrscr();
do
{
y=x+c*(exp(x)+sin(x)-1);
/*
y=x-(exp(x)+sin(x)-1)(exp(x)+
/*
y=x-(exp(x)-sin(x)-1)(exp(x0)+
z=x;
printf(“%d
%4f %4f %4f %4f\n”,n++,x,y,fabs(y-x),fabs(
x=y;
}
while(fabs(x-z)>e || fabs(exp(x)+sin(x)-1)>d);
getch();
}
Решение: в результате решения нелинейного уравнения (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+ betta=(2*y_next-x_next)/(2*x_
4*x_next*y_next); sigma=(2*x_next-y_next)/(2*x_
4*x_next*y_next); delta=y_next/(2*x_next*x_next+
clrscr(); do { x=x_next; y=y_next;
//method MPI //x_next=x+alpha*(y*y-x*y-12)+ //y_next=y+sigma*(y*y-x*y-12)+
//method Newton x_next=x - (x*y*y-2*x*x*y+15*x-6*y+x*x*x) y_next=y - (-2*x*y*y+x*x*y-15*y+24*x+y*y*
printf("%d. %.4f %.4f %.4f %.4f %.4f %.4f\n",n,x,x_next,fabs
(x-x_next),y,y_next,fabs(y-y_ 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; } |
Цель работы: научиться решать системы линейных алгебраических уравнений (СЛАУ) методом простых итераций (МПИ) и методом Зейделя с помощью ЭВМ.
СЛАУ имеет единственное решение:
Из системы (1) видно, что модули диагональных коэффициентов в каждом уравнении отличны от нуля и больше суммы модулей всех остальных коэффициентов, не считая столбца свободных членов.
Начальное приближение обычно выбирают равным столбцу свободных членов преобразованной системы .
Рабочие формулы метода Зейделя запишутся так:
Листинг программы
#include <stdio.h> #include <math.h> main() { int n=0; float x,y,z,x_next,y_next,z_next,
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_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),
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_ getch(); return 0; } |
Цель работы: научиться строить интерполяционные и аппроксимационные многочлены по заданной системе точек с помощью ЭВМ.
Задание.
1. Составить таблицу
значений экспериментальной
2. По сформированной
системе точек построить
3. Составить программу
на любом языке
Решение
x |
0 |
1/2 |
1 |
y |
5648.0029 |
5640.9492 |
5619.8569 |
2. Интерполяционный полином Лагранжа.
Информация о работе Итерационные методы решения нелинейных уравнений