zrcd.net
当前位置:首页 >> mAtlAB两个数组相乘 >>

mAtlAB两个数组相乘

* 表示矩阵与矩阵相乘,满足线性代数上学的矩阵与矩阵的乘法,*表示矩阵中元素与元素相乘,这两个矩阵的维数必需相同.例如:A.*B,那么A是m行n列的话,B必须也是m行n列.其他的如: “/ 与 ./ ” ,“.^ 与 ^ ”的含义都是一样的.扩展

试一试改成data(n)=str2num(answer{1});inputdlg返回的元胞数组里是字符串,不是数值类型.

改成这样: n=0; a=[0 pi/3 pi/2 pi]; for i=1:1:4 t=0:2*pi/100:2*pi; x=sin(t); y=sin(n*t+a(i)); subplot(2,2,i); plot(x,y); end

只是a.*b不就可以了,得到[2 8 15 24 35],你想实现什么呢

直接输入C=A*B就可以,A和B都是一个矩阵,当然要求A的列数和B的行数相等

MATLAB中矩阵各列元素求积,各行元素求积用到了prod函数.一、进入MATLAB界面:二、在命令行窗口输入要进行处理的矩阵 三、输入 b=prod(a),敲击回车 四、以上便是matlab两个矩阵元素相乘计算方法.

1、打开matlab,在命令行窗口中输入a=[2 4;6 9],b=[1 5;5 8],创建2行2列的a,b矩阵,如下图所示.2、使用矩阵点乘,两个矩阵的对应位置元素相乘,在命令窗口中输入“a.*b”,如下图所示.3、按回车键之后,可以看到得到的结果是a和b矩阵对应项相乘的结果,一般两个矩阵相乘的话,都使用点乘.4、我们也可以看一下一般乘法,a*b.5、按回车键,得到的结果是两个矩阵相乘的结果.

这个程序有问题a(i+1)=a(i).*B(i);每运行一次,向量a就被刷新一次,a已经不是最初定义的a了

这主要是因为计算机的工作原理:matlab自带的a*b算法是在汇编级别编辑好的运算,计算机不用做多余的工作,直接对矩阵中的数据进行相乘处理.计算机处理过程大体是:寻两个矩阵地址-加载乘法函数-运算并将结果写入相应地址-地址位加1-

这涉及到矩阵的操作.比如a=[3 6 9],b =[1 2 3]要实现对应的元素相除,用这个命令“a./b”,即点除.点除就实现了你要的功能.扩展:matlab是基于矩阵操作的,对元素的操作都要用到“.”,比如两个矩阵对应元素相乘,即为“a.*b”,相当地方便.在本例中,a.*b=[3 12 27].总结:我是怎么知道的呢?看些入门的书,但更重要的借助matlab自己自带的强大的帮助的功能建议你 help .你会发现很多惊喜.本人非常喜欢用matab,我的生活离不开matlab.希望你努力学习,早日成为高手!

网站首页 | 网站地图
All rights reserved Powered by www.zrcd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com