2.5.1Matlab学习笔记之数据与运算-算术运算

MATLAB算术运算

MATLAB 的运算都是针对矩阵而言的,既有矩阵意义下的运算,也有针对矩阵元素的运算。 就运算的性质而言,有算术运算、关系运算和逻辑运算。

一.基本算术运算

MATLAB 的基本算术运算有+(加)、 一 (减)、*(乘)、/(右除)、\(左除)、^(乘方)。 这些算术运算的运算规则不难理解,但必须注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。

1.矩阵加减运算
  • 假定有两个矩阵AB, 则可以由A+BA-B 实现矩阵的加减运算。

  • 运算规则是,若AB 同型,则可以执行矩阵的加减运算,AB 的相应元素相加减。如果AB不同型,则MATLAB 将给出错误信息,提示用户两个矩阵的维数或大小不匹配。

  • 一个标量也可以和矩阵进行加减运算,这时把标量和矩阵的每一个元素进行加减运算。

    >> x=[2,-1,0;3,2,-4];
    >> y=x-1 
    
    y =
    
         1    -2    -1
         2     1    -5
    
2.矩阵乘法

假定有两个矩阵AB, 若A 为m×n矩 阵 ,B 为n×p矩阵,则C=A × B为 m×p矩阵,其各个元素为image-20241009175842818,(i=1,2,…,m;j=1,2,…,p)

>> A=[1,2,3;4,5,6]; 
>> B=[1,2;3,0;7,4];
>> C=A*B 

C =

    28    14
    61    32

矩阵AB进行乘法运算,要求A 的列数与B的行数相等,此时则称AB 矩阵是可乘的,或称AB两矩阵维数和大小相容,如果两者的维数或大小不相容,则将给出错误信息,提示用户两个矩阵是不可乘的。

>> A=[10,20,30;40,50,60];
>> B=[1,3;4,7];
>> Y=A*B
错误使用  * 
内部矩阵维度必须一致。

在 MATLAB 中,还可以进行矩阵和标量相乘运算,标量可以是乘数也可以是被乘数。矩阵和标量相乘是矩阵中的每个元素与此标量相乘

3.矩阵除法 ★★

在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。如果 A 矩阵是非奇异方阵,则A\B和 B/A 运算可以实现。

  • A\B 等效于A 的逆左乘B矩阵,也就是 inv(A)*B;

  • 而 B/A 等效于A矩阵的逆右乘B 矩阵,也就是B*inv(A)

  • 对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相同的值,都等于0.75。

  • 对于矩阵来说,左除和右除表示两种不同的 除数矩阵和被除数矩阵的关系。对于矩阵运算,一般 A\B≠B/A。

    >> A=[1,2,3;4,2,6;7,4,9]
    
    A =
    
         1     2     3
         4     2     6
         7     4     9
    
    >> B=[4,3,2;7,5,1;12,7,92]
    
    B =
    
         4     3     2
         7     5     1
        12     7    92
    
    >> C1=A\B
    
    C1 =
    
        0.5000   -0.5000   44.5000
        1.0000    0.0000   46.0000
        0.5000    1.1667  -44.8333
    
    >> C2=B/A
    
    C2 =
    
       -0.1667   -3.3333    2.5000
       -0.8333   -7.6667    5.5000
       12.8333   63.6667  -36.5000
    
4.矩阵的乘方★

一个矩阵的乘方运算可以表示成A^x, 要 求A 为方阵,x 为标量。

>> A=[1,2,3;4,5,6;7,8,0];
>> A^2

ans =

    30    36    15
    66    81    42
    39    54    69

矩阵的开方运算是相当困难的,但用户可以利用计算机方便地求出一个矩阵的方根。

>> A=[1,2,3;4,5,6;7,8,0]

A =

     1     2     3
     4     5     6
     7     8     0

>> A^0.1

ans =

   0.9750 + 0.2452i   0.1254 - 0.0493i   0.0059 - 0.0604i
   0.2227 - 0.0965i   1.1276 + 0.1539i   0.0678 - 0.1249i
   0.0324 - 0.1423i   0.0811 - 0.1659i   1.1786 + 0.2500i
二、点运算 ★★★

在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。

点运算符有 .* 、 ./ 、 .\ 和 .^ 。

点运算是指它们的对应元素进行相关运算, 要求两矩阵同型。

>> A=[1,2,3;4,5,6;7,8,9]

A =

     1     2     3
     4     5     6
     7     8     9

>> B=[-1,0,1;1,-1,0;0,1,1]

B =

    -1     0     1
     1    -1     0
     0     1     1

>> C=A.*B

C =

    -1     0     3
     4    -5     0
     0     8     9
     
A.*B 表示A和B单个元素之间对应相乘,显然与A*B 的结果不同。

如果A 、B两矩阵同型,则A./B表示A矩阵除以B矩阵的对应元素。B.\A等价于A./B。

>> A=[1,2,3;4,5,6]

A =

     1     2     3
     4     5     6

>> B=[-2,1,3;-1,1,4]

B =

    -2     1     3
    -1     1     4

>> C1=A./B

C1 =

   -0.5000    2.0000    1.0000
   -4.0000    5.0000    1.5000

>> C2=B.\A

C2 =

   -0.5000    2.0000    1.0000
   -4.0000    5.0000    1.5000  

显然,A./B和B.\A值相等。这与前面介绍的矩阵的左除、右除是不一样的。

若两个矩阵同型,则A.^B 表示两矩阵对应元素进行乘方运算

>> A=[1,2,3]

A =

     1     2     3

>> B=[4,5,6]

B =

     4     5     6

>> C=A.^B

C =

     1    32   729
     
%指数可以是标量
A =

     1     2     3

>> C=A.^2

C =

     1     4     9

%底也可以是标量
>> A=[1,2,3]

A =

     1     2     3

>> B=[4,5,6]

B =

     4     5     6

>> C=2.^[A B]

C =

     2     4     8    16    32    64

注意:点运算是MATLAB很有特色的一个运算符,在实际应用中起着很重要的作用,也是许多初学者容易弄混的一个问题

Matlab学习笔记内容来源于《MATLAB程序设计与应用 第三版》刘卫国主编

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值