matlab基本运算


前言

matlab基本运算包括算术运算、关系运算和逻辑运算。程序设计语言中一般都包含这三种运算。matlab的运算都是基于矩阵进行的,既有基于矩阵意义下的,也有基于矩阵元素的运算。


一、算术运算

基本算数运算

基本算术运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。

  • 加减运算
    要求矩阵同型。
    标量也可以和矩阵进行加减运算,此时是和每一个元素进行加减运算。

  • 乘法运算
    矩阵A和B相乘要求A的列数等于B的行数,即A和B维数和大小相容

  • 除法运算
    分为右除/和左除\。
    如果A矩阵是非奇异矩阵,则B/A等效于B*inv(A),A\B等效与inv(A)*B。
    对于矩阵来说,右除和左除表示两种不同的除数矩阵被除数矩阵关系。

      >> A=[1,2,3;4,2,6;7,4,9];
     >> B=[4,3,2;7,5,1;12,7,92];
     >> C1=B/A
     
     C1 =
     
        -0.1667   -3.3333    2.5000
        -0.8333   -7.6667    5.5000
        12.8333   63.6667  -36.5000
     
     >> C2=A\B
     
     C2 =
     
         0.5000   -0.5000   44.5000
         1.0000    0.0000   46.0000
         0.5000    1.1667  -44.8333
     
     >> 3/4
     
     ans =
     
         0.7500
     
     >> 4\3
     
     ans =
     
         0.7500
     
     >> a=[10.5,25]
     
     a =
     
        10.5000   25.0000
     
     >> a/5
     
     ans =
     
         2.1000    5.0000
     
     >> 5\a
     
     ans =
     
         2.1000    5.0000
    
  • 乘方运算
    一个矩阵的乘方运算可以表示为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,9];
>> B=[-1,0,1;1,-1,0;0,1,1];
>> C=A.*B

C =

    -1     0     3
     4    -5     0
     0     8     9

>> D=A*B

D =

     1     1     4
     1     1    10
     1     1    16

二、关系运算

关系运算符:<(小于)、<=(小于或等于)、>=(大于或等于)、==(等于)、~=(不等于)。
当两个比较量为标量时,直接比较两个数的大小。若关系成立,关系表达式结果为1,否者为0。

> 3>4

ans =

  logical

   0

>> x=5

x =

     5

>> x==5

ans =

  logical

   1

当参与比较的量为两同型矩阵时,最终关系运算结果时一个与原矩阵同型的矩阵,元素由0或1组成。
当参与比较的量为一个标量和一个矩阵时,把标量与矩阵的每个元素逐个比较,最终结果为一个与原矩阵同型的矩阵,元素由0或1组成。
例:建立三阶方阵A,判断A的元素是否为偶数。

	>> A=[24,35,13;22,63,23;39,47,80]
	
	A =
	
	    24    35    13
	    22    63    23
	    39    47    80
	
	>> P=rem(A,2)==0%rem函数为取余
	
	P =
	
	  3×3 logical 数组
	
	   1   0   0
	   1   0   0
	   0   0   1

三、逻辑运算

逻辑运算符:&(与)、|(或)和~(非)。
设两个标量a和b,运算规则:

  • a&b a、b全为非零时,运算结果为1,否则为0。

  • a|b a、b中只要有一个非零,结果为1。

  • ~a 当a为零时,运算结果为1;当a为非零时,运算结果为0。

      >> 3<4&6>5
     
     ans =
     
       logical
     
        1
     
     >> ~(9==1)
     
     ans =
     
       logical
     
        1
     
     >> ~9==1
     
     ans =
     
       logical
     
        0 
    

例:求水仙花数(水仙花数是指各位数字的立方之和等于该数本身的三位正整数)

>> m=100:999;
>> m1=rem(m,10);
>> m2=rem(fix(m/10),10);
>> m3=fix(m/100);
>> k=find(m==m1.*m1.*m1+m2.*m2.*m2+m3.*m3.*m3)

k =

    54   271   272   308

>> s=m(k)

s =

   153   370   371   407

三种运算有优先级,算术运算优先级最高,逻辑运算优先级最低,但逻辑运算是单目运算,优先级高于双目运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值