Пятница, 03.05.2024, 05:01
Приветствую Вас Гость | RSS | PDA

Всё для студента информата

Полезная информация

Статьи IT

Всё для студента IT » Статьи » Алгоритмы

Пример решения системы нелинейных уравнений методом Ньютона

Решить систему уравнений Ситема уравнений с точностью e=0.0001 методом Ньютона.

Отделим корни системы уравнений – графически (MathCad).

Отделим корни системы уравнений – графически

Из данного графика можно выбрать начальные приближения: x0=0.5, y0=-0.2.

Выполним программу:

uses crt;
const n=2;
 e=0.0001;
type Mas2=array[1..n,1..n] of real;
 Mas1=array[1..n] of real;
var i,j,k:integer;
 q0,q:mas1;
 w:mas2;
procedure Gaus(A:mas2;B:mas1;var x:mas1);
var i,j,k:integer;
 m,s:real;
 begin
 for k:=1 to n-1 do
 begin
 for i:=k+1 to n do
 begin
 m:=a[i,k]/a[k,k];
 a[i,k]:=0;
 for j:=k+1 to n do a[i,j]:=a[i,j]-m*a[k,j];
 b[i]:=b[i]-m*b[k];
 end;
 end;
 x[n]:=b[n]/a[n,n];
 for i:=n-1 downto 1 do
 begin
 s:=0;
 for j:=i+1 to n do s:=s+a[i,j]*x[j];
 x[i]:=(b[i]-s)/a[i,i];
 end;
 end;
procedure II(a1:mas1;var b:mas2);
var q,q1:mas1;
 a:mas2;
 i,j:integer;
 op:real;
 begin
 a[1,1]:=cos(a1[1]+1);
 a[1,2]:=-1;
 a[2,1]:=2;
 a[2,2]:=-sin(a1[2]);
 q[1]:=1;
 q[2]:=0;
 gaus(a,q,q1);
 b[1,1]:=q1[1];
 b[2,1]:=q1[2];
 q1[1]:=0; q1[2]:=0;
 q[1]:=0;
 q[2]:=1;
 gaus(a,q,q1);
 b[1,2]:=q1[1];
 b[2,2]:=q1[2];
 end;
function f(x:mas1;p:byte):real;
 begin
 case p of
 1:f:=sin(x[1]+1)-x[2]-1.2;
 2:f:=2*x[1]+cos(x[2])-2;
 end;
 end;
function stop:boolean;
var i:byte;
 begin
 for i:=1 to n do stop:=abs(q[i]-q0[i]) < e
 end;
var r:real;
begin
 clrscr;
 q0[1]:=0.5;q0[2]:=-0.2;
 repeat
 II(q0,w);
 q[1]:=q0[1]-w[2,2]*f(q0,1)-w[1,2]*f(q0,2);
 q[2]:=q0[2]-w[2,1]*f(q0,1)-w[1,1]*f(q0,2);
 q0:=q;
 until (stop=true);
 for i:=1 to n do writeln(q[i]:5:9);
 readkey;
end.

В результате работы программы получилось одно решение: x=0.509985148, y=-0.200521271.

Похожие статьи:

Не нашли то, что Вам нужно?.. Найдите ответ на форуме!
Категория: Алгоритмы | Добавил: Akron (09.05.2011)
Просмотров: 6019 | Теги: ньютон, пример алгоритма
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Сообщество
Помощь
Форма входа
Поиск

Студенческий помощник по информатике © 2024
При цитировании материалов данного сайта, обязательна ссылка на источник: ITstudents.ru



>