Matlab的算术运算符

来源:互联网 发布:川大生活服务 网络 编辑:程序博客网 时间:2024/05/16 19:13
  1. 标量运算
  2. 矩阵运算
  3. 数组运算
  4. 运算优先级

>> 5+6
ans =
    11
>> 5-6
ans =
    -1
>> 8*3
ans =
    24
>> 8/2
ans =
     4
>> 2\8
ans =
     4
>> 2^2
ans =
     4
>> power(2,2)
ans =
     4

// power函数,可以代替^(平方符号)进行平方运算

>> 3*(((4+2)*5)-1)
ans =
    87

//matlab程序中无大括号、中括号运算,都使用小括号,先内后外

//上面是几类标量运算的例子

·································································································
>> a=[1 2 3;4 5 6;7 8 9]
a =
     1     2     3
     4     5     6
     7     8     9
>> b=magic(3)
b =
     8     1     6
     3     5     7
     4     9     2
>> a+b
ans =
     9     3     9
     7    10    13
    11    17    11

>> a-b
ans =
    -7     1    -3
     1     0    -1
     3    -1     7

//a*b和b*a之类,属于矩阵的乘法,按线性代数所学内容运算,固a*b、b*a,一般结果不同
>> a*b
ans =
    26    38    26
    71    83    71
   116   128   116
>> b*a
ans =
    54    69    84
    72    87   102
    54    69    84
>> a/b
ans =
   -0.0333    0.4667   -0.0333
    0.1667    0.6667    0.1667
    0.3667    0.8667    0.3667
>> a*inv(b)
ans =
   -0.0333    0.4667   -0.0333
    0.1667    0.6667    0.1667
    0.3667    0.8667    0.3667

//调用inv函数,inv(b)为b的逆矩阵
>> a^2
ans =
    30    36    42
    66    81    96
   102   126   150
>> a.^2
ans =
     1     4     9
    16    25    36
    49    64    81

// 矩阵运算加 .  .^n,.*均为算数意义上平方运算和乘法运算,看例子
>> a
a =
     1     2     3
     4     5     6
     7     8     9
>> a.*b
ans =
     8     2    18
    12    25    42
    28    72    18
>> a=[1 2 3]
a =
     1     2     3
>> b=[1 2 3]'
b =
     1
     2
     3
>> a*b
ans =
    14
>> a.*b
??? Error using ==> times
Matrix dimensions must agree.

//a.*b,即a里面的数去乘b上对应位置的数,a为行矩阵,b为列矩阵,固没有对应位置

>> a.^2
ans =
     1     4     9
>> a.*2
ans =
     2     4     6
>> a.\2
ans =
    2.0000    1.0000    0.6667
>>

原创粉丝点击