在我目前的分析中,我试图将维度 nxm 的矩阵(flm)与矩阵 nxmxp 的逆矩阵相乘,然后使用此结果将它乘以矩阵的倒数(flm)。
我正在尝试使用以下代码:
flm = repmat(Data.fm.flm(chan,:),[1 1 morder]); %chan -> is a vector 1by3
A = (flm(:,:,:)/A_inv(:,:,:))/flm(:,:,:);
然而。由于尺寸问题,我收到以下错误消息: 使用==>时出错mrdivide 输入必须是2-D或至少一个 输入必须是标量。 要计算元素RDIVIDE,请使用 相反,RDIVIDE(./)。
我不知道如何在不使用 for 循环的情况下继续进行,所以任何人都可以提出建议吗?
答案 0 :(得分:1)
我认为你正在寻找一种方法来方便地乘以矩阵,当一个矩阵的维数高于另一个矩阵。在这种情况下,您可以使用bxsfun
自动展开'较小的矩阵。
x = rand(3,4);
y = rand(3,4,5);
bsxfun(@times,x,y)
这很简单,效率很高。
请务必查看doc bsxfun
以获取更多示例。