creating graphs from loops

1 vue (au cours des 30 derniers jours)
georgia baller
georgia baller le 4 Oct 2019
i have two equations that require a loop to solve them. i need to create a graph from the loop with both equations on the same axis. however every time i attempt to do this each value in the loop is overwritten and so the graph on has one point. how do i save each point in the loop. the graph needs to be (y1 y1, m)
for m = (60:70)
y1 = (14*35)/(m*9.8)
y2 = (1 - exp((-14*7)/m
end

Réponses (2)

Turlough Hughes
Turlough Hughes le 4 Oct 2019
Hi Georgia,
You actually dont need a loop at all. You can get the answer easily using piecewise multiplication and division instead:
m=60:70;
y1=(14*35)./(m.*9.8);
y2=1-exp((-14*7)./m);
figure(), plot(m,y1,m,y2), legend('y1','y2')
I made the same assumptions about parentheses as the cyclist and that you want to plot y1 and y2 against m.

the cyclist
the cyclist le 4 Oct 2019
Here is one way that I typically solve that:
mrange = 60:70;
mcount = numel(mrange);
y1 = zeros(mcount,1);
y2 = zeros(mcount,1);
for mi = 1:mcount
y1(mi) = (14*35)/(mrange(mi)*9.8);
y2(mi) = (1 - exp((-14*7)/mrange(mi)));
end
figure
plot(mrange,y1,mrange,y2)
Note that your line of code for y2 had syntax errors with mismatched parentheses, which I corrected without much thought to what you intended to calculate there.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by