Användning av MatLab för ekvationslösning
Sune Söderkvist, sune@isy.liu.se, augusti 1999
Detta dokument finns också som PDF-dokument.
MatLab är ett interaktivt program för numerisk beräkning,
signalanalys och grafritning;
allmänt använt inom såväl högskola som industri.
Hela konceptet i MatLab bygger på matrishantering.
- Starta MatLab.
- Inmatning av matriser i MatLab:
Skriv: A=[a b c;d e f;g h k] <return>
Resultat:
OBS!
- Mellanslag mellan varje koefficient i en rad, t.ex. a b c.
- Varje rad i matrisen åtföljs av semikolon (;) eller med <return>.
Det senare kan vara att föredra vid stora matriser.
- Hakparenteser omger hela uttrycket.
- Koefficienterna a,b,c etc. får vara reella eller komplexa.
OBS!
Vid långa rader kan raden brytas och inmatningen fortsättas direkt på nästa rad
genom att vid slutet av aktuell rad göra ett mellanslag
följt av tre punkter (...) och <return>. - Vid inmatning av komplexa koefficienter
kan såväl i som j användas som beteckning för den komplexa enheten.
Observera dock att MatLab alltid svarar med i. - Komplexa koefficienter
inmatas
som a+j*b respektive A*exp(j*
), eller
som a+i*b respektive A*exp(i*
).
OBS!
- Multiplikationstecknet * måste alltid skrivas ut.
Undantag: Om j multipliceras med ett tal där talet står först.
T.ex. a=3+2j (* behövs ej) men 3+j*2 (* måste skrivas ut). - b*j uppfattas på samma sätt som j*b av MatLab.
- Lösningen till ekvationssystemet
där A är en
-matris
och där x och B är
-matriser (vektorer)
kan enligt appendix A i läroboken (S. Söderkvist: Kretsteori & Elektronik)
bestämmas som
där
är inversmatrisen till A.
(Fungerar även när matrisen har komplexa koefficienter.)
I MatLab utföres denna operation med kommandot \ (backslash).
Ex. Lös ekvationsnystemet
Lösning:
Skriv
A=[1 2 3+4j;4 5 6*exp(j*pi/2);7 8 sqrt(9)]; <return>
B=[10+5j;11*exp(j*pi);12+exp(j*pi/3)]; <return>
x=A\B <return>
MatLab svarar då
x =
-23.4283 +17.0951i
21.2370 -16.3169i
2.2007 + 3.9120i
Dvs.
OBS!
- Semikolon innan <return> innebär
att resultatet av aktuell operation ej skrivs ut på datorns skärm.
- Konstanten
finns fördefinierad i MatLab och kallas pi. - MatLab använder decimalpunkt.
- Vid inmatning av t.ex. koefficienten (3+4j) i matrisen
får ej mellanslag förekomma före eller efter plustecknet,
eftersom ett mellanslag skiljer två olika koefficienter från varandra.
Kommentar:
Ekvationssystemet kan alternativt lösas med kommandosekvensen inv(A)*B,
där kommandot inv beräknar inversmatrisen
.
Denna metod bör dock undvikas i MatLab
eftersom dålig noggrannhet erhålls om matrisen A är nära singulär.
A\B ger bättre noggrannhet.