Gitt matrisen [tex]A=\begin{pmatrix}
1 & 5 & 1\\
2 & 1 & 2\\
3 & 2 & 9\\
4 & 3 & 1\\
\end{pmatrix}[/tex]
Bruk MATLAB til å finne en invertibel matrise B slik at multiplikasjon av A med B fra venstre bringer A på redusert trappeform.
Hvordan kan jeg gjøre det? Takk for alle svar.
Finne invertibel matrise med MATLAB
Moderatorer: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa
Bruk funksjonen lu.
Må innrømme at jeg ikke ser helt hvordan det skal gjøres med lu. Kunne du utdypet litt?
Jeg tenkte at det kunne gjøres slik:
Men denne matrisen B er jo åpenbart ikke invertibel: den har en søyle med bare nuller.
Jeg tenkte at det kunne gjøres slik:
Kode: Velg alt
>> A = [1 5 1; 2 1 2; 3 2 9; 4 3 1];
>> B = sym(rref(A)/A)
B =
[ -25/141, 0, -2/141, 43/141]
[ 11/47, 0, -1/47, -2/47]
[ 1/141, 0, 17/141, -13/141]
[ 0, 0, 0, 0]
>> B*A
ans =
[ 1, 0, 0]
[ 0, 1, 0]
[ 0, 0, 1]
[ 0, 0, 0]
>> rref(A)
ans =
1 0 0
0 1 0
0 0 1
0 0 0
Antar at matrisen B er definert. Kjør scriptet:
Da er [tex]L^{-1}[/tex] matrisen du er ute etter, siden [tex]L^{-1}B = U[/tex].
Bruk "help lu" for å finne ut hvordan lu-funksjonen funker.![Smile :)](./images/smilies/icon_smile.gif)
Kode: Velg alt
[L U] = lu(B);
Bruk "help lu" for å finne ut hvordan lu-funksjonen funker.
![Smile :)](./images/smilies/icon_smile.gif)
Men L-en jeg får er ikke invertibel, og U er ikke den reduserte trapperformen av B (kalt A i åpningsinnlegget). Er det noe mer jeg skal gjøre?
Kode: Velg alt
>> B = [1 5 1; 2 1 2; 3 2 9; 4 3 1];
>> [L U] = lu(B)
L =
0.2500 1.0000 0
0.5000 -0.1176 0.1915
0.7500 -0.0588 1.0000
1.0000 0 0
U =
4.0000 3.0000 1.0000
0 4.2500 0.7500
0 0 8.2941
Kode: Velg alt
>> B = [1 5 1; 2 1 2; 3 2 9; 4 3 1];
>> [L U]=lu(B);
>> C=pinv(L);
>> C*B
ans =
4.0000 3.0000 1.0000
-0.0000 4.2500 0.7500
-0.0000 -0.0000 8.2941
>> U
U =
4.0000 3.0000 1.0000
0 4.2500 0.7500
0 0 8.2941
Hvis vi kaller den matrisen X, så kan vel det gjøres slik:
Men hvordan finner jeg så matrisen jeg kan multiplisere B (A i åpningsinnlegget) med fra venstre slik at jeg får [tex]\begin{pmatrix}
1 & 0 & 0\\
0 & 1 & 0\\
0 & 0 & 1\\
0 & 0 & 0\\
\end{pmatrix}[/tex]? Beklager om jeg er treig eller har uttrykt meg uklart.
Jeg vet ikke om det kan være relevant, men første del av oppgaven var å finne en maksimal undermengde av søylevektorene i [tex]\begin{pmatrix} 1 & 5 & 1 & 5\\ 2 & 1 & 2 & 1\\ 3 & 2 & 9 & -4\\ 4 & 3 & 1 & 6\\ \end{pmatrix}[/tex] slik at disse er lineært uavhengige. Matrisen A (som skiftet navn til B innlegg #4) er den man får når den eller de overflødige søylene er fjernet. Min løsning var å ta bort den siste av søylene.
Kode: Velg alt
>> B = [1 5 1; 2 1 2; 3 2 9; 4 3 1];
>> [L U]=lu(B);
>> C=pinv(L);
>> [V W]=lu(U)
V =
1 0 0
0 1 0
0 0 1
W =
4.0000 3.0000 1.0000
0 4.2500 0.7500
0 0 8.2941
>> X = inv(W)
X =
0.2500 -0.1765 -0.0142
0 0.2353 -0.0213
0 0 0.1206
>> U*X
ans =
1.0000 0 0
0 1.0000 0.0000
0 0 1.0000
Jeg vet ikke om det kan være relevant, men første del av oppgaven var å finne en maksimal undermengde av søylevektorene i [tex]\begin{pmatrix} 1 & 5 & 1 & 5\\ 2 & 1 & 2 & 1\\ 3 & 2 & 9 & -4\\ 4 & 3 & 1 & 6\\ \end{pmatrix}[/tex] slik at disse er lineært uavhengige. Matrisen A (som skiftet navn til B innlegg #4) er den man får når den eller de overflødige søylene er fjernet. Min løsning var å ta bort den siste av søylene.