对于MATLAB中的乘法步骤的循环

Pau*_*nta 0 syntax matlab for-loop octave

有没有办法在MATLAB中使用自定义步骤的for循环?我想要做的是迭代2小于给定数字的所有2的幂.C++中的等效循环(例如)将是:

for (int i = 1; i < 65; i *= 2)
Run Code Online (Sandbox Code Playgroud)

注1:这是最适合for循环的迭代类型,因此我不想使用while循环.
注2:我实际上使用的是Octave,而不是MATLAB.

Azi*_*zim 5

也许你想要一些东西

for i=2.^[1:6]
   disp(i)
end
Run Code Online (Sandbox Code Playgroud)

除了你需要弄清楚指数的范围.这使用了这个事实,因为 a_(i+1) = a_i*2这可以被重写为a_i = 2^i.

否则你可以做类似以下的事情

i=1;
while i<65
   i=i*2;
   disp(i);
end
Run Code Online (Sandbox Code Playgroud)