I am getting a blank graph when I try to plot a while loop. I am not sure why. My code is below. Thank you MATLAB
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sabrina
am 16 Sep. 2019
Beantwortet: Walter Roberson
am 16 Sep. 2019
%Surface Area (m^3)
SA=4.096e-6;
%Cooling rate goes from 20 to 100W
disp('Outputs')
CR=20;
hold on
while (CR<=100)
HF=CR/SA;
fprintf('Cooling Rate = %g Heat Flux = %g\n',CR,HF)
CR=CR+10;
plot(CR,HF,'c-','LineWidth',2)
end
hold off
0 Kommentare
Akzeptierte Antwort
Adam Danz
am 16 Sep. 2019
On each iteration of your while-loop CR and HF produce 1 coordinate but you're asking to draw a line which requres 2 coordinates.
Plotting within a loop is generally avoidable. You could collect your data within a loop and then plot it after the loop. Better yet, you don't need a loop at all.
%Surface Area (m^3)
SA=4.096e-6;
%Cooling rate goes from 20 to 100W
CR=20 : 10 : 100;
HF=CR/SA;
plot(CR,HF,'c-','LineWidth',2)
0 Kommentare
Weitere Antworten (1)
Walter Roberson
am 16 Sep. 2019
You are plotting one point at a time but you have no marker specified.
MATLAB never deliberately joins points from different plot() calls.
You can specify a marker. Or you can save all of the points and plot them all after the loop. Or you can use animatedLine()
0 Kommentare
Siehe auch
Kategorien
Mehr zu Discrete Data Plots finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!