0

如何在带有数组的 for 循环中进行十进制增量。这是我写的代码。

for i=1:0.1:10,
a(i)=i
end

提前感谢您的帮助

4

3 回答 3

4

对于索引,您需要引入另一个变量,例如

jj = 1;
for ii=1:0.1:10
       a(jj)=ii
       jj = jj+1;
end

或者

for ii=1:1:10/0.1
       a(ii)=ii*0.1;
end

sub2ind如果您只想将计数器存储在向量中,请查看该功能。

另一种选择。我不知道你的循环在做什么,但我猜我会这样做:

A = 1:0.1:10;
for ii=1:1:length(A)
       do something;
end
于 2013-10-05T09:27:06.917 回答
3

如果您使用辅助函数 Enumerate,则可以在没有计数器变量的情况下执行此操作。

for i=Enumerate(1:0.1:10)
   a(i.Index)=i.Value;
end

function [ output ] = Enumerate( items )
   output = struct('Index',num2cell(1:length(items)),'Value',num2cell(items));
end

这是一个类似于Neat way to loop with the index and value in Matlab的问题

于 2013-10-05T09:34:55.623 回答
2

“我想在数组中保存十进制 ii 值,例如 JJ[1]=1,jj[2]=1.1,JJ[3]=1.2 ...等”

这有什么问题?

JJ=1:0.1:10;

于 2013-10-05T09:36:29.017 回答