matlab 中.*和*有什么区别

发布网友 发布时间:2022-03-25 20:08

我来回答

14个回答

懂视网 时间:2022-03-26 00:29

matlab点乘和乘的区别是:

  

  1、乘是线性代数里的矩阵,例如a是m行n列的数组,b是i行j列的数组,n和i必须相等才能相乘,即“a*b”。

  

  2、点乘是数组中对应元素相乘,两个数组维数必须相等,即“m=i”,“n=j” 。

  

  3、如果是“x^y”,那y必须是标量,如果是“x.^y”,x、y数组维数也必须相等。

  

  

热心网友 时间:2022-03-25 21:37

“.*”和“*”的区别:

1、在进行数之间的运算时“.*”和“*”是没有区别的,都是表示普通的乘法运算。例:m = 2,n = 3,m.*n = 6, m*n = 6。

2、在进行矩阵之间的运算时“.*”和“*”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。

3、MATLAB 中用一个特殊的符号来区分矩阵运算和数组运算。在需要区分两者不同的时侯,把点置于符号前来指示这是一个数组运算(例如, .*)。线面给出的是一些常见的数组和矩阵运算。

数组加法:A+B,数组加法和矩阵加法相同。

数组减法:A-­B ,数组减法和矩阵减法相同。

数组乘法:A.*B,A 和 B 的元素逐个对应相乘,两数组之间必须有相同的形,或其中一个是标量。

矩阵乘法:A*B,A 和 B 的矩阵乘法,A 的列数必须和 B 的行数相同。

数组右除法:A./B,A 和 B 的元素逐个对应相除:A(i,j)/B(i,j)两数组之间必须有相同的形,或其中一个是标量。

数组左除法:A.\B,A 和 B 的元素逐个对应相除:B(i,j)/A(i,j)两数组之间必须有相同的形,或其中一个是标量。


扩展资料:

bandem :香蕉最优化展示expo-style banana optimization。

sshow filtdem :滤波效果演示filter effect demo。

sshow filtdem2 :滤波设计演示filter design demo。

cztdemo :FFT和CZT (两种不同类型的Z-变换算法)。

phone :演示电话通声音的时间与频率的关系。

sigdemo1 :离散信号的时频图,可用鼠标设置。

sigdemo2 :连续信号的时频图,可用鼠标设置。

filtdemo :低通滤波器的交互式设计。

moddemo :声音信号的调制。

sosdemo :数字滤波器的切片图。

neural :神经网络模块组。

firdemo :二维FIR滤波器。

nlfdemo :非线性滤波器。

dctdemo :DCT演示。

mlpdm1 :利用多层感知器神经网络拟合曲线动画。

mlpdm2 :利用多层感知器神经网络进行XOR问题运算。

invkine :运动逆问题。

juggler :跳球戏法。

fcmdemo :FCM。

slcp :类似倒立摆动画。

slcp1 :类似倒立摆动画cart and a varying pole。

slcpp1 :类似倒立摆动画,有两个摆,一个可以变化。

sltbu :卡车支援。

slbb :类似于翘翘板。

参考资料来源:百度百科-MATLAB

热心网友 时间:2022-03-25 22:55

“.*”和“*”的区别:

在进行数之间的运算时“.*”和“*”是没有区别的,都是表示普通的乘法运算。例:m = 2,n = 3,m.*n = 6, m*n = 6。

在进行矩阵之间的运算时“.*”和“*”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。

    MATLAB 中用一个特殊的符号来区分矩阵运算和数组运算。在需要区分两者不同的时侯,把点置于符号前来指示这是一个数组运算(例如, .*)。线面给出的是一些常见的数组和矩阵运算。

    数组加法:A+B,数组加法和矩阵加法相同。

    数组减法:A-­B ,数组减法和矩阵减法相同。

    数组乘法:A.*B,A 和 B 的元素逐个对应相乘,两数组之间必须有相同的形,或其中一个是标量。

    矩阵乘法:A*B,A 和 B 的矩阵乘法,A 的列数必须和 B 的行数相同。

    数组右除法:A./B,A 和 B 的元素逐个对应相除:A(i,j)/B(i,j)两数组之间必须有相同的形,或其中一个是标量。

    数组左除法:A.\B,A 和 B 的元素逐个对应相除:B(i,j)/A(i,j)两数组之间必须有相同的形,或其中一个是标量。

    矩阵右除法:A/B 矩阵除法,等价于 A*inv(B), inv(B)是 B 的逆阵。

    矩阵左除法:A\B 矩阵除法,等价于 inv(B)*A, inv(A)是 A 的逆阵。

    数组指数运算:A.^B,AB中的元素逐个进行如下运算:A(i,j)^B(i,j),A(i,j)/B(i,j)两数组之间必须有相同的形,或其中一个是标量。

    初学者往往混淆数组运算和矩阵运算。在一些情况下,两者相互替换会导致非法操作,MATLAB 将会报告产生了错误。在另一些情况下,两种运算都是合法的,那么这时 MATLAB进行错误的运算,并产生错误的结果。当我们进行方阵运算时,极易产生这样的错误。两个方阵具有相同的大小, 两者之间的数组运算和矩阵运算都是合法的, 但产生的结果完全不同。在这种情况下,你要万分的小心。

    热心网友 时间:2022-03-26 00:30

    .*为点乘运算,是指两个矩阵中对应元素进行乘法运算。要求两矩阵的维数相同。
    *为矩阵乘法,若A为m*n维矩阵,B为n*p为矩阵,则A*B为m*p维矩阵。

    热心网友 时间:2022-03-26 02:21

    付费内容限时免费查看回答MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。[1]

    MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。[1]

    MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

    MATLAB是什么?

    MATLAB 是一种商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的科学计算语言和编程环境,主要包括 MATLAB 和 Simulink 两大部分。

    MATLAB 的名字取自矩阵实验室(Matrix Laboratory),是由美国 MathWorks 公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算系统。

    MATLAB 将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。

    MATLAB 包括命令控制、可编程,有上百个预先定义好的命令和函数,这些函数能通过用户自定义函数进一步扩展。

    https://www.ndtimes.com.cn/news/176.html

    提问会这个吗

    回答一共有240种组合

    热心网友 时间:2022-03-26 04:29

    MATLAB中带“.”(读作“点”)的运算符都表示点运算。这就要求A.*B中的A、B必须同规格,然后对应点的数据相乘,结果也是一个与A、B相同规格的矩阵。(标量是1*1矩阵)
    MATLAB的数据单元是矩阵,*表示的是矩阵相乘。要求A*B中A的列数等于B的行数。(可以参考线性代数中的矩阵运算规则)

    基础问题可以去ilovematlab.cn查找答案

    热心网友 时间:2022-03-26 06:54

    来个例子吧

    A=[1,2;3,4];
    你先看一下
    A^2与A*A
    这两个的结果是矩阵相乘的结果。(矩阵相乘是有条件的:第一个矩阵的列数等于第二个矩阵的行数)
    而A.^2是矩阵对应元素相乘的结果

    好好理解上面的。再看下面的
    A=[1,2;3,4;5,6];
    再试一下:A^2与A.^2 (其中有一个是错的)
    然后仔细品味一下两者的区别。

    热心网友 时间:2022-03-26 09:35

    '.*'运算符用于矩阵间对应元素的相乘,或数与数之间,数与矩阵之间的相乘。
    '*'运算符用于一般数学意义下的相乘运算。
    这里有一个类似的问题,已经有人回答:http://zhidao.baidu.com/question/75505871.html。

    热心网友 时间:2022-03-26 12:33

    *代表变量相乘,或者矩阵相乘
    .*是矩阵中对应位置变量相乘,组成新得矩阵
    [1 2 3].*[3 4 5]=[3 8 15]
    就不能用*

    热心网友 时间:2022-03-26 15:48

    一个是点星,一个是星,多了一个点的区别

    热心网友 时间:2022-03-26 19:19

    禾在口左边,木在口中间!

    热心网友 时间:2022-03-26 23:24

    A\B 矩阵除法,等价于 inv(A)*B

    热心网友 时间:2022-03-27 03:45

    >> a=[1 2;3 4];>> b=[1 2;3 4];
    >> a/bans = 1 0 0 1>> a./bans = 1 1 1 1
    a/b相当于a乘b的逆a./b是a的每个元素与b的每个元素对应相除
    >> a=[1 2 3 4 5];>> b=3;>> a./b>> a/b这种情况下,结果就是一样的

    左除 右除
    :A/B=A*inv(B);

    A\B=inv(A)*B;

    >> a=magic(3)
    a =
    8 1 6
    3 5 7
    4 9 2
    >> b=pascal(3)
    b =
    1 1 1
    1 2 3
    1 3 6
    >> a/b
    ans =
    27 -31 12
    1 2 0
    -13 29 -12
    >> a*inv(b)
    ans =
    27 -31 12
    1 2 0
    -13 29 -12
    >> a\b
    ans =
    0.0667 0.0500 0.0972
    0.0667 0.3000 0.6389
    0.0667 0.0500 -0.0694
    >> inv(a)*b
    ans =
    0.0667 0.0500 0.0972
    0.0667 0.3000 0.6389
    0.0667 0.0500 -0.0694
    >> a/b-(b'\a')'
    ans =
    0 0 0
    0 0 0
    0 0 0

    综上所述:
    A\B : 表示inv(A)*B 解A*x=B
    B/A:表示B*inv(A) 解X*A=B

    热心网友 时间:2022-03-27 08:23

    你指的是在赋值时矩阵里逗号和空格的区别吧?
    其实没有区别,但是我个人比较偏向于用逗号,因为这样看得比较清楚,不容易看错,空格有时候容易看漏了
    声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
    E-MAIL:11247931@qq.com