Решение нелинейных уравнений
Вычисление всех корней нелинейных уравнений, содержащихся на заданном отрезке локализации. Аналитическое и численное решение задач методами бисекции, Ньютона и простых итераций (последовательных повторений). Критерий окончания итерационного процесса.
Рубрика | Математика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 12.12.2011 |
Размер файла | 49,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1
Московский Энергетический Институт (ТУ)
Кафедра Математического Моделирования
Лабораторная работа
Решение нелинейных уравнений
Группа: ТФ-12-10
Студент: Дралина Дарья
Преподаватель: Амосова О.А.
Москва 2011
Задача 1
Дано уравнение
f(x)= .
Найти с точностью все корни уравнений, содержащиеся на отрезке [0, 1.5]. Для решения задачи использовать метод бисекции. Найти корни с помощью встроенной функции root пакета MATHCAD.
Метод бисекции.
Пусть [a,b] - отрезок локализации. Предположим, что функция f(x) непрерывна на [a,b] и на концах принимает значения разных знаков . Алгоритм метода бисекции состоит в построении последовательности вложенных отрезков, на концах которых функция принимает значения разных знаков. Каждый последующий отрезок получают делением пополам предыдущего. Критерий окончания итерационного процесса: если длина отрезка локализации меньше 2, то итерации прекращают и в качестве значения корня с заданной точностью принимают середину отрезка.
Аналитическое решение задачи:
[a,b]=[0,1.5]
Численное решение задачи:
Локализация корней для численного решения задачи:
Отрезки локализации: [0.6,0.9], [1.2,1.5]
Первый корень:
Встроенная функция пакета MATHCAD:
Задание начального приближения
Значения корней совпадают в пределах заданной точности, корень 0.7853981634.
Второй корень:
Встроенная функция пакета MATHCAD:
Задание начального приближения
Значения корней в пределах заданной точности совпадают,
корень 1.3181160716.
Задача 2
нелинейный уравнение бисекция итерация
Локализовать все корни уравнения . Найти их с точностью , используя метод Ньютона и метод простых итераций. Сравнить скорость сходимости методов (по числу итераций).
=
Метод Ньютона:
Расчетная формула метода Ньютона имеет вид:
Геометрически метод Ньютона означает, что следующее приближение к корню есть точка пересечения с осью ОХ касательной, проведенной к графику функции y=f(x) в точке .
Критерий окончания итерационного процесса. При заданной точности е>0 вычисления следует вести до тех пор пока не окажется выполненным неравенство .
Решение:
=
Отрезки локализации:
[-2,-1], начальное приближение -1
[0,1], начальное приближение 0
[6.8,8], начальное приближение 6.8
Исходные данные |
Выходные данные |
||
-1 |
0.00000001 |
x[7]=-1.59785393605423 |
|
0 |
0.00000001 |
x[4]=0.117860645046202 |
|
6.8 |
0.00000001 |
x[4]=7.07999329100802 |
Паскаль-программа реализации метода Ньютона:
Program matmod22newton;
var x:array[0..1000] of real;
n:integer;
eps:real;
f1,f2:text;
Begin
assign(f1,'исходные данные.txt');
assign(f2,'выходные данные.txt');
reset(f1);
rewrite(f2);
read(f1,x[0],eps);
n:=1;
x[n]:=x[n-1]-(1.5*sqr(x[n-1])*x[n-1]-8.4*sqr(x[n-1])-16*x[n-1]+2)/(4.5*sqr(x[n-1])-16.8*x[n-1]-16);
while abs(x[n]-x[n-1])>eps do
begin
n:=n+1;
x[n]:=x[n-1]-(1.5*sqr(x[n-1])*x[n-1]-8.4*sqr(x[n-1])-16*x[n-1]+2)/(4.5*sqr(x[n-1])-16.8*x[n-1]-16);
end;
writeln(f2,'x[',n,']=',x[n]);
close(f1);
close(f2);
End.
Метод простых итераций:
Метод простой итерации (метод последовательных повторений). Для применения метода простой итерации следует исходное уравнение преобразовать к виду, удобному для итерации . Это преобразование можно выполнить различными способами. Функция называется итерационной функцией. Расчетная формула метода простой итерации имеет вид:
.
Критерий окончания итерационного процесса. При заданной точности >0 вычисления следует вести до тех пор, пока не окажется выполненным неравенство
.
Способ, при котором выполнено условие сходимости метода простой итерации, состоит в следующем: исходное уравнение приводится к виду
.
Предположим дополнительно, что производная знакопостоянна и на отрезке [a,b].
- оптимальное значение параметра б.
Где m1 - минимальное значение ,
M2 - максимальное на отрезке [a,b].
Решение:
=
Отрезки локализации:
[-2,-1], начальное приближение -1
[0,1], начальное приближение 0
[6.8,8], начальное приближение 6.8
Исходные данные |
Выходные данные |
||||
a |
b |
Приближение |
точность |
||
-2 |
-1 |
-1 |
0.00000001 |
x[10]=-1.59785393665885 max=35.6 min=5.3 q= 0.740831295843521 |
|
0 |
1 |
0 |
0.00000001 |
x[11]=0.117860643141106 max=-16 min=-28.3 q=0.27765237020316 |
|
6.8 |
8 |
6.8 |
0.00000001 |
x[11]=7.07999329032419 max=137.6 min=77.84 q=0.277385815076123 |
Паскаль-программа реализации метода простых итераций:
Program matmod22prost_iter;
var x:array[0..1000] of real;
n,i:integer;
eps,alpha,a,b,q,max,min:real;
f1,f2:text;
procedure alph(a,b:real;var q,max,min,alpha:real);
var dfa,dfb:real;
begin
dfa:=4.5*sqr(a)-16.8*a-16;
dfb:=4.5*sqr(b)-16.8*b-16;
if dfa>dfb then
begin
max:=dfa;
min:=dfb
end
else
if dfb>dfa then
begin
max:=dfb;
min:=dfa
end;
alpha:=2/(Max+min);
q:=(abs(max-min))/(abs(max+min));
writeln(f2,'max=',max,' min=',min)
End;
Procedure func(alpha,x0,q,eps:real;var x:array[0..1000] of real;var n:integer);
Begin
n:=1;
x[1]:=x0-alpha*(1.5*sqr(x0)*x0-8.4*sqr(x0)-16*x0+2);
if q<=0.5 then
begin
writeln(f2,'q=',q,' используем упрощенный критерий');
while abs(x[n]-x[n-1])>eps do
begin
n:=n+1;
x[n]:=x[n-1]-alpha*(1.5*sqr(x[n-1])*x[n-1]-8.4*sqr(x[n-1])-16*x[n-1]+2);
end
end
else
begin
writeln(f2,'q=',q,' используем полный критерий');
while abs(x[n]-x[n-1])>(1-q)*eps/q do
begin
n:=n+1;
x[n]:=x[n-1]-alpha*(1.5*sqr(x[n-1])*x[n-1]-8.4*sqr(x[n-1])-16*x[n-1]+2)
end
end
End;
Begin
assign(f1,'isdanpi.txt');
assign(f2,'vdanpi.txt');
reset(f1);
rewrite(f2);
read(f1,a,b,x[0],eps);
alph(a,b,q,max,min,alpha);
func(alpha,x[0],q,eps,x,n);
for i:=0 to n do
writeln(f2,'x[',i,']=',x[i]);
close(f1);
close(f2);
End.
Ответы:
Метод простой итерации
x1=7.07999329
x2=0.11786064
x3=-1.59785393
Метод Ньютона
x1=7.07999329
x2=0.11786064
x3=-1.59785393
Выводы
Метод Ньютона сходится быстрее, так как число итераций, совершенных для нахождения первого корня - 7, второго - 4, третьего - 4. А число итераций в методе простых итераций, совершенных для нахождения первого корня - 9, второго - 11, третьего - 11.
Чтобы наиболее быстро получить решение уравнения, необходимо указывать начальное приближение наиболее близкое к корню. Также на количество итераций влияет и длина отрезка локализации - чем он короче, тем быстрее будет получен корень уравнения.
Размещено на Allbest.ru
Подобные документы
Решение нелинейных уравнений. Отделения корней уравнения графически. Метод хорд и Ньютона. Система линейных уравнений, прямые и итерационные методы решения. Нормы векторов и матриц. Метод простых итераций, его модификация. Понятие про критерий Сильвестра.
курсовая работа [911,6 K], добавлен 15.08.2012Модифицированный метод Ньютона. Общие замечания о сходимости процесса. Метод простой итерации. Приближенное решение систем нелинейных уравнений различными методами. Быстрота сходимости процесса. Существование корней системы и сходимость процесса Ньютона.
дипломная работа [1,8 M], добавлен 14.09.2015Решение нелинейных уравнений методом касательных (Ньютона), особенности и этапы данного процесса. Механизм интерполирования функции и численное интегрирование. Приближенное решение обыкновенных дифференциальных уравнений первого порядка методом Эйлера.
курсовая работа [508,1 K], добавлен 16.12.2015Формирование системы их пяти уравнений по заданным параметрам, ее решение методом Гаусса с выбором главного элемента. Интерполяционный многочлен Ньютона. Численное интегрирование. Решение нелинейных уравнений. Метод Рунге-Кутта четвертого порядка.
контрольная работа [115,5 K], добавлен 27.05.2013Исследование сущности и сфер применения метода итераций. Нелинейные уравнения. Разработка вычислительный алгоритм метода итераций. Геометрический смысл. Составление программы решения систем нелинейных уравнений методом итераций в среде Turbo Pascal.
реферат [183,7 K], добавлен 11.04.2014Решение задач вычислительными методами. Решение нелинейных уравнений, систем линейных алгебраических уравнений (метод исключения Гаусса, простой итерации Якоби, метод Зейделя). Приближение функций. Численное интегрирование функций одной переменной.
учебное пособие [581,1 K], добавлен 08.02.2010Сущность и графическое представление методов решения нелинейных уравнений вида F(x)=0. Особенности метода хорд, бисекции, простой итерации, касательных и секущих. Проверка результатов с помощью встроенных функций и оценка точности полученных значений.
контрольная работа [316,1 K], добавлен 09.11.2010Геометрическая интерпретация методов Ньютона, итерации и спуска. Определение корня уравнения с заданной степенью точности. Решение систем нелинейных алгебраических уравнений. Нахождение эквивалентного преобразования для выполнения условия сходимости.
курсовая работа [371,6 K], добавлен 14.01.2015Методы хорд и итераций, правило Ньютона. Интерполяционные формулы Лагранжа, Ньютона и Эрмита. Точечное квадратичное аппроксимирование функции. Численное дифференцирование и интегрирование. Численное решение обыкновенных дифференциальных уравнений.
курс лекций [871,5 K], добавлен 11.02.2012Сравнение методов простой итерации и Ньютона для решения систем нелинейных уравнений по числу итераций, времени сходимости в зависимости от выбора начального приближения к решению и допустимой ошибки. Описание программного обеспечения и тестовых задач.
курсовая работа [3,1 M], добавлен 26.02.2011