2012-10-14 68 views
6

我有大小为50 * 2的矩阵(矢量)r =[2 4]report矩阵。我想把r放在report矩阵的第1行。 当我运行在MATLAB中为矢量分配一个矩阵行

with report(1)=r; 

MATLAB返回此错误:

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

我怎样才能解决这个问题?

回答

10
report(1,:)=r 

你需要指定的列也是如此。否则report(1)是一个标量,r是一个向量,你会得到一个错误。

+0

这个答案覆盖报告(1,:)中第1行的当前值,在报告中的现有行之前添加r的方法,可以使用user1319936的答案。 – Rune

4

除非我失去了一些东西,你只是想有一个向量作为矩阵的第一行:

report = [r;report]

+0

@angainor的答案会覆盖报告(1,:)中第1行的当前值,以便在报告中存在的行之前添加r,您可以使用此答案。 请注意,随着桌子变大,它需要比angainor的答案长得多的指数时间,以防万一你想以这种方式添加数千行! – Rune