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

Speicherung der Ergebnisse aus einer Doppel-Schleife

 

savewhat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2013, 11:59     Titel: Speicherung der Ergebnisse aus einer Doppel-Schleife
  Antworten mit Zitat      
Servus,

ich habe das Problem, dass ich Ergebnisse aus einer Doppel-Schlefe abspeichern möchte, da aber nicht weiter komme.

Bisher umfasste die Berechnung nur eine Schleife. Schematisch sah das ganze so aus
Code:
for i = 1:24
       
        [~,ergebnisa(:,i)] = berechnunga;
    end


Als Ergebnis hatte ich somit eine Matrix mit 24 Spalten und X Zeilen, je nach Vorgabe für die Berechnunga.

Nun will ich aber eine zweite Schleife über die bisherige legen, welche mir dann y-mal die Berechnungen der bisherigen Schleife durchführt und diese auch speichert. Ich hab schon gesucht und folgendes gefunden:
Code:
j = 1
   
    for i = 1:24
   
        eval( [['ergebnisa_' int2str(j)] '= berechnunga))'] );
    end
   
end
 


Damit habe ich jetzt nur zwei Probleme:

- So wie es jetzt da steht, werden in jeder i-Schleife die Ergebnise wieder überschrieben und nur die der letzten Berechnung bleiben stehen. Wie bekomme ich das "(:,i)" wieder rein?

- Ich brauche als Output [~,Ergebnisa]. Wie bekomme ich das hin?

Ist der bisherige Ansatz der richtige für diese Problematik?


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 05.02.2013, 13:18     Titel: Re: Speicherung der Ergebnisse aus einer Doppel-Schleife
  Antworten mit Zitat      
Hallo savewhat,

Nein, diese Lösun g mit EVAL macht das Programm nur unnötig kompliziert. Einen Index im Namen der Variablen zu verstecken ist immer eine schlechte Idee.

Es ist immer besser einen Index als Index zu verwenden:
Code:
for j = 1:5
   for i = 1:24
      [~, ergebnisa(:, i, j)] = berechnunga;
   end  
end

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
savewhat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2013, 13:52     Titel:
  Antworten mit Zitat      
wow, vielen Dank! Das ist einfach (und) genial! Hat mir sehr weitergeholfen!
 
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 - 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.