matlab 中在一个语句中连着出现矩阵相乘和矩阵点乘,请问是按先后顺序来计算的还是有特殊优先级的???

来自:    更新日期:早些时候
matlab中点乘和乘有什么区别~

matlab运算的实质是矩阵运算,所以当让两个矩阵相乘时,是按矩阵相乘算出的,点乘则是相应位置的元素乘相应位置的元素。

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

matlab计算两矩阵点乘的具体步骤如下:
1、首先打开MATLAB软件,在命令窗口输入一个矩阵,比如A=[1 2;3 4]。

2、然后按回车键,得到一个2维矩阵A。

3、然后在命令窗口继续输入一个矩阵,比如B=[5 6;7 8]

4、然后按回车键,得到一个2维矩阵B。

5、最后输入C=A*B。

6、按回车键,得到两个矩阵的乘积C矩阵。

矩阵的相乘是指的A(i,k)*B(k,j) = C(i,j) 对应于高等代数里面规定的矩阵的乘积。
而点乘是指的对应的元素的乘积(维数必须完全相等)
//////这两种乘积在matlab里面 ‘优先级是相同的’
也就是说按先后顺序来计算,要想改变顺序或改变运算可以用添加括号的方式来实现。

这个点乘和直接相乘是不同概念的,点乘是数组相乘,直接乘是矩阵相乘;

举个列子:

>> a=[1 2 3
4 5 6
7 8 9];
>> b=[1 2 3
4 5 6
7 8 9];
>> c=a.*b

c =
1 4 9
16 25 36
49 64 81

>> d=b*b
d =
30 36 42
66 81 96
102 126 150

>>

有影响吗?我觉得顺序不影响最终结果。

刚开始我也觉得是同级的,但昨天看了一个程序,似乎不是这样的,大哥你这个确定吗?可能是他们的程序有问题。呵呵
处于同级的运算符优先级是相同的/
优先级从低到高:
1.先决或(||);
2.先决与(&&);
3.逻辑或(|);
4.逻辑与(&);
5.等于类(,>=,==,~=);
6.冒号运算(:);7.加减(+,-);
8.乘除类(点乘.*,矩阵乘*,元素左右除.\,/.,矩阵左右除\,/);
9.正负号(+,-);
10.转置类(矩阵转置.',共轭转置',幂次^,矩阵幂次^);


matlab 中在一个语句中连着出现矩阵相乘和矩阵点乘,请问是按先后顺序来计算的还是有特殊优先级的???视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网