Смекни!
smekni.com

Стійкість системи лінійних алгебраїчних рівнянь (стр. 2 из 2)

= 4 6 -1 * 24 28 -3 = 124 132 -7

4 4 1 24 24 1 124 124 1

Звідси

=1+6+1=8;

=1+28+1=30;

=1+132+1=134

Відповідно до формул (8) маємо

=8

1/2(30-8*8)=-17

1/3(134-8*30-17*8)=10

Згідно методу дістанемо


Текст програми

program leverie;

uses wincrt;

type matr=array[1..10,1..10] of real;

mas=array[1..10] of real;

var n,i,j,k,l,g,v:integer;

p,s:mas;

a,b,c:matr;

stiykist:real;

procedure mnogmatr(a,b:matr;n:integer; var c:matr);

begin

for i:=1 to n do

for j:=1 to n do

c[i,j]:=0;

for k:=1 to n do

for i:=1 to n do

for j:=1 to n do

begin

c[k,i]:= c[k,i]+a[j,i]*b[k,j];

end;

end;

begin

writeln('vvedit rozmirnict matrici n=');

readln(n);

writeln('vvedit koeficienti matrici');

for i:=1 to n do

for j:=1 to n do

begin

write('a[',i,',',j,']=');

readln(a[i,j]);

end;

for i:=1 to n do

for j:=1 to n do

c[i,j]:=a[i,j];

for i:=1 to n do

s[1]:=s[1]+a[i,i];

p[1]:=s[1];

for l:=2 to n do

begin

for i:=1 to n do

for j:=1 to n do

b[i,j]:=c[i,j];

mnogmatr(a,b,n,c);

for j:=1 to n do

s[l]:=s[l]+c[j,j];

for k:=1 to l do

p[l]:=p[l]-p[k]*s[l-k];

p[l]:=(s[l]+p[l])/l;

end;

writeln('haracteristichniy mnogochlen');

g:=n; v:=0;

repeat

write(p[g]:2:3,'*l^',v,'+');

g:=g-1; v:=v+1;

until g=0;

writeln('-l^',v,'=0');

for i:=1 to n do

stiykist:=stiykist+abs(p[i]);

if stiykist>1 then writeln('sistema ne stiyka') else writeln('sistema stiyka');

end.


Приклад

Перевірити на стійкість систему Аx=B


-0.77 -0.44 0.21 -0.18

-1,24

А= 0.45 1.23 0.06 0 x=

В = 0,88

0.26 0.34 -1.11 0

-0,64

0.05 -0.26 0.34 -1.12

1,17

За допомогою програми будуємо характеристичний многочлен, за яким ця ж програма визначає стійкість системи характеристичний многочлен –

l4 + 1.77l3 - 0.598l2 - 2.306l - 0.949 = 0.


Список літератури

1. Я.М. Григоренко, Н.Д. Панкратова «Обчислювальні методи» 1995р.

2. В.Д. Гетмнцев «Лінійна алгебра і лінійне програмування» 2001р.

3. Д. Мак-Кракен, У. Дорн «Программирование на ФОРТРАНЕ» 1997г