Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

How can I put the values that I made in a for and if loop into a vector?

1 vue (au cours des 30 derniers jours)
Sophie
Sophie le 6 Avr 2018
Clôturé : MATLAB Answer Bot le 20 Août 2021
This is what I've got so far, there might be other issues too.
for i = 0:L;
if i == 0:L_1
v_1(i) = P-(P*L_1)/L
m_1(i) = (P-((P*L_1)/L))*i
elseif i == L_1:L
v_1(i) = ((P*L_1)/L)-P
m_1(i) = (P-((P*L_1)/L))*i - P*(i-L_1)
end
v = (i,v_1(i))
m = (i,m_1(i))
end
  9 commentaires
Sergey Kasyanov
Sergey Kasyanov le 6 Avr 2018
Sophie, try this:
plot([v1,v2],[m1,m2])
Sophie
Sophie le 6 Avr 2018
That fixed it, thank you!

Réponses (1)

Sergey Kasyanov
Sergey Kasyanov le 6 Avr 2018
Modifié(e) : Sergey Kasyanov le 6 Avr 2018
Code improvements:
%Range of i for different calculation formulas
FirstRange=[1:L_1];
SecondRange=[L_1:L];
%Create array with result of calculations
v=[ones(length(FirstRange),1)*(P-(P*L_1)/L)
ones(length(SecondRange),1)*(((P*L_1)/L)-P)];
m=[FirstRange'*(P-((P*L_1)/L))
(P-((P*L_1)/L))*SecondRange' - P*(SecondRange'-L_1)];
Notes:
1) FirstRange - row array, FirstRange' - column array with same data.
2) ones(length(FirstRange),1) - column array with ones with the same length as FirstRange.
3) In (P-((P*L_1)/L))*i - P*(i-L_1) the i is replaced by array with i values - SecondRange. That also works.
Yoy may plot graph with that:
plot(m,v)
If you want to plot a rectangle you may use function rectangle.
  2 commentaires
Sophie
Sophie le 6 Avr 2018
This syntax didn't work when I tried using it.
Sergey Kasyanov
Sergey Kasyanov le 6 Avr 2018
Strange. I have tested it. Can you adduce error message?

Cette question est clôturée.

Community Treasure Hunt

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

Start Hunting!

Translated by