Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % W ramach pakietu octave napisz skrypt obliczajacy nastepujace dzialania na macierach
- % A*B
- % A^T * B^T
- % X gdy A * B * X = Y
- %
- %
- A = [ 2,3,9,2,9;
- 2,5,2,1,1;
- 6,1,8,3,1];
- B = [ 6,7,7;
- 9,2,3;
- 2,5,1;
- 6,0,7;
- 0,3,2];
- Y = [ 440;
- 427;
- 372];
- F = zeros(3,3)
- [l_kA,l_wA] = size(A);
- [l_kB,l_wB] = size(B);
- if(l_wA==l_kB)
- for i=1:3
- for j=1:3
- F(i,j)=A(i,1)*B(1,j)+A(i,2)*B(2,j)+A(i,3)*B(3,j)+A(i,4)*B(4,j)+A(i,5)*B(5,j)
- endfor
- endfor
- disp("WYNIK\n");
- disp(F);
- disp("POPRAWNY\n");
- disp(A*B);
- else
- disp("nie mozna wymnozyc macierzy");
- end
- C = zeros(l_wA,l_kA);
- for i=1:l_wA
- for j=1:l_kA
- C(i,j)=A(j,i);
- end
- end
- disp("Poprawne\n");
- disp(A.');
- disp("obliczone\n");
- disp(C);
- % X = F^-1 * Y
- [lwF,lkF] = size(F)
- if(det(F)!=0)
- MF = zeros(lwF-1,lkF-1)
- for i=1:lwF
- for j=1:lkF
- w=1;
- for p=1:lwF
- if p!=i
- k=1;
- for t=1:lkF
- if t!=j
- MA(w,k) = F(p,t);
- k = k + 1;
- end
- end
- w = w + 1;
- end
- end
- D(i,j) = MA(1,1)*MA(2,2)-MA(2,1)*MA(1,2);
- D(i,j) = D(i,j)*(-1)^(i+j);
- end
- end
- disp(D);
- for i=1:lwF
- for j=1:lkF
- DT(j,i)=D(i,j);
- end
- end
- F_odt = (1/det(F))*DT;
- disp(F_odt);
- disp("\n");
- disp(inv(F));
- else
- disp("nie mozna");
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement