Løse ligninger med rref i MATLAB - kan det gå galt?

Her kan du stille spørsmål vedrørende problemer og oppgaver i matematikk på høyskolenivå. Alle som har kunnskapen er velkommen med et svar. Men, ikke forvent at admin i matematikk.net er spesielt aktive her.

Moderatorer: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

Svar
Flabbrø
Cayley
Cayley
Innlegg: 52
Registrert: 22/04-2013 19:00

Anta at jeg skal løse følgende ligningssystem (størrelsen kan i praksis være en annen):
[tex]\begin{bmatrix}{a_0}^2&{a_0}^1&{a_0}^3\\ {a_1}^2&{a_1}^1&{a_1}^3\\ {a_2}^2&{a_2}^1&{a_2}^3\\ \end{bmatrix} \mathbf{x} = \begin{bmatrix}b_0\\ b_1 \\ b_2 \end{bmatrix}[/tex]
Og at jeg gjør dette i MATLAB ved å radredusere den utvidede matrisen
[tex]\begin{bmatrix}{a_0}^2&{a_0}^1&{a_0}^3 & {b_0}\\ {a_1}^2&{a_1}^1&{a_1}^3&b_1\\ {a_2}^2&{a_2}^1&{a_2}^3&b_2\\ \end{bmatrix}[/tex]
med kommandoen rref.

Hvor stor lit kan jeg feste til svaret? Risikerer jeg at det ødelegges av avrundingsfeil? Er det en annen måte jeg burde gå fram for å løse ligningene?
Gommle
Grothendieck
Grothendieck
Innlegg: 857
Registrert: 21/05-2007 20:05

I MATLAB burde du generelt bruke \-operatoren.

F.eks.

[tex]A\pmb u = \pmb b \ \Leftrightarrow \ \pmb u = A^{-1}\pmb b[/tex]

Some i MATLAB blir

Kode: Velg alt

u = A\b
Om det er en skikkelig svær matrise burde du ta en kikk på sparse-matriser og linsolve
Flabbrø
Cayley
Cayley
Innlegg: 52
Registrert: 22/04-2013 19:00

Det stemmer, ja. Takk!

Men spørsmålet står fortsatt: Hvor mye kan jeg stole på løsningen? Risikerer jeg å finne en løsning der det ikke finnes? Kan løsningen være rundet av feil?
Gustav
Tyrann
Tyrann
Innlegg: 4558
Registrert: 12/12-2008 12:44

Si at du skal løse systemet Ax=b der A er en kvadratisk matrise.

Det er jo mulig å tenke seg at det(A) er svært liten slik at den avrundes feilaktig til 0. Da vil det jo få konsekvenser for løsningen.


Du kan jo teste følgende i matlab:

La $0<\epsilon<<1$, og $A=\begin{pmatrix}1+\epsilon&1\\1&1\end{pmatrix}$.

Prøv deg frem med ulike $\epsilon$ og løs systemet $\begin{pmatrix}1+\epsilon&1\\1&1\end{pmatrix}\begin{pmatrix}x_1\\x_2\end{pmatrix}=\begin{pmatrix}1\\2\end{pmatrix}$.

Det skal ha en unik løsning for alle $\epsilon$ ulik 0, og ingen løsning for $\epsilon=0$
Vaktmester
World works; done by its invalids
World works; done by its invalids
Innlegg: 827
Registrert: 26/04-2012 09:35

Leste denne "regelen" om numeriske beregninger en gang: Hvis noe er umulig ved 0, så vil det være vanskelig nær 0. (Vanskelig = vanskelig å gjøre utregningene eller at løsningen ikke god)
Flabbrø
Cayley
Cayley
Innlegg: 52
Registrert: 22/04-2013 19:00

Mange takk for svarene!
Svar