Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Blockmatrix Nebendiagonale
Autor
Universität/Hochschule J Blockmatrix Nebendiagonale
LamyOriginal
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 20.11.2018
Mitteilungen: 410
  Themenstart: 2022-04-18

Hallo, ich mochte so eine dünnbesetzte $(n\times n)$-Matrix erstellen: $A=\begin{pmatrix} A_m & I_m & & 0 \\ I_m & A_m & \ddots & \\ & \ddots & \ddots & I_m \\ 0& & I_m & A_m \end{pmatrix}$ mit $A_m, I_m$ Dimensionen $(m\times m)$, $I_m$ dabei die Einheitsmatrix und $m=\sqrt n$. Ich habe mit D_r=repmat({A_m},1,m); D=blkdiag(D_r{:}), die gewünschte Matrix $A_m$ auf die Hauptdiagonale bekommen, aber wie bekomme ich $I_m$ auf die untere und obere Nebendiagonale? Danke!


   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 2206
  Beitrag No.1, eingetragen 2022-04-18

Hallo LamyOriginal! Man kann in Matlab gut mit Zeilen und Spalten arbeiten. Dazu kann man z.B. \sourceon Matlab for zeile = 1:m for spalte = 1:n if (zeile == spalte + 1) // reicht das schon; ist das korrekt? ... end end \sourceoff schreiben. Viele Grüße Ronald Edit: schau mal: \sourceon Matlab a(2,1) = lala; for index = 2:n-1 iminus = index - 1; iplus = index + 1; a(iminus,index) = lala; a(iplus,index) = lala; end a(n-1,n) = lala; \sourceoff


   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 4231
  Beitrag No.2, eingetragen 2022-04-19

diag(v,k) liefert eine Matrix, deren $k$-te Nebendiagonale mit den Elementen des Vektors $v$ gefüllt ist. Für Arrangements mit Blockmatrizen kannst du diese Funktion mit dem Kronecker-Produkt kron(A,B) kombinieren. Das folgende Beispiel liefert für ein gegebenes $m$ eine Matrix wie im Startbeitrag, wobei für $A_m$ eine Zufallsmatrix eingesetzt wird: \sourceon matlab m = 3 A_m = rand([m, m]) N = diag(repelem(1, m - 1), 1) A = kron(eye(m), A_m) + kron(N + N.', eye(m)) \sourceoff --zippy


   Profil
LamyOriginal
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 20.11.2018
Mitteilungen: 410
  Beitrag No.3, vom Themenstarter, eingetragen 2022-04-19

Vielen Dank für eure Hilfe, ich habe es hinbekommen!


   Profil
LamyOriginal hat die Antworten auf ihre/seine Frage gesehen.
LamyOriginal hat selbst das Ok-Häkchen gesetzt.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]