ich habe eine Simulinkstruktur vorliegen, in der ich den Input durch einen "To Workspace"-Block im Workspace speichere, sodass ich darauf zugreifen kann.
Nun möchte ich automatisiert 4 Parametervariationen durchführen, bei denen ich in meinem .m-File nur die Parameter eingebe und mir Matlab dann automatisch die 4 Simulationen durchfährt.
Nun habe ich das Problem, dass ja mein Input, den ich mir im Workspace extra herausgeben lasse (wird im Code auch nur input genannt), sich mit jeder Variation ändert. Jede dieser Änderungen möchte ich allerdings mitverfolgen können, sodass ich am liebsten mit jeder Simulation/Schleife meinem Input einen neuen Namen geben will.
Allerdings stehe ich gerade absolut auf dem Schlauch, wie und ob das überhaupt geht.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Schleife: Test1 for a = 1:length(var.test1)
par.test1 = var.test1(a);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Schleife: Test2 for b = 1:length(var.test2)
par.test2 = var.test2(b);
run = run + 1;
sprintf('Aktueller Durchlauf: %d von %d', run, n_simrun)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Festlegung desTestdurchlaufs if looptest % 1 = Teste saubere Abarbeitung der Variationsschleife
cycle.time = 0.5;
set_param(ModelName,'SimulationMode','normal') end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Simulation
sim(ModelName);
% Position, an der I_pack > ILad --> weitere Matrixeinträge % löschen
pos = (find(input(:,1)>=-ILad_max)); %I_pack = input(:,1)
min_pos = min(pos);
input_cor_i = input_cor_i(1:min_pos,:);
figure(2) hold on;
for i = 1:n_simrun
switch i
case1 plot( input_cor_i(:,1), input_cor_i(:,2),'b-');
case2 plot( input_cor_i(:,1), input_cor_i(:,2),'m-');
case3 plot( input_cor_i(:,1), input_cor_i(:,2),'g-');
case4 plot( input_cor_i, input_cor_i,'c-');
end
Mit diesem Code kann ich einen Plot generieren, der auch richtig sein müsste. Problem ist aber, dass alle 4 Plots in der selben Farbe (cyan) sind, obwohl die ja eig jeweils farblich unterschieden werden sollten. Deswegen bin ich auf die Idee gekommen, meinen Input nach dem Motto Input_1, Input_2 usw. zu benennen, damit ich die Farben fehlerlos zuweisen kann.
Falls jmd noch einen anderen Weg kennt, nur zu =)
Der Ort, an dem
Code:
for i = 1:n_simrun
switch i
case1 plot( input_cor_i(:,1), input_cor_i(:,2),'b-');
case2 plot( input_cor_i(:,1), input_cor_i(:,2),'m-');
case3 plot( input_cor_i(:,1), input_cor_i(:,2),'g-');
case4 plot( input_cor_i, input_cor_i,'c-');
end
steht, müsste denke ich auch geändert werden. Ziel ist halt, dass ich eben nach jeder einzelnen Simulation einen Plot rausgebe. Damit könnte ich auch das Problem umgehen, 4 verschiedene Inputs zu haben, die ich am Schluss alle zusammen plotte.
Würde mich über Vorschläge freuen! Hauptsache am Ende habe ich die 4 Plots mit den 4 verschiedenen Farben!
Danke!
LG
kai
P.S.: Kann sein, dass ich mich ein bisl kompliziert ausgedrückt habe.. Bei Unklarheiten also bitte einfach nochmal nachfragen!
Nun habe ich auch die Aufteilung in 4 Matrizen. Allerdings sind alle 4 Matrizen gleich, d.h. eine Matrix überschreibt wohl die anderen 3 zusätzlich. Weiß jmd, woran das liegen könnte?
Danke!
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.