octave基本指令3

octave基本指令3

数据运算

>> a = [1 2; 3 4; 5 6];
>> b = [11 12; 13 14; 15 16];
>> c = [1 1;2 2]
>> a*c %矩阵相乘
ans = 
    5    5
   11   11
   17   17

% '.'按位运算
>> a .*b  % 点乘,将a中的每一个元素和b中的对应元素相乘
ans = 
    11   24
    39   56
    75   96
>> a .^ 2 %将a中每一个元素平方
ans = 
    1    4
    9   16
   25   36
>> v = [1; 2; 3]
>> 1 ./ v
ans = 
    1.00000
    0.50000
    0.33333
>> log(v) %对每一位取自然对数
ans = 
    0.00000
    0.69315
    1.09861
>> exp(v) %对每一位取自然指数
ans = 
    2.7183
    7.3891
   20.0855
>> abs([-1; 2; -3]) %对每一位取绝对值
ans = 
    1
    2
    3
>> -v %取反
ans =
   -1
   -2
   -3
>> v + ones(length(v),1) %矩阵相加
ans = 
    2
    3
    4
>> v + 1 %每一位加1
ans = 
    2
    3
    4
>> a' %转置矩阵
ans =
  1   3   5
  2   4   6

>> a = [1 15 2 0.5]  
>> max(a) %求矩阵中的最大值
ans = 15
>> b = [1 7; 8 4; 5 6];
>> [val, ind] = max(b) %val为b中每列的最大值,ind是最大值的索引
val =
   8   7
ind =
   2   1
>>max(max(b))
ans = 8
>> b < 5 %b中元素是否小于5
ans =
   1   0
   0   1
   0   0
>> find(b<5) %求b中小于5的元素的索引
ans =
   1    %1的索引是1
   5    %4的索引是5
>> magic(4) %magic矩阵是指每一行列相加之和都相同
ans =
   16    2    3   13
    5   11   10    8
    9    7    6   12
    4   14   15    1
>>sum(b) %每一列之和
ans =
   14   17
>> sum(b,1) %每一列之和
ans =
    14   17
>> sum(b,2) %每一行之和
ans =
    8
   12
   11
>> prod(b) %乘积
ans =
    40   168
>> floor(b)  %向上四舍五入
>> ceil(b)  %向下四舍五入

>>eye(3)
ans=
   1  0  0
   0  1  0
   0  0  1
>> a=[1 2 3; 4 5 6; 7 8 9;10 11 12]
a =
    1    2    3
    4    5    6
    7    8    9
   10   11   12
>> flipud(a) %flipud 表示向下翻转
ans =
   10   11   12
    7    8    9
    4    5    6
    1    2    3
>> a=magic(3)
a =

   8   1   6
   3   5   7
   4   9   2

>> b=pinv(a) %a的伪逆矩阵,可视作a的逆矩阵
b =

   0.147222  -0.144444   0.063889
  -0.061111   0.022222   0.105556
  -0.019444   0.188889  -0.102778
>> a*b
ans =
  1.0000e+000  -1.2212e-014   6.3283e-015
  5.5511e-017   1.0000e+000  -2.2204e-016
 -5.9952e-015   1.2268e-014   1.0000e+000

posted on 2017-02-03 21:49  403forbidden  阅读(149)  评论(0编辑  收藏  举报

导航