matlab 中.*和*有什么区别

2024-11-18 00:40:25
推荐回答(5个)
回答1:

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

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

回答2:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    回答3:

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

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

    回答4:

    来个例子吧

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

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

    回答5:

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