matlab点运算与不加点,MATLAB中的点运算与常规运算符规则

例如数组

.* 点乘ide

.^ 点乘幂spa

.\ 点左除get

./ 点右除数学

解释:点运算是对相同维数的矩阵的对应元素进行相应的运算。

it

矩阵的点积,就是加点的状况io

就是矩阵各个对应元素相乘, 这个时候要求两个矩阵必须一样大小class

矩阵的乘法,就是不加点的状况

就是矩阵a的第一行乘以矩阵b的第一列,各个元素对应相乘而后求和做为第一元素的值。

矩阵只有当左边矩阵的列数等于右边矩阵的行数时,它们才能够相乘,乘积矩阵的行数等于左边矩阵的行数,乘积矩阵的列数等于右边矩阵的列数

变量

在MATLAB里最核心的内容就是数组和数组运算,在MATLAB里矩阵和数组的差异不大,矩阵做为一种变换或映射算子的体现,在数学上有着严格的运算规则。数组不只承担matlab软件赋给它的一些运算规则,并且也实现矩阵运算的功能。

1 。 当你须要进行通常的(就像教科书讲的)矩阵(向量)运算时就直接用 *(^)。

2 。 当你须要把两(矩阵)向量 的对应位置相乘(求幂) 那就用 .*(.^)。软件

A*B(为线性代数中定义的矩阵乘法。按乘法定义要求必须有矩阵A的列数等于矩阵B的行数)

A.*B(符号数组的乘法,为按参量A与B对应的份量进行相乘。A与B必须为同型阵列,或至少有一个为标量)

例1

A=[1 2 3;4 5 6;7 8 9];B=A;A*B

ans =

30   36   42

66   81   96

102  126  150

>> B/A

ans =

1 00

0     1     0

0    0    1     %矩阵这样作是不行的!!!

>> A.*B

ans =

149

16   25   36

49   64   81

>> B./A

ans =

111

1    1    1

1    1    1

例2

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

>> a*b

??? Error using ==> mtimesInner matrix dimensions must agree.%这个是不行的!!

由于矩阵a 的行数和矩阵 b的列数并不相同,因此不能用 a*b

>> a.*b

ans =

4   10   18  (对应位置元素相乘)

>> a.*c

ans =

7   16   27

>> a/b

ans =

0.41558    (这个涉及到多项式求解了。。。)

>> a/c

ans =

0.25773

%其实是一个拟合的结果:a=kb,a=kc,k的一个拟合值。

>> a./b

ans =

0.25         0.4         0.5

>> a./c

ans =

0.14286        0.25     0.33333

因此,点乘或者点除都是一对一的乘或者除!!

Attention

特别注意:对于Ax=b的问题,若是A,b已知,那么,x=A\b(x等于A左除b)

>> A=[1 2;3 4;5 6];B=[3; 7; 11];>> x=A\B

x =

1           1

>> A*x

ans =

3           7          11

必须牢记一点:matlab的输入变量是矩阵,参与运算的矩阵维数必须对应!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值