MATLAB Answers

Calculations using for loops

3 views (last 30 days)
Jose Grimaldo
Jose Grimaldo on 6 Mar 2020
Commented: Sindar on 6 Mar 2020
I want to perform the following calculations using for loops. I have assigned values to variables A and B. I want to calculate V, by plugging k=0:0.1:x and setting a condition inside the for loop. If k<=5 calculate V=(-A)(k)+(B*6) and else V=(-A)(k)+(B*6)+(A/B)(k). How can i make it work using for loops and how can i stored every value?
x=input('From zero, until what number do you want to calculate');
A=5;
B=2;
for k=0:0.1:x
if k<=5
V=(-A)*(k)+(B*6);
else
V=(-A)*(k)+(B*6)+(A/B)*(k)
end
V(k)=V;
end

  1 Comment

Sindar
Sindar on 6 Mar 2020
what error messages?

Sign in to comment.

Accepted Answer

Sindar
Sindar on 6 Mar 2020
Edited: Sindar on 6 Mar 2020
Two problems:
  • parentheses are not multiplication in matlab, you need *
  • you are trying to insert a variable into itself
Solution (edited for modified question):
x=input('From zero, until what number do you want to calculate');
A=5;
B=2;
kvec = 0:0.1:x;
for ind=1:length(kvec)
if kvec(ind) <= 5
V(ind)=-A*kvec(ind)+B*6;
else
V(ind)=-A*kvec(ind)+B*6+A/B*kvec(ind)
end
end

  2 Comments

Sindar
Sindar on 6 Mar 2020
BTW, this can be done without loops or if statements:
V(1:5) = -A*(1:5)+B*6;
V(6:10) = -A*(6:10)+B*6+A/B*(6:10);
Sindar
Sindar on 6 Mar 2020
(you can still do it without loops, think about how)

Sign in to comment.

More Answers (0)

Sign in to answer this question.