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

 채택된 답변

Sindar
Sindar 2020년 3월 6일
편집: Sindar 2020년 3월 6일

2 개 추천

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

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 2020년 3월 6일
(you can still do it without loops, think about how)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2020년 3월 6일

댓글:

2020년 3월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by