Gnu Octave. Тескери матрицаны табуу. 21.03.2014

Gnu Octave
Программаны 2 турдо туздум, easy жана hard деп комментарий жасадым. Тилеке каршы функцияны 1чи жазайн десем катачылыктар чыгып жатты ошондуктан функцияларды кандай дыр бир амалдарды кылгандан кийин жаздым. easy коментарийден кийин Octave системасынын ички тескери матрицаны табуучу функциясын иштеттим. hard коментарийден кийин озумдун программам башталат. determinant функциясы учунчу тартиптеги аныктагычты эсептейт. too_determinant функциясы 2чи тартиптеги аныктагычты эсептейт. Minor функциясы формуладагы белгисиздегилерди табат. Чыккан жооб толук болуш учун ар бир элементтерди аныктагычтын маанисине болуп чыгабыз, биздин учурда аныктагыч 5-ке барабар
Тескери матрицага маселе

Жообу томондогудой чыгат

>A =

3 2 2
1 3 1
5 3 4

ans =

1.80000 -0.40000 -0.80000
0.20000 0.40000 -0.20000
-2.40000 0.20000 1.40000

d = 5

A_1 =
9 -2 -4
1 2 -1
-12 1 7

%Gnu Octave

%easy
A = [3,2,2; 1,3,1; 5,3,4;]
A^(-1)

%hard

function d=determinant(a11,a12,a13,a21,a22,a23,a31,a32,a33)

d = a11*a22*a33+a12*a23*a31+a13*a21*a32;
d = d-a13*a22*a31-a12*a21*a33-a11*a23*a32;

endfunction

function d=too_determinant(a11,a12,a21,a22)

d = a11*a22-a21*a12;

endfunction


function [A11,A21,A31, A12,A22,A32, A13,A23,A33]=Minor(a11,a12,a13,a21,a22,a23,a31,a32,a33)

A11 = too_determinant(a22,a23,a32,a33);
A21 = -1*too_determinant(a12,a13,a32,a33);
A31 = too_determinant(a12,a13,a22,a23);

A12 = -1*too_determinant(a21,a23,a31,a33);
A22 = too_determinant(a11,a13,a31,a33);
A32 = -1*too_determinant(a11,a13,a21,a23);

A13 = too_determinant(a21,a22,a31,a32);
A23 = -1*too_determinant(a11,a12,a31,a32);
A33 = too_determinant(a11,a12,a21,a22);

endfunction

d = determinant(3,2,2, 1,3,1, 5,3,4)

if d!=0
Minor(3,2,2, 1,3,1, 5,3,4);
A_1 = [A11,A21,A31; A12,A22,A32; A13,A23,A33]
end;
comments powered by Disqus