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

MatLab Skript mehrmals ausführen.

 

Akinh0
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 29.06.22
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2022, 03:44     Titel: MatLab Skript mehrmals ausführen.
  Antworten mit Zitat      
Hallo Leute,

ich muss für meine Bachelorarbeit ein experiment auswerten. Hierzu hab ich ein sehr kompliziertes MatLab-Skript von meinem Prof. bekommen, welches auf ganz viele "functions" zugreift und dann mehrere Plots erstellt. Wenn ich das Skript ausführe, werden zufällige einträge aus einem Datensatz gewählt und die entsprechenden Plots zu den ausgewählten Daten ausgegeben. Bevor ich aber die Daten auswerte, soll ich ein Programm schreiben welches den Testlauf mehrmals durchführt.

Also mein Programm soll das skript von meinem Prof. z.B 3x ausführen und mir die Ergebnisse wie vorher auch anzeigen.

Ich kenne mich weder mit Programmieren noch mit MatLab aus. Durch einige Youtube-Tutorials und durch das suchen hier im Forum hab ich ne Vorahnung wie es gehen könnte aber ich kann meine Idee nicht ganz umsetzen.

Ich habe ein neues skript geschrieben, welches nur den befehl run("skript_prof") beinhaltet. Ich vermute ich muss noch eine For-Schleife einbauen, damit ich es öfters ausführen kann, leider weiß ich aber nicht wie ich das jetzt genau mache.

Ich würde mich freuen wenn mir jemand helfen könnte.

Gruß
Akin
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 29.06.2022, 07:07     Titel:
  Antworten mit Zitat      
Hallo Akin,

ist das File tatsächlich nur ein Skript (d.h. in der ersten Programmzeile steht nicht "function")? Dann machst du daraus am besten eine Funktion, welche du dann aus einem zweiten Skript sooft aufrufen kannst wie du möchtest. Entweder du weißt wie oft, dann kannst du im einfachsten Fall einfach die Funktion x-mal nacheinander aufrufen. Oder du arbeitest tatsächlich mit einer for-Schleife, dann kannst du die Anzahl der Aufrufe leichter steuern.

Funktion aus m-file (Skript) machen:
Code:
% Filename: skript_Prof.m
function skript_Prof % hier werden weder Eingabewerte erwartet, noch Ausgabewerte erzeugt.
                     % Mehr zum Erstellen von Funktionen findest du im Forum und in der Matlab-Dokumentation.


Aufrufen aus separatem Skript oder aus dem Command Window:
Code:
% Variante 1: fix 3x aufrufen
skript_Prof;
skript_Prof;
skript_Prof;

% Variante 2: variable Anzahl Aufrufe
nCalls = 3;
for i=1:nCalls
    skript_Prof;
end
 


Viele Grüße
Steve
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Akinh0
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 29.06.22
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2022, 16:57     Titel:
  Antworten mit Zitat      
Hallo Steve,

vielen dank für die schnelle Antwort, du hast mir sehr geholfen.

Ich habe das jetzt so hingekriegt, dass das Skript meines Profs mehrmals ausgeführt wird. Wenn ich das Skript meines Profs normal ausführe, entstehen mehrere Plots, die ich mir dann am ende in Ruhe angucken kann. Mit meinem Skript ist es allerdings so, dass alle Plots nach einem Durchlauf wieder geschlossen werden und sofort der nächste Durchlauf startet. Lediglich der letzte Durchlauf bleibt am ende bestehen.

Gibt es ne möglichkeit, dass ich alle Plots sehen kann und die Fenster nicht geschlossen werden?

Gruß
Akin
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.06.2022, 17:27     Titel:
  Antworten mit Zitat      
Hallo,

im Grunde gibt es zwei Möglichkeiten:
a) irgendwo im Skript ist ein close oder close all . Wenn man nicht möchte, dass Figures geschlossen werden, muss man das eben entfernen.
b) die Figures werden nicht geschlossen, sondern überschrieben. Dann mit figure neue Fenster öffnen.

Wenn das nicht weiterhilft, kann ich nur dazu raten, das Skript im Debugging-Modus schrittweise zu durchlaufen um zu schauen, wo die Figures geschlossen werden.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.