c1=[1 2 3 4 5 6];
c2=[4 5 6 7 8 9 10];
c3=[3 5 7 11 12 13];
o1=intersect(c1,union(c2,c3));
o2=intersect(c2,union(c1,c3));
o3=intersect(c3,union(c1,c2));
p=(c1.*c2).*c3;
ND21=1;
ND22=2;
ND23=3;
CIa1=1/(ND21);
CIa2=1/(ND22);
CIa3=1/(ND23);
CIp1=(c1-o1)/p;
CIp2=(c2-o2)/p;
CIp3=(c3-o3)/p;
Eavg1=(Ecur1+Ecur2+Ecur3)/ND21;
Eavg2=(Ecur1+Ecur2+Ecur3)/ND22;
Eavg3=(Ecur1+Ecur2+Ecur3)/ND23;
我想要乘以c1
和c2
这是一个不相等的矩阵。我收到以下错误:
??? Error using ==> times
Matrix dimensions must agree.
Error in ==> batwsn at 13
p=(c1.*c2).*c3;
答案 0 :(得分:0)
矩阵乘法的规则是,只有当第一列中的列数等于第二列中的行数时,才能将两个矩阵相乘。这是一个数学原理,所以基本上你不应该期望MatLab这样做。
你最接近的是用零填充其中一个矩阵以获得符合规则的尺寸 - 但你可能得不到你期望的结果。