matlab基本运算

1、算术运算

(1)基本算术运算

  i、基本算术运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。
      MATLAB的算术运算是在矩阵意义下进行的。
      单个数据的运算只是矩阵运算的一种特例。
  ii、加减运算
      若两个矩阵同型,则运算时两矩阵对应元素相加减。
      若两矩阵不同型,则MATLAB将给出错误信息。
      一个标量也可以和矩阵进行加减运算,这时把标量和矩阵的每一个元素进行加减运算。
  iii、乘法运算
      矩阵A和B进行乘法运算,要求A的列数与B的行数相等,此时则称A和B矩阵是可乘的,或称A和B矩阵维数和大小相容。
      如果不相容,则将报出错误信息,提示不可乘。
      >> a = [1,2,3;4,5,6]
      a =
           1     2     3
           4     5     6
      >> b = [1,2;3,4;5,6]
      b =
           1     2
           3     4
           5     6
      >> a*b
      ans =
          22    28
          49    64
  iv、除法运算
      在MATLAB中,有两种矩阵除法运算:右除/和左除\。    // A/B称为A右除以B    B\A称为左除以B
      如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),A\B等效于inv(A)*B。
      其中inv()函数功能为求矩阵的逆矩阵。且矩阵必须为方阵,不然会报错。
      >> a=[1,2;3,4]
      a =
           1     2
           3     4
      >> inv(a)
      ans =
         -2.0000    1.0000
          1.5000   -0.5000
      >> a*inv(a)
      ans =
          1.0000         0
          0.0000    1.0000
      对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系。
      >> a=[1,2;3,4]
      a =
           1     2
           3     4
      >> b=[5,6;7,8]
      b =
           5     6
           7     8
      >> a/b
      ans =
          3.0000   -2.0000
          2.0000   -1.0000
      >> a\b
      ans =
          -3    -4
           4     5
      对于含有标量的运算,两种除法的结果相同。将一下实例中的一个标量改为矩阵也符合。
      >> 4/3    //4右除以3
      ans =
          1.3333
      >> 3\4    //4左除以3
      ans =
          1.3333
  v、乘方运算
      一个矩阵的乘方运算可以表示成A^X,要求A为方阵,X为标量。

(2)点运算

  点运算符:.*(点乘)、./(点右除)、.\(点左除)、.^(点乘方)。
  两矩阵要求同型,进行点运算指对应元素进行相关运算
      >> a=[1,2;3,4]
      a =
           1     2
           3     4
      >> b=a
      b =
           1     2
           3     4
      >> a.*b
      ans =
           1     4
           9    16
  仍然用以上矩阵,此时可说明点右除和点左除结果相同。
      >> a./b
      ans =
           1     1
           1     1
      >> b./a
      ans =
           1     1
           1     1
  以下是一个容易出错的问题:当x=0.1、0.4、0.7、1的时候,分别求y=sin xcos x的值。
      >> x=0.1:0.3:1;    //初始值为0.1,终值为1,步长为0.3的行向量
      >> y=sin(x).*cos(x)    //sin x和cos x都为行向量,此时要用点乘,不然会因为不相容而报错。
      y =
          0.0993    0.3587    0.4927    0.4546

2、关系运算

(1)关系运算符:<、<=、>、>=、==、~=(不等于)。

  i、当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0.
      >> 3>4
      ans =
        logical
         0
      >> x=5;       //赋值
      >> x==5     //比较运算
      ans =
        logical
         1
  ii、当参与比较的量是两个同型的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个比较,最终关系运算的结果是
       一个与原矩阵同型的矩阵,它的元素由0或1组成。
  iii、当参与比较的一个是标量,一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,最终关系运算的结果
       是一个与原矩阵同型的矩阵,它的元素由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()函数功能为求余数,此处矩阵各项对2取余,并逐个与标量0比较
           P =
             3×3 logical 数组
              1   0   0
              1   0   0
              0   0   1

3、逻辑运算

(1)逻辑运算符:&(与)、|(或)、~(非)

   i、设参与逻辑运算的是两个标量a和b,那么运算规则为:
      a&b:a、b全为非零值时,运算结果为1,否则为0.
      a|b:a、b中只要有一个为非零时,结果为1.
      ~a:当a为零时,结果为1;当a非零时,结果为0.
       >> ~(9==1)
       ans =
         logical
          1

(2)优先级:

在算术运算、关系运算和逻辑运算中,算术运算的优先级最高,逻辑运算符优先级最低,在逻辑运算中,单目运算比双目运算的优先级高。

(3)含矩阵运算:

  i、当参与逻辑运算的是两个同型的矩阵时,对两矩阵相同位置的元素按标量关系运算规则逐个进行运算,最终逻辑运算的结果是
       一个与原矩阵同型的矩阵,它的元素由0或1组成。
  ii、当参与逻辑运算的一个是标量,一个是矩阵时,则把标量与矩阵的每一个元素按标量逻辑运算规则逐个比较,最终逻辑运算的
       结果是一个与原矩阵同型的矩阵,它的元素由0或1组成。

4、实例:水仙花数是指各位数字的立方之和等于该数本身的三位正整数。求全部水仙花数。

m=100:999; //所有三位数组成的行向量
m1=rem(m,10); //每个三位数对10取余得到个位数字组成的行向量
m2=rem(fix(m/10),10); //fix()直接舍去小数部分,再对10进行取余,得到十位数字组成的行向量
m3=fix(m/100); //直接舍去三位数除以100之后的数的小数部分得到百位数字组成的行向量
k=find(m==m1.*m1.*m1+m2.*m2.*m2+m3.*m3.*m3) //此处要用点乘,不然会因为不相容而报错
k =
54 271 272 308 //find()函数得到使得逻辑运算表达式结果为真的行向量m中元素的序号

s=m(k)
s =
153 370 371 407 //索引得到所有满足条件的三位数

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值