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

Информация - Математика и статистика

Другие материалы по предмету Математика и статистика

247>2-0.657 -0.7940.058 0.062-1.48 0.12 -1.314 -1.588-0.633 -0.048 0.524 -0.59-0.617 -0.7880.040>3-0.617 -0.788-0.0000597 0.011-1.441 0.159 -1.234 -1.588-0.639 -0.064 0.497 -0.58-0.616 -0.7880.001=4-0.616 -0.7880.000522 0.0004-1.434 0.166 -1.232 -1.576-0.639 -0.067 0.5 -0.582-0.616 -0.7880<

Ответ:

нелинейное уравнение решение ньютон

5. Реализация метода Ньютона в среде MATLAB

 

М-функция.

function nwt = newton(x,y,e,F0,F1,dF0x,dF0y,dF1x,dF1y)

for i = 1:1000000=[F0(x,y); F1(x,y)];=[dF0x(x,y) dF0y(x,y); dF1x(x,y) dF1y(x,y)];= [x;y] - dF^(-1)*F;= sqrt((x-Z(1))^2+(y-Z(2))^2);b > e= Z(1);= Z(2);break;('Количество итераций'); disp(i);

nwt = Z;

Функция в качестве входных параметров принимает начальное приближение (), функцию (), частные производные функции и точность e.

Пятая строка находит новую точку приближения. Шестая строка вычисляет норму между текущим и следующим приближением. Строки восемь и девять запоминают точку начального приближения.

Процесс нужно продолжать до тех пор пока . Если , процесс завершить и получим решение .

Теперь напишем скрипт который покажет работу нашей М-функции.

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

 

 

при начальном приближении x=0, y=-1, с точностью до 0.001:

Скрипт.

% Решить систему уравненийу методом Ньютона

% sin(x+y)-1.6x

% x^2+y^2-1

% Введём функцию F(x)(систему функций)= inline('sin(x+y)-1.6*x');

F1 = inline('x^2+y^2-1');

disp(F0); disp(F1);

% Их производны

dF0x = inline('cos(x+y)-1.6');y = inline('cos(x+y)');x = inline('2*x+0*y');y = inline('0*x+2*y');(dF0x); disp(dF0y);(dF1x); disp(dF1y);

% Начальное приближение=0; y=-1; e=0.000000001;

% Значение функций= newton(x,y,e,F0,F1,dF0x,dF0y,dF1x,dF1y);('Решение системы');(root);

После выполнения программы получим следующее:

>>function:(x,y) = sin(x+y)-1.6*xfunction:(x,y) = x^2+y^2-1function:x(x,y) = cos(x+y)-1.6function:y(x,y) = cos(x+y)function:x(x,y) = 2*x+0*yfunction:y(x,y) = 0*x+2*y

Количество итераций

 

Решение системы

.6163

.7875

Полученное решение совпадает с рассчитанным.

 

Список используемой литературы

 

1.Н. Бахвалов, Н. Жидков, Г. Кобельков. Численные методы. М., 2002, 632 с.

2.Н. Калиткин. Численные методы. М., 1972,

.А. Самарский. Введение в численные методы. М., , 270с.

.М. Лапчик, М. Рагулина, Е. Хеннер. Численные методы. М., 2004, 384с.

.В. Потемкин. Система MATLAB. Справочное пособие. М., 1997, 350с.

.Е. Алексеев, О. Чеснокова. MATLAB 7. М., 2006, 464с.