matlab如何用一个列向量与另一个列向量对应相乘,生成一个列向量

如a=[1;3;5;7],b=[2;6;8;7]。求a1*b1,a1*b2,a1*b3,a1*b4,a2*b1,a2*b2·······生成4个列向量。
纠正一下,
E1=eijeryuan(:,1);
E=eijeryuan(:,2);
求E1(n)=E1(n-1)*E(1)*E(n)
E1(n)生成一个列向量‍a1*b1*b2a1*b1*b2

其实你的问题我也看不太明白,不过关于向量相乘,matlab里面向量相乘有三种情况,你参考下看哪种合适咯。一种是直接对应元素相乘用运算符(.*)如(a.*b)得到一个与a,b同维的向量;二种是向量点乘可以用a的转置乘以b也就是(a'*b)或者用函数实现(dot(a,b))得到一个常数;还有就是叉乘,得到一个与a、b向量正交的向量(cross(a,b)),这种情况a、b必须为三维向量。追问

还有一个问题:
for n=1:58
Bn
end
为什么错误?
想求一个矩阵包含(B1,B1~B58)怎么弄?

追答

for n=1:58
Bn
end
是语法错误了,第二句如果是要求矩阵乘以一个常数,就写成B*n。列向量a1、...、an组成A写成(A=[a1,...,an])或者用形式(A=[A,a])用一个循环一个个向量接上去。

追问

这是一个三维矩阵Bnij,就是含有B1(i,j),B2(i,j),B3(i,j)怎么用Bn表示n个矩阵。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
c = b.' * a;
得到的c是4*4的矩阵,正好是你要的四个列向量拼起来的。本回答被网友采纳
相似回答