我想用每个向量创建一个Matrix V,但是我得到这个错误索引超过矩阵维度。我不明白为什么这不起作用,我错过了什么?
x1=[1 2 3];
x2=[1 4 3];
x3=[1 5 3];
x4=[1 6 3];
x=[];
V=[];
for i=1:1:4
V=[ones(size(x(i))) x(i)]
end
v =
[]
V =
[]
Index exceeds matrix dimensions.
答案 0 :(得分:0)
你想要完成什么?
在你的for循环中你的索引从1到4(包括1和4)。然而,您尝试访问x(i),其中x是一个空数组。因此,在第一次迭代(i = 1)中,您正在访问未定义的x(1)。这会导致索引超出界限错误。
另外,对于使用ones()函数,您应该用逗号分隔输入参数:
ones(size(x(i)), x(i))
代码示例
x = [1 2 3; 1 4 3; 1 5 3; 1 6 3];
V = zeros(size(x, 1), 1); % initialize V
for i = 1:1:size(x, 1)
V(i) = x(i, 1);
end
此示例返回矩阵x的每一行中第一个元素的向量。
V = [1; 1; 1; 1]