mikrocontroller.net

Forum: PC-Programmierung Matlab - 4D-Matrix "Loggen"


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: TachAuch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab ein matlab programm:
for n=1:100
    ....
    P = (I-(K*H))*P
end

ich würde gerne jeden Schleifendurchlauf von P abspeichern.
Im Stil von:
for n=1:100
    ....
    P = (I-(K*H))*P
    P2(n) = P
end
- Unable to perform assignment because the indices on the left side are 
not compatible with the
size of the right side. -

Wie geht es richtig?

Autor: TachAuch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PX(n,:,:,:,:) = P;

Kann zu

Autor: Walter T. (nicolas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schneller:

PX(n,:) = P(:)

Einen einzelnen Vektor speichert Matlab schneller weg als einen Tensor 
höherer Stufe. Nicht vergessen, den Speicherplatz vorher zu reservieren. 
Das macht auch viel in Bezug auf Geschwindigkeit aus.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Form erhalten bleiben soll kannst du auch n cell Array nehmen.

Px = cell(100,1)
For ...
   Px{n} = P
End

Ist u.U nicht mehr wesentlich unperformanter in neuen ml Versionen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.