Ploting a function in a for loop
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Ahmet Oguz
am 22 Nov. 2016
Beantwortet: Walter Roberson
am 23 Nov. 2016
d starts from zero and end at 0.99. For each d, i want to calculate y function. After that i want to plot y versus d. However my code does not generate plot. What am i doing wrong?
clc
k=0;
for d=0:0.01:0.99
k=k+1;
y(k)=1/(1+0.018*(d/(1-d)+d));
plot (y(k),d)
end
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 23 Nov. 2016
By default, when you plot() a single point, no marker is used. Also, no line is drawn unless you plot at least two points at the same time. Furthermore, you have not used "hold on" so your later plots erase the first.
You should use a different strategy:
dvals = 0 : 0.01 : 0.99;
for k = 1 : length(dvals)
d = dvals(k);
y(k)=1/(1+0.018*(d/(1-d)+d));
end
plot(dvals, y)
Or, more simply,
d = 0 : 0.01 : 0.99;
y = 1 ./ (1 + 0.018 .* (d ./ (1-d) + d));
plot(dvals, y)
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!