【发布时间】:2016-02-23 03:19:33
【问题描述】:
我是 Matlab 世界的菜鸟,我想在矩阵中所有行的开头附加一个值。
mat =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
myval = 98;
我想得到一个像这样的矩阵:
mat =
98 16 2 3 13
98 5 11 10 8
98 9 7 6 12
98 4 14 15 1
我该怎么办?
我知道我们可以使用像[a b] 这样的水平连接,但这里myval 和mat 的维度不同
我是这样做的:
m = ones(4,1)*98
m =
98
98
98
98
mat = [m mat]
mat =
98 16 2 3 13
98 5 11 10 8
98 9 7 6 12
98 4 14 15 1
有没有更好的办法?
谢谢
【问题讨论】:
-
你使用的方法是完全有效的;但是请注意,您不需要将新列分配给它自己的参数
m(除非您想重新使用它);mat = [ones(4,1)*98 mat]也可以。另一种选择是使用repmat,即mat = [repmat(98,4,1) mat]。