Diagonalmatrix < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 11:58 Sa 16.11.2013 | Autor: | David90 |
Aufgabe | Belegen Sie die Matrix [mm] D=\bruch{1}{2*\Delta(x)}*\pmat{ 0 & 1 & 0 & 0 & -1 \\ -1 & ... & ... & 0 & 0 \\ 0 & ... & ... & ... & 0 \\ 0 & 0 & ... & ... & 1 \\ 1 & 0 & 0 & -1 & 0}. [/mm] Tipp: der Befehl "diag" liefert die Diagonalen einer Matrix oder erzeugt Matrizen mit einer gegebenen (Neben-)Diagonalen. |
Hallo Leute,
ich wüsste gerne wie ich diese Matrix mit dem diag-Befehl erzeugen kann. Theoretisch müsste man doch irgendwas mit diag(diag(diag)) eingeben, weil es ja drei Diagonalen mit gleichen Einträgen sind. Hat jemand eine Idee dazu?
Danke schon mal im Voraus.
Viele Grüße
|
|
|
|
RTFM
Der Befehl "diag" hat einen optionalen Parameter, der die Nebendiagonalen ansprechen kann.
Deine angegebene Hintereinanderausführung "diag(diag(diag" hast du garantiert nicht getestet.
Dann würde dir auffallen, dass du einmal eine Matrix mit gegebener Hauptdiagonale erstellst, diese dann wieder in einen Vektor ausliest, dann wieder eine Matrix mit gegebener Hauptdiagonale erstellst, diese dann wieder in einen Vektor ausliest, dann wieder eine Matrix mit gegebener Hauptdiagonale erstellst, diese dann wieder in einen Vektor ausliest, dann wieder eine Matrix mit gegebener Hauptdiagonale erstellst, ...
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:59 Sa 16.11.2013 | Autor: | David90 |
Ich hab schon die ganze Zeit herumprobiert wie man das machen könnte, aber ich bekomm immer nur Fehlermeldungen oder falsche Matrizen xD Kannst du mir sagen, wie man diese Matrix erzeugen kann mit dem diag-Befehl?
Viele Grüße
|
|
|
|
|
Hast du dir die Seite aus meinem vorherigen Post überhaupt durchgelesen. Dort steht:
"
X = diag(v,k)
X = diag(v)
"
"X = diag(v,k) when v is a vector of n components, returns a square matrix X of order n+abs(k), with the elements of v on the kth diagonal. k = 0 represents the main diagonal, k > 0 above the main diagonal, and k < 0 below the main diagonal."
Quelle
Was erhälst du bei dem Aufruf:
- "diag([1 2 3])"
- "diag([1 2 3],1)"
- "diag([1 2 3],2)"
...
?
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 19:20 So 17.11.2013 | Autor: | David90 |
Doch doch, und die Befehle hab ich auch ausprobiert, nur kann man damit nur eine Diagonale erschaffen, ich möchte ja mehrere Diagonalen mit jeweils gleichen Einträgen in einer Matrix erstellen. Geht wohl nicht in Matalb was?
Viele Grüße
|
|
|
|
|
Es ist nicht verboten diverse Matrizen zu addieren. Du darfst also
"diag(...) + diag(...) + ..."
verwenden.
|
|
|
|