我在Matlab中有类似的代码
...
Kx=cell(10,10,10);
Kx2=cell(ee_max)
bX=cell(10,10)
bX2=cell(ee_max)
...
Kx{ee,ii,jj}=(1/36*VX{ee})*(alphX{ee,x}*bX{ee,ii}*bX{ee,jj}+alphX{ee,y}*cX{ee,ii}*cX{ee,jj}+alphX{ee,z}*dX{ee,ii}*dX{ee,jj})+VX{ee}*1/20*betaX{1+delXX{ii,jj}};
bX{ee,ii}=VX{ee}*(1/4)*f{ee}
...
Kx2{ee}=Kx{ee,:};
bX2{ee}=bX{ee,:};
phi_next=cell(4,4);
...
phi_next{ee}=bX2{ee}/Kx2{ee}
....
我在此行收到错误
phi_next{ee}=bX2{ee}/Kx2{ee}
作为
??? Error using ==> mldivide
Matrix dimensions must agree.
所以,我该怎么办? 问候
答案 0 :(得分:0)
使用 ./ 代替 / 。 代码不完整,因此您可能在其他矩阵维度上有其他错误。 如果您发现其他错误,则在将矩阵与不同维度相乘时,也可以使用。* 而不是*。
实施例: 答:3行,4列 B:2行,4列 C:4行,1列
您可以使用*乘以A和C(3x4)(4x1)或B和C(2x4)(4x1)。
但是你需要。* 来乘以A和B(3x4)(2x1)。