2013-05-09 83 views
-1

在Matlab中,我试图为for循环中的每个迭代分配一个名称。让我们以基本的for循环:为每个迭代分配一个名称

for i = 1:3 
x = i^2 
end 

而且输出是:

x = 1; 
x = 4; 
x = 9; 

我想要做的就是分配的x的作为x(1)x(2)x(3)。所以,我想要实现是有一个for循环输出:

x(1) = 1; 
x(2) = 4; 
x(3) = 9; 

回答

3

在for循环中你表现,标值x被在每次迭代更新。你可以做的是将迭代的值存储在向量中。

例如:

for i = 1:3 
    x(i) = i^2; 
end 

x是一个矢量,并且x(i)持有的第i次迭代。

+2

+1,但你也应该添加惯用的Matlab方法来做到这一点:i = 1:3; x = i。^ 2;作为最后的替代方案。 – Dan 2013-05-09 19:21:10