![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 23.11.2011
Сообщений: 5
|
![]()
Помогите дописать программу - нужно чтоб выводило собственные значения , матрицу Фробениуса и собственные вектроры программа находит.
Код HTML:
const m=4; n=4; var a,b,c,m3,mm3,m2,h,mm2,d,m1,g,mm1,p,q,w,y1,y2,y3,y4,z1,z2,z3,z4:array [1..n,1..m] of real; i,j,k:integer; x1,x2,x3,x4:real; begin a[1,1]:=2; a[1,2]:=1.7; a[1,3]:=1.6; a[1,4]:=4.5; a[2,1]:=1.7; a[2,2]:=2; a[2,3]:=2; a[2,4]:=3.5; a[3,1]:=1.6; a[3,2]:=2; a[3,3]:=1; a[3,4]:=1.5; a[4,1]:=4.5; a[4,2]:=3.5; a[4,3]:=1.5; a[4,4]:=1; m3[1,1]:=1; m3[1,2]:=0; m3[1,3]:=0; m3[1,4]:=0; m3[2,1]:=0; m3[2,2]:=1; m3[2,3]:=0; m3[2,4]:=0; m3[3,1]:=-a[4,1]/a[4,3]; m3[3,2]:=-a[4,2]/a[4,3]; m3[3,3]:=1/a[4,3]; m3[3,4]:=-a[4,4]/a[4,3]; m3[4,1]:=0; m3[4,2]:=0; m3[4,3]:=0; m3[4,4]:=1; for i:=1 to m do for j:=1 to n do begin b[i,j]:=0; for k:=1 to n do b[i,j]:=b[i,j]+a[i,k]*m3[k,j]; end; for i:=1 to m do for j:=1 to n do begin if i=j then mm3[i,j]:=1; if i<>j then mm3[i,j]:=0; end; for j:=1 to n do mm3[3,j]:=a[4,j]; for i:=1 to m do for j:=1 to n do begin c[i,j]:=0; for k:=1 to n do c[i,j]:=c[i,j]+mm3[i,k]*b[k,j]; end; m2[1,1]:=1; m2[1,2]:=0; m2[1,3]:=0; m2[1,4]:=0; m2[2,1]:=-c[3,1]/c[3,2]; m2[2,2]:=1/c[3,2]; m2[2,3]:=-c[3,3]/c[3,2]; m2[2,4]:=-c[3,4]/c[3,2]; m2[3,1]:=0; m2[3,2]:=0; m2[3,3]:=1; m2[3,4]:=0; m2[4,1]:=0; m2[4,2]:=0; m2[4,3]:=0; m2[4,4]:=1; for i:=1 to m do for j:=1 to n do begin h[i,j]:=0; for k:=1 to n do h[i,j]:=h[i,j]+c[i,k]*m2[k,j]; end; for i:=1 to m do for j:=1 to n do begin if i=j then mm2[i,j]:=1; if i<>j then mm2[i,j]:=0; end; for j:=1 to n do mm2[2,j]:=c[3,j]; for i:=1 to m do for j:=1 to n do begin d[i,j]:=0; for k:=1 to n do d[i,j]:=d[i,j]+mm2[i,k]*h[k,j]; end; m1[1,1]:=1/d[2,1]; m1[1,2]:=-d[2,2]/d[2,1]; m1[1,3]:=-d[2,3]/d[2,1]; m1[1,4]:=-d[2,4]/d[2,1]; m1[2,1]:=0; m1[2,2]:=1; m1[2,3]:=0; m1[2,4]:=0; m1[3,1]:=0; m1[3,2]:=0; m1[3,3]:=1; m1[3,4]:=0; m1[4,1]:=0; m1[4,2]:=0; m1[4,3]:=0; m1[4,4]:=1; for i:=1 to m do for j:=1 to n do begin g[i,j]:=0; for k:=1 to n do g[i,j]:=g[i,j]+d[i,k]*m1[k,j]; end; for i:=1 to m do for j:=1 to n do begin if i=j then mm1[i,j]:=1; if i<>j then mm1[i,j]:=0; end; for j:=1 to n do mm1[1,j]:=d[2,j]; for i:=1 to m do for j:=1 to n do begin p[i,j]:=0; for k:=1 to n do p[i,j]:=p[i,j]+mm1[i,k]*g[k,j]; end; writeln('Ìàòðèöà Â= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(b[i,j]:9:8 ,' '); end; writeln; writeln('Ìàòðèöà C= '); for i:=1 to m do {vivod obratnogo xoda begin writeln; for j:=1 to n do write(c[i,j]:9:8 ,' '); end; writeln; writeln('Ìàòðèöà D= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(d[i,j]:9:8 ,' '); end; writeln; writeln('Ìàòðèöà H= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(h[i,j]:9:8 ,' '); end; writeln; writeln('Ìàòðèöà G= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(g[i,j]:9:8 ,' '); end; writeln; writeln('Ìàòðèöà m3= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(m3[i,j]:9:8 ,' '); end; writeln; writeln('Ìàòðèöà m2= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(m2[i,j]:9:8 ,' '); end; writeln; writeln('Ìàòðèöà m1= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(m1[i,j]:9:8 ,' '); end; writeln; {íàõîäèì ìàòðèöó Ì3*ì2*ì1} for i:=1 to m do for j:=1 to n do begin q[i,j]:=0; for k:=1 to n do q[i,j]:=q[i,j]+m3[i,k]*m2[k,j]; end; writeln('Ìàòðèöà q= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(q[i,j]:9:8 ,' '); end; writeln; for i:=1 to m do for j:=1 to n do begin w[i,j]:=0; for k:=1 to n do w[i,j]:=w[i,j]+q[i,k]*m1[k,j]; end; writeln('Ìàòðèöà w= '); for i:=1 to m do {vivod obratnogo xoda} begin writeln; for j:=1 to n do write(w[i,j]:9:8 ,' '); end; writeln; |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
собственные значения по методу Данилевского | ddlovato | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 24.04.2012 17:31 |
Метод Данилевского | joks | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 21.05.2011 13:30 |
Собственные векторы и собственные значения в EXCEL | Boro85 | Microsoft Office Excel | 1 | 11.02.2010 20:58 |
собственные функции | ShadowCat | Помощь студентам | 4 | 23.10.2009 08:55 |
собственные типы | ha4apyri | Помощь студентам | 3 | 13.10.2009 20:31 |