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

Speichern jeder iteration mehrere for-Schleifen

 

Anton12
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.02.2015, 16:13     Titel: Speichern jeder iteration mehrere for-Schleifen
  Antworten mit Zitat      
Hi!

Ich bin neu hier und habe ein Problem mit mehrdimensionale Funktionen. Ich habe eine Funktiondatei "efficiency.m" gschrieben, die mit

Results=efficiency(x1,x2,x3,,x4,x5,x6)


Nun wolte ich aber meine outputs jeweils getrennt abrufen, indem ich

Results=[x1,x2,x3,A_1,A_2,eta_0];

Denn meine Aufgabe ist es in der Skript datei eine 6 fache for-Schleife zu starten, wobei jeweils x1 von 1....10, x2 von 1...5 etc. laufen und dabei immer die jeweiligen Outputs als Matrix gespeichert werden sollen.

Meine Frage ist nun wie speichere ich das?
Mein Lehrer meinte, da die for schleife über ein counter läuft (count=0 vor der Schleife und count=count+1 am ende), kann ich das machen, wenn ich

Results(x1,1)= x1
Results(x2,2)=A_1

u.s.w.

Weiß einer vielleicht was gemeint ist und wie ich das machen soll. Eigentlich war meine Funktionsouput nicht "Results" sondern

[x1,x2,x3,A_1,A_2,eta_0]=efficiency(x1,x2,x3,,x4,x5,x6)

Aber es gab Probleme wenn ich R(...) schreiben wollte.
Außerdem ist in meiner Funktion auch ein plot-command geschrieben und ich würde gerne die Bilder ebenfalls speichern und deren Namen nach den Inoutparametern benennen. Wie macht man sowas.

Danke im voraus
Private Nachricht senden Benutzer-Profile anzeigen


Sigggi
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.02.2015, 20:42     Titel:
  Antworten mit Zitat      
Hallo Anton,

einen einzelnen Array erzeugst Du z.B. mit

Code:

A = rand(100,1);
 


A hat nun die Größe:

Code:

size(A)

ans =

   100     1
 


Wenn Du nun 10 Arrays in einer Variablen "unterbringen" willst, kannst Du z.B. den 2. Index nach oben zählen:

Code:

for k=1:10;
       A(:,k) = rand(100,1);
end
 


Mit
Code:

print('MeinBild.jpg','-djpg')
 


erzeugst Du ein *.jpg-Bild des aktuellen Plots. Für andere Formate hilft die Hilfe:

Code:


Hilft Dir das weiter?

Gruß, Siggi.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Anton12
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.02.2015, 20:57     Titel: Matrix hinbekommen, aber Bild speichern nicht
  Antworten mit Zitat      
Hi!

Ich habe zwar eine riesige Matrix erzeugt, allerdings speichern des Bildes ist mir nicht gelungen. Ich habe im meiner efficiency.m Funktionsdatei den Befehl
Code:

saveas(h(1),sprintf{'figure_',str_order,_'%d.png'}
 

Sind 3 plots in einem.
Aber der speichert nur nach der ersten iteration.

Warum?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sigggi
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2015, 07:57     Titel:
  Antworten mit Zitat      
Hi,

sieht so aus, als würde der Index der Figurehandles h nicht iteriert:

Code:

saveas(h(1),sprintf{'figure_',str_order,_'%d.png'}
 


Code:

saveas(h(str_order),sprintf{'figure_',str_order,_'%d.png'}
 


Ohne ausführbares Minimalbeispiel kann man aber nur raten ...

Gruß Siggi.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 09.02.2015, 10:43     Titel: Re: Matrix hinbekommen, aber Bild speichern nicht
  Antworten mit Zitat      
Hallo Anton12,

Zitat:
Code:
saveas(h(1),sprintf{'figure_',str_order,_'%d.png'}

Sind 3 plots in einem.
Aber der speichert nur nach der ersten iteration.

Nein. Dieser Code ist kein valider Matlab-Code und folglich sollte außer einer Fehlermeldung gar nichts geschehen.
Bitte poste exakt den Code, den Du verwendest. Andernfalls ist das Antworten mit wildem Raten verbunden.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Anton12
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.02.2015, 18:45     Titel:
  Antworten mit Zitat      
Hi!

Ich habe jetzt alles gemacht und es läuft. Allerdings dauert der gesamte Prozess etwa 1 Tag lang und nun ist seit einigen Stunden die Benutzeroberfläche nicht mehr aufrufbar. Der Taskmanager zeigt an, dass MATLAB etwa 200kb nutzt.

Ist MATLAB abgestürzt oder sollte ich warten bis der Prozess zu ende ist und kann dann ganz normal weiter arbeiten?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sigggi
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.02.2015, 08:18     Titel:
  Antworten mit Zitat      
Hallo,

bitte poste Deinen Code, sonst kann Dir keiner helfen.

Gruß, Siggi.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Anton12
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.02.2015, 09:25     Titel:
  Antworten mit Zitat      
Hi!

Lehrer sagte, dass zu viele for-schleifen waeren.

Hab es geklaert.

Danke an alle.
Private Nachricht senden Benutzer-Profile anzeigen
 
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.