How to write coding for the following problem
1 次查看(过去 30 天)
显示 更早的评论
How to calculate the following loop
y(1)=x;
for i=1:3
y(i+1)=z(i)+y(i);
i=i+1;
end
Ans=z(1)+z(2)+z(3)+3*x
1 个评论
Kevin Claytor
2012-7-4
You don't need the "i=i+1" statement - the increment is contained next to the for statement;
for i = start:increment:end
disp(i);
i = i+1;
end
So for start = 1, increment = 1, end = 3 you would get "1 2 3" For start = 2, increment = 2, end = 7 you would get "2 4 6" Your added "i=i+1" affects everything after it, but then the value for i is re-written when the for loop begins again. For example, try this;
for i = 1:3
disp(i);
i = i+1;
disp(i)
end
Should give you the output; "1 2 2 3 3 4"
回答(2 个)
F.
2012-7-4
Hello, I don't understand how you can make i=i+1 in a loop on i !! ;-)
When I see your code, I can write this:
y(1) = x
y(2) = z(1) + y(1) = z(1) + x
y(3) = z(2) + y(2) = z(1) + z(2) + x
y(4) = z(3) + y(3) = z(1) + z(2) + z(3) + x
so:
y(n+1) = sum( z(1:n) ) + x
and not what you wrote:
Ans=z(1)+z(2)+z(3)+3*x
Where is the problem ....
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!