|
|
|
Matrixen definieren, damit sie nicht unbegrenzt anwachsen |
|
| matlab_anfänger |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 07:41
Titel: Matrixen definieren, damit sie nicht unbegrenzt anwachsen
|
 |
Hallo an alle!
Ich sitze jetzt schon sehr lange an diesem Problem und hoffe, dass ihr mir weiterhelfen könnt.
in meinen programm wird die variable x in einer schleife mit drei indizes berechnet, wobei m=1:901, n=1:901 und i=1:24 laufen soll. Leider benötigt matlab sehr sehr lange für die berechnung.
gibt es einen trick, in dem ich die berechnung beschleunigen kann, indem ich die länge der matrixen definiere.
wäre toll, wenn ihr mir ein paar tipps geben könntet, dieses problem zu beheben.
Danke schon mal im vorhinaus.
|
|
|
|
|
|
| _Peter_ |

Moderator
|
 |
Beiträge: 537
|
 |
|
 |
Anmeldedatum: 08.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.10, 2010a
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 09:02
Titel:
|
 |
Hallo matlab_anfänger,
du kannst eine Matrix wie folgt pre allocieren:
Für die Handhabe mit NaN, wird dir die Funktion
helfen.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 09:23
Titel:
|
 |
Danke, für die schnelle Antwort.
Werds gleich probieren.
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 10:59
Titel:
|
 |
hab das jetzt so probiert, und meine matrixen vorher definiert. Leider braucht das programm noch immer sehr lange und alles durchzurechnen.
Gibt es vielleicht noch andere möglichkeiten?
Liebe Grüße!
|
|
|
|
| Gast1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 13:09
Titel:
|
 |
Hi,
welche Dimension hat "r" ?
Was ist xx_beobachtgung(m,n), Matrix? Funktion?
Bist du dir sicher, dass du in der inneren Schleife jedesmal das x überschreiben willst?
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 13:23
Titel:
|
 |
Hallo!
r hat die Länge 902; bei xx_beobachtung(m,n) handelt es sich um eine matrix.
was ich eigentlich vorhabe, ist, dass ich bei unteschiedlichen xx_beobachtungen und unterschiedlichen zeitpunkten (i=1:24) immer ein neues x bekomme.
Danke.
|
|
|
|
| Gast1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 13:36
Titel:
|
 |
Mir ist immernoch nicht ganz klar, was du am Ende willst.
Eine 901*901*24 Matrix?
Wie gesagt im Moment überschreibst du x jedesmal.
Aktuell ist x wohl ein Vektor, der in jedem der 19483224 (901*901*24) Schleifendurchläufe überschrieben wird.
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 13:46
Titel:
|
 |
eigentlich will ich x nicht jedesmal überschreiben. wenn möglich will ich am ende einen vekor x, der zu jedem zeitpunkt und an jedem mxn punkt definiert ist.
lg.
|
|
|
|
| Gast1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 13:54
Titel:
|
 |
Also eine 901*901*24 Matrix?
Wie soll dann z.b. der Punkt (150,100) zum Zeitpunkt 5 bestimmt werden?
Also
m=150
n=100
i=5
Wie soll dieser Wert berechnet werden? Welches Element aus r gehört dazu?
Bei deiner aktuellen Berechnung entseht ein Vektor, du willst wohl aber eine Zahl für jede Kombination von m,n und i.
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 14:02
Titel:
|
 |
ja genau, eine eine kombination von i, m, n für jeden x-wert.
nur leider weiß ich nicht, genau, wie ich matlab das sagen soll.
Danke, liebe Grüße!
|
|
|
|
| Gast1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 14:07
Titel:
|
 |
Ich muss leider nochmal fragen, habe es immernoch nicht verstanden,
zu einem konkreten Punkt, welches Element aus r soll da genommen werden,
r(m) ?, r(n) ?
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 14:24
Titel:
|
 |
|
nein, soweit ich das verstanden habe, brauche ich für die berechnung eines punktes nur einen wert aus r.
|
|
|
|
| Gast1 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 14:43
Titel:
|
 |
Und wovon ist es abhängig welches r man nun nimmt?
von m? von n? von i? von sonstwas anderem?
Je nachdem wovon das abhängig ist, kann man unterschiedlich leicht vektorisieren, was wiederrum Geschwindigkeitsvorteile bringt.
Dein urpsrüngliches Problem war wohl eher die falsche Berechnung
Wenn du mir verrätst, welchers r zu welchem Punkt gehört, lässt sich das noch vektorisieren.
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.09.2011, 14:45
Titel:
|
 |
hallo!
hab das programm jetzt mal mit dem profiler durchlaufen lassen und dieser zeigt mir an, dass matlab die meiste zeit bei
benötigt. wobei x und y von (m,n,i) abhängig sind.
lg.
|
|
|
|
|
|
|
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.
|
|