【发布时间】:2012-01-08 21:17:01
【问题描述】:
我在 C 中有这个 for 循环:
for (x=100;x>=3.0;x/=2){......}
我正在尝试在 MATLAB 中编写一个等效的 for 循环。这个我试过了
for x=100:/2:3
但这并没有给出任何结果。所以我的问题是如何在每一步中除以 2。
【问题讨论】:
-
你的意思是 matlab 而不是 mathlab,对吧?
我在 C 中有这个 for 循环:
for (x=100;x>=3.0;x/=2){......}
我正在尝试在 MATLAB 中编写一个等效的 for 循环。这个我试过了
for x=100:/2:3
但这并没有给出任何结果。所以我的问题是如何在每一步中除以 2。
【问题讨论】:
改用while:
x = 100;
while ( x >= 3.0)
...
x = x / 2;
end
【讨论】:
使用以下代码:
div = 100./power(2,0:100);
div(div<3) = [];
for i=div
disp(i);
end
但是,如果你每次都想四舍五入(我不知道你是用int还是double),它就行不通了。这种情况可以使用while循环,比较合适。
【讨论】: