Verfasst am: 22.08.2012, 19:30
Titel: Null-Wert in If-Anweisung
Hallo, ich habe das Problem, dass ich eine If-Abfrage durchführe, bei der die Werte nur eingelesen werden sollen, wenn Sie eine bestimmte Bedingung erfüllen. Matlab belegt mir aber die ungewollten Werte mit 0, so dass diese im Plot auch mit 0 angezeigt werden. Das möchte ich verhindern. Kann mir jemand sagen, wo mein Fehler liegt? Hier mein Code:
Code:
if FN2_3>0 && FN3_3>0 && FR2_3>=0 && FR3_3>=0
muo_Graph3=-0.1
n=0 while muo_Graph3<3
n=n+1
muo_Graph3=muo_Graph3+0.1
b31_loop=x/y-muo_Graph3
if a31 > 0 && b31_loop > 0
F_Klemm3_Graph=...
FN2_3_loop=...
FN3_3_loop=...
FR2_3_loop=...
FR3_3_loop=... end if FN2_3_loop>0 && FN3_3_loop>0 && FR2_3_loop>=0 && FR3_3_loop>=0 F3(n)=F_Klemm3_Graph
muo3(n)=muo_Graph3
end end if FN2_3_loop>0 && FN3_3_loop>0 && FR2_3_loop>=0 && FR3_3_loop>=0figure(3) plot(muo3,F3,'-*'); grid on
hold on
xlabel('µo'), ylabel('Kraft F [N]) plot(muo,F_Klemm3,'-+r',muo,F_Ruhe,'-xk');grid on
legend('µo','Klemmkraft','Minimalkraft') uicontrol('Style','pushbutton','String','KK3','Callback','Bild3')end
gleich am Anfang Deiner while-Schleife zählst Du n um eins hoch.
Aber nur wenn die Bedingung erfüllt ist, bekommt muo einen Wert.
Die fehlenden Elemente füllt Matlab mit 0.
Einfach n=n+1 erst innerhalb der Bedingung hochzählen.
Grüße
Sirius
D-Fens79
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 23.08.2012, 08:56
Titel:
Ah, daran lag es. Jetzt bekomme ich auch einen ordentlichen Plot.
Vielen Dank für die schnelle Hilfe, Sirius!
D-Fens79
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.