-1
我在用两个矩阵执行行乘法运算:A
和B
。Matlab下标赋值尺寸不匹配错误
A Subscripted assignment dimension mismatch
错误在线C(1,i) = A(i,:)*B;
上抛出。
我有一个语法错误导致=
符号的左右两侧的尺寸不相等吗?
function C = rowproduct(A,B)
[n,m]=size(A);
[p,q]=size(B);
C=zeros(1,n);
if(m == p)
for i=1:n
C(1,i) = A(i,:)*B;
end
else
error('matrix dimension mismatch');
end
end
更换
C(1,i) = A(i,:)*B;
没有解决问题。我试图用行乘法值(C(1,i))填充行向量(C)。 –奇怪......你会粘贴所有数据吗?我用这个样本进行了测试:a = rand(2,3); b = rand(3,2);'(在替换上面的代码后),它工作正常。 –
我的歉意 - 我又刺了一遍,这次它有效。在我的矩阵初始化过程中出现错误,并且在某些矩阵上抛出索引错误。 –