WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Ergebnisse aus einer Schleife nutzbar machen...

 

Jens

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2008, 20:20     Titel: Ergebnisse aus einer Schleife nutzbar machen...
  Antworten mit Zitat      
Hallo,

ich bin Gast hier und auch noch einer, der nicht so häufig mit MATLAB arbeitet.

Ich habe folgendes Problem:

Ich habe (in einem M-file) eine Schleife programmiert und möchte nach jedem Schritt die Ergebnisse fortlaufend speichern.

In meiner Schleife werden Punktkoordinaten durch Drehung eines Koordinatensystems umgerechnet und anschließend werden die zugehörigen Orts- und Richtungsvektoren erzeugt.

Das Koordinatensystem wird in bestimmten Schritten gedreht und die Ergebnisse werden im Workspace ausgegeben.

Nun ist es aber nicht ausreichend, die Ergebnisse nur angezeigt zu bekommen, sondern ich möchte diese auch anschließend weiter nutzen können, nachdem die Schleife "beendet" ist.

Ich habe mir nun überlegt, dass es doch praktisch wäre, wenn ich die Lösungsvektoren in jedem Schritt der Schleife in einer Matrix ablegen könnte.... oder einem Array?!?!?!?

So könnte ich ja gezielt auf einzelne Werte zugreifen.

Heraus kommen bei jedem Durchlauf der Schleife vier Koordinatenpaare (ist im zweidimensionalen Raum) und achtzehn zweidimensionale Vektoren.

Meine Frage ist nun, ob mir irgendjemand hier einen Weg aufzeigen kann, wie ich diese Einzelergebnisse nach dem Durchlaufen der Schleife noch nutzen kann.

Im Augenblick sind nämlich nur die Ergebnisse des letzten Durchlaufs der Schleife noch im Speicher.

Vielen Dank schon mal im Vorraus!

Gruß

Jens


jakob190590
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 02.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2008, 22:18     Titel:
  Antworten mit Zitat      
wenn du von vorneherein weißt, wie viele durchgänge deine Schleife hat, kannst du doch eine Matrix anlegen, die so viele Zeilen wie durchgänge hat.
Code:
M=zeros(durchgaenge,2)

dann könntest du so für jeden Vektor eine Matrix festlegen: 4 für diese Koordinatenpaare und 18 für die Vektoren.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jens

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2008, 02:35     Titel:
  Antworten mit Zitat      
Das habe ich jetzt nicht ganz verstanden...

Wo soll ich den Befehl hinsetzen?

Wenn ich ihn in die Schleife setze, müßte so doch das Array M bei jedem Durchlauf der Schleife neu geschrieben werden, oder verstehe ich da was falsch?

Was mir vorschwebt, ist eine Matrix bzw. ein Array, wo bei jedem Durchlauf der Schleife quasi eine Zeile oder Spalte ergänzt wird.

Alternativ könnte ich mir auch vorstellen bei jedem Durchlauf der Schleife eine neue Matrix bzw. ein neues Array zu erstellen. Diese müßten dann aber fortlaufend nummeriert werden, sodass sie später separat angesprochen werden können.

Wenn ich bei jedem Durchlauf der Schleife die Matrix M erzeuge, habe ich nach dem letzten Durchlauf wieder nur die letzten Ergebnisse der letzten Schleife, aber nicht die Ergebnisse der vorangegangenen Durchläufe.

Oder nicht?

Sorry, wenn das jetzt vielleicht etwas dümmlich wirkt. Aber wenn ich den Post mit M=zeros(durchgaenge,2) lese, dann verstehe ich darunter erstmal den Befehl, eine Matrix mit 2 Spalten und x Zeilen zu generieren. Mehr kann ich mir darunter grade noch nicht vorstellen.

Ich bräuchte also doch noch etwas mehr Hilfe. Ich wäre dafür sehr dankbar.

Gruß

Jens
 
jakob190590
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 02.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2008, 07:57     Titel:
  Antworten mit Zitat      
Jens hat Folgendes geschrieben:
Das habe ich jetzt nicht ganz verstanden...

Wo soll ich den Befehl hinsetzen?

Wenn ich ihn in die Schleife setze, müßte so doch das Array M bei jedem Durchlauf der Schleife neu geschrieben werden, oder verstehe ich da was falsch?

Was mir vorschwebt, ist eine Matrix bzw. ein Array, wo bei jedem Durchlauf der Schleife quasi eine Zeile oder Spalte ergänzt wird.


Also: ganz am Anfang, vor der schleife erstellst du für jede Koordinatenpaare/Vektoren eine Matrix (also 4 + 18 matrizen):
Code:
M=zeros(anzahlDerDurchlauefe,2)

also eine Matrix mit so vielen zeilen wie du durchläufe hast, und zwei spalten (x-/y-Wert).

in der schleife:
Code:
for i=[1:10]
  M(i,1)=xwert;
  M(i,2)=ywert;
end;

am ende hast du 4 + 18 matrizen (M1,M2, M3, ...), in deren zeilen die koordinatenpaare stehen, und es sind eben zB. wie hier 10 zeilen.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2008, 19:21     Titel:
  Antworten mit Zitat      
Bitte nicht denken, ich wäre undankbar, weil ich noch nix weiter geschrieben habe!

Ich hatte den Tag über andere Aufgaben und versuche heute Abend mal, die Sache so umzusetzen.

Danke schonmal für diesen Ansatz!

Gruß

Jens
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.