FOR循环列向量与行向量

时间:2013-07-31 09:43:10

标签: matlab for-loop

我只是在Matlab中编写了一个“kinda-foreach”循环并遇到了这种奇怪的行为:

我有矩阵A:

A = [
 3
 9
 5
 0];

我希望在A上使用foreach循环(如here所述)。

如果我写这个:

for i = A
     disp('for')
     i    
end

结果将是:

for

i =

     3
     9
     5
     0

但是当我使用转置时,结果会改变:

for i = A'
     disp('for')
     i    
end

结果:

for

i =

     3

for

i =

     9

for

i =

     5

for

i =

     0

我想要的结果是什么。

有人可以解释这里发生了什么吗?这两种情况有什么区别?

2 个答案:

答案 0 :(得分:6)

输入

时输入

A = [
3
9
5
0];

您创建一个列向量。因为Matlab迭代列,所以你会得到一个答案(第一列)。通过转置它,你会得到一个包含4列的行向量,因此每个列有4个答案。

答案 1 :(得分:5)

在Matlab中,for循环遍历列。 http://www.mathworks.es/es/help/matlab/ref/for.html