Sunteți pe pagina 1din 5

Laboratorul 7

Ex. 1 – Inversa unei matrice

A=[1 2 3;2 4 2;1 1 1];


T=totbl(A);
T=ljx(T,1,1);%deoarece am obtinut pe diagonala principala 0, nu putem folosi
in continuare T=ljx(T,2,2)
T=ljx(T,1,3);
T=ljx(T,3,1);
T=ljx(T,2,2);
%permutarile I si J
I=[3 2 1];
J=[3 2 1];
%inversa
invA(I,J)=T.val
inv(A) %pentru verificare, functia predefinita
Ex 2 – Rezolvarea sistemului 2-4-2
A=[1 1 1;1 -1 -1;1 -1 1];
b=[1;1;3];
T=totbl(A,b);
T=ljx(T,1,1);
T=delcol(T,'y1');
T=ljx(T,2,1);
T=delcol(T,'y2');
T=ljx(T,3,1);
T=delcol(T,'y3')
Ex 3 – Rezolvarea sistemului 2-4-6
A=[2 -1 1 1;-1 2 -1 -2;4 1 1 -1];
b=[1;1;5];
T=totbl(A,b);
T=ljx(T,2,1);
T=ljx(T,3,2);
Deoarece ultima coloana a sistemului contine 0 si exista dependenta
intre xi si yi, observam ca sistemul are o infinitate de solutii. Prin
urmare, solutiile vor fi de forma:

Intelegerea codului delcol.m


function H = delcol(H,s)
% syntax: H = delcol(H,s);
% delete col numbered s (or labeled s) of the tableau H

if nargin ~= 2 %daca numarul de argumente este mai mic decat 2, ese necesar
sa apara un mesaj de atentionare
error('must have 2 arguments');
end

if ischar(s) %daca s este un string


s = strmatch(s,H.nonbas,'exact');%testam daca exista o potrivire exacta
intre s si H.nonbas
if isempty(s)%daca nu este gasita nicio potrivire, returneaza un mesaj
error('no label matches this');
end
end
H.val(:,s) = [];%eliminarea valorilor de pe coloana s
H.nonbas(s) = [];%eliminarea stringurilor de la pozitia s
if isfield(H,'dualbas')%verificam daca 'dualbas' se gaseste in structura lui
H
H.dualbas(s) = [];%il eliminam de la pozitia s
end

tbl(H);%afisam noul tabel

return;