如何通过循环生成矩阵?

时间:2011-09-02 10:51:38

标签: matlab matrix

我想知道如何在Matlab中获取这些:

a = 
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 10
9 11
10 12

我想要做的结构真的有2千个文件。但我会从更简单的事情开始。 所以我想通过一个循环来做这件事:

for i=1:1:10
a(i) = [i i+2]
end

但这会产生错误:

???  In an assignment  A(I) = B, the number of elements in B and
I must be the same.

我的想法是使用for循环生成一个完整的矩阵(或结构,我认为两者都是相同的......)(或者可能有一种方法可以在没有任何循环的情况下进行...)。 有人能告诉我怎么做吗? 非常感谢你!

2 个答案:

答案 0 :(得分:3)

for循环中,您要为阵列的一个元素分配两个数字a。试试

for i=1:1:10
  a(i,:) = [i i+2];
end

代替。或者,只需使用

a=[(1:10)' (3:12)'];

取代你的循环......

答案 1 :(得分:0)

特定矩阵 w / o循环,其中 n 为否。行:

n=10;
a=(1:n)';
m=[a  a+2];