我有这个矩阵错误的矩阵乘法导致不是元素个数相同
mpsim =
1.0e+04 *
-2.2331
-0.4261
1.3810
3.1880
4.9951
6.8022
8.6092
这个矩阵
fvsim =
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
0 0 0.9000 0.1000 0 0 0
0 0 0 0.7500 0 0.2500 0
0 0 0 0 0 1.0000 0
0 0 0 0 0.5000 0 0.5000
0 0 0 0 0 0 1.0000
这个矩阵
lingsim =
3
3
3
3
3
3
3
3
3
3
4
4
4
4
6
5
6
7
7
我试图使用此代码,但出现错误
sizeA=size(mpsim,1);
sizeB=size(fvsim,1);
sizeC=size(lingsim,1);
outputsim = zeros(size(lingsim));
for i=1:sizeC
if lingsim(i)<=sizeB
outputsim(i)=sum(mpsim * fvsim(lingsim(i), :));
else
outputsim(i)=lingsim(i);
end
end
outputsim
In an assignment A(I) = B, the number of elements in B and I must be the same. Error in ftskutes (line 131) outputsim(i)=sum(mpsim * fvsim(lingsim(i), :));
如何解决这一问题?其实我假设sum(mpsim * fvsim(lingsim(i), :));
是1x1,但是当我尝试检查它是1x7。
这取决于你想要计算的东西。点产品,外部产品或元素产品。 – m7913d
我想计算矩阵中两个向量的内积 –
使用'dot'是我确定计算内积的最简单方法,正如我的答案中所建议的那样。 – m7913d