REŠEVANJE SISTEMA ENAČB S PROGRAMOM MATLAB

 

Kot primer vzemimo izpitno nalogo 31.5.2005:

Rešitev:

 

Rešimo sedaj sistem enačb, ki je zapisan v matrični obliki. V Matlabu to lahko naredimo na več načinov:

1. Matrično enačbo zapišemo v obliki A.x=b, kjer je A matrika, ki jo v Matlabu zapišemo v naslednji obliki:

A=[35,-15,0;-15,40,-20;0,-20,50]
 

Če to zapišemo v ukazni vrstici Matlaba, je rezultat ob pritisku tipke Enter:

A =

35 -15 0
-15 40 -20
0 -20 50
 

Zapišemo še vektor b (znane vrednosti na desni strani enačbe):

b=[10;-10;20]
 

Matlab "odgovori":

b =

10
-10
20
 

Opozarjam na pomen uporabe podpičja pri zapisu vektorja b. Za pravilno uporabo enačb potrebujemo vektor v obliki stolpca in ne vrstice.

Rešitev dobimo z uporabo ukaza

x=A\b

in dobimo

x =

0.3240
0.0894
0.4358
 

Kaj to pomeni?     x(1)=J1=0.324 A, x(2)=J2=0,0894 A in x(3)=0,4385 A.

 

2. Podoben način je ta, da izračunamo inverzno matriko matrike A in jo pomnožimo z vektorjem b. To naredimo s sledečim ukazom:

x=inv(A)*b

Rezultat je

x =

0.3240
0.0894
0.4358
torej enako kot v prejšnjem primeru.

 

3. Sistem enačb rešimo z determinantami. Rešitev x(1) je enaka kvocientu poddeterminante A1 in determinante matrike A. Poddeterminanto A1 dobimo tako, da prvi stolpec matrike A zamenjamo z vektorjem b. Determinante izračunamo z uporabo ukaza det:

det(A)

ans =

44750

Rezultat je 44750. Sedaj tvorimo matriko A1

A1=[10,-15,0;-10,40,-20;20,-20,50]

dobimo

A1 =

10 -15 0
-10 40 -20
20 -20 50

det(A1)

Rezultat je 14500. Sedaj naredimo le še kvocient:

x1=det(A1)/det(A)

Rezultat je 0,3240, enak kot za x(1) v prvem primeru reševanja.

Drugi dve rešitvi dobimo kot x1=det(A2)/det(A) in x3=det(A3)/det(A).

Kako dobimo A2 in A3? A2 dobimo tako, da v matriki A zamenjamo drugi stolpec z vektorjem b. Itd.

 

 

 

Sestavil: D. Križaj