Verfasst am: 26.03.2022, 21:34
Titel: Plots in for-Schleife plotten nicht
Hallo,
Ich hab folgendes Problem:
Ich habe ein Matrix "sortTabel" und einen Vector "recFactor".
In der Matrix gibt es 2 Spalten mit Winkeln, die immer abwechselnd laufen.
Also wenn der Winkel aus Spalte 13 läuft, steht der Winkel aus Spalte 12 still und umgekehrt.
Folgendes war mein Ansatz:
Code:
startAngle = abs(sortTabel(1,13));
m=1;
i=1;
for i = i:size(sortTabel)
if sortTabel(i,13) == startAngle %Gamma plot(sortTabel(m:i,13),recFactor(m:i),"-","Linewidth",3) xlabel("GAMMA[deg]") ylabel("Recovery Factor[-]")
m = i +1;
hold off
elseif sortTabel(i,12) == startAngle %Alpha
plot(sortTabel(m:i,12),recFactor(m:i),"-","Linewidth",3) xlabel("ALPHA[deg]") ylabel("Recovery Factor[-]")
m = i +1;
hold off
end
An der Ausgabe von der Variablen m kann ich erkennen, dass meine Idee grob funktioniert, allerdings wird nur der letzte Plot aus der for Schleife geplottet und alle anderen Plots davor nicht. ( Im Anhang ist ein kleiner Screenshot von den Winkeln,damit man sich mein vorgehen etwas besser vorstellen kann.)
Hat jemand eine Idee, woran das liegen könnte?
Danke schonmal im voraus.
Aaron
es fehlt auf jeden Fall ein "hold on".
Ansonsten würde ich den Debugger verwenden um zu überprüfen, ob die vorherigen Plots nie erzeugt oder überschrieben werden.
i:size(sortTabel)
halte ich für recht ungünstig. Es kann sein, dass dies das richtige macht, aber klarer wäre wirklich zu schreiben, was du meinst, nämlich
i:size(sortTabel,1)
oder
i:size(sortTabel,2)
.
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 ;)
MrUglyy
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 27.03.2022, 08:38
Titel:
Hallo Harald,
mit dem "hold on" command sorge ich doch dafür, dass alles in einen Graphen geplottet wird. Das will ich eben nicht.
Aber ja die Graphen überschreiben sich tatsächlich gegenseitig.
Wie könnte ich das verhindern?
Gruß,
Aaron
mit dem "hold on" command sorge ich doch dafür, dass alles in einen Graphen geplottet wird. Das will ich eben nicht.
Was willst du denn dann stattdessen?
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 ;)
MrUglyy
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 27.03.2022, 09:45
Titel:
Hallo,
Ich will, dass für jeden Winkel durchlauf ein eigener Plot erstellt wird.
Also immer abwechselnd für Gamma und Alpha, je nachdem welcher Winkel gerade durchlaufen wird.
Am ende müssten aus der 420 Zeilen Matrix 60 Plots entstehen.
Gruß
Aaron
was heißt denn "eigener Plot"?
Falls separates Fenster: das müsstest du mit
figure
öffnen. Willst du aber wirklich 60 Fenster öffnen??
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 ;)
MrUglyy
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 27.03.2022, 10:24
Titel:
Vielen herzlichen Dank!
Es hat geklappt
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
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.