【问题标题】:How can I write a loop that divides the operand by 2 each time?如何编写一个每次将操作数除以 2 的循环?
【发布时间】: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,对吧?

标签: matlab for-loop


【解决方案1】:

改用while:

x = 100;
while ( x >= 3.0)
  ...
  x = x / 2;
end

【讨论】:

    【解决方案2】:

    使用以下代码:

    div = 100./power(2,0:100);
    div(div<3) = [];
    
    for i=div
        disp(i);
    end
    

    但是,如果你每次都想四舍五入(我不知道你是用int还是double),它就行不通了。这种情况可以使用while循环,比较合适。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多