|
|
Selektive Matrixoperationen |
|
Pinky |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 14.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.01.2012, 19:28
Titel: Selektive Matrixoperationen
|
 |
Hallo,
eine weitere Frage von mir. Angenommen eine Matrixoperation wie zum Beispiel die Multiplikation:
Ziel ist der Vektor x, den ich durch eine Teilmenge von meiner Matrix A erhalte. Nun braucht man um x zu berechnen sowohl B als auch C vollständig, aber es ist ein ziemlicher overhead wenn ganz A berechnet wird, ich brauche ja nur die erste Zeile davon.
Leider geht es nicht wie folgt:
Kennt jemand eine Möglichkeit, wie man MATLAB sagen kann, dass es nur bestimmte Elemente berechnen soll? Wichtiger ist hierbei das es die anderen Elemente NICHT berechnet als kürzerer Code.
Matrixmultiplikation wurde hier nur als einfaches Beispiel gewählt.
gruß Pinky
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.01.2012, 20:08
Titel:
|
 |
Hallo,
ich denke nicht, dass das möglich ist. Das muss man wenn selber gezielt so programmieren.
Dein Beispiel dürfte daran gescheitert sein, dass du mit nur einem Index in Matrizen indizierst. Üblicherweise schreibt man
Grüße,
Harald
|
|
|
Pinky |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 14.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 10:58
Titel:
|
 |
Hallo Harald,
wie immer sehr schnell, vielen Dank.
Die Indizierung ist kein Problem, da man auch problemlos per Vektor indizieren kann. So wird die Hauptdiagonale zum Beispiel durch einen Vektor der folgenden Gestalt angesprochen:
Das es dass nicht gibt erstaunt mich ein bisschen, da es ja die Rechenzeit bei bestimmten Problemstellungen immens verringern würde.
gruß Pinky
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 11:22
Titel:
|
 |
Hallo,
natürlich ist die lineare Indizierung möglich; ich behaupte jedoch, dass Zeilen-Spalten-Indizierung übersichtlicher ist.
Deine Idee ist natürlich möglich, aber du musst es halt wirklich selbst implementieren - indem du bei Matrix-Vektor-Multiplikation beispielsweise nur bestimmte Zeilen und bestimmte Spalten multiplizierst.
Grüße,
Harald
|
|
|
Pinky |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 14.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 11:25
Titel:
|
 |
Hey,
also Übersichtlichkeit ist schon ein Argument aber wenn es läuft ist es schon ok. Die manuelle Ausführung ist natürlich prinzipiell machbar, in meinem Fall will ich allerdings den Matrixexponenten bilden und da ist es leider nicht ganz so einfach.
gruß Pnky
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 11:43
Titel:
|
 |
Hallo,
Zitat: |
in meinem Fall will ich allerdings den Matrixexponenten bilden und da ist es leider nicht ganz so einfach. |
Stimmt. Entsprechend wäre das auch für den Algorithmus kompliziert und damit zeitaufwändig. Brauchst du bestimmte Exponenten?
Grüße,
Harald
|
|
|
Pinky |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 14.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.01.2012, 12:04
Titel:
|
 |
Verdammt jetzt habe ich die Antwort gelöscht, naja noch einal kurz.
Es gibt ein Lösungsverfahren für SDEs genannt Local linearization. Paper findet man z.B. hier [url]rev-inv-ope.univ-paris1.fr/files/28107/io28107-5.pdf[/url].
Aussage ist:
Dabei ist A eine Matrix bestehend aus f_y dem Jacobi df_y/dy und dem noise term. Ich habe momentan zwar noch kein rauschen in meinem System, aber es sollte ähnlich funktionieren.
gruß Pinky
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|