octave-计算数据

矩阵相乘和点乘

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

   1   2
   3   4
   5   6

>> B =[11 12;13 14;15 16]
B =

   11   12
   13   14
   15   16

>> C=[1 1;2 2]
C =

   1   1
   2   2

>> A * C
ans =

    5    5
   11   11
   17   17

>> A .*B
ans =

   11   24
   39   56
   75   96

什么是矩阵相乘和点乘?

.^矩阵中每个元素的平方

>> A .^ 2
ans =

    1    4
    9   16
   25   36

./矩阵中每个元素的倒数

>> 1./A
ans =

   1.00000   0.50000
   0.33333   0.25000
   0.20000   0.16667

.点号表示对每一个元素进行操作

对数运算log()和幂次运算exp()

>> v = [1;2;3]
v =

   1
   2
   3

>> log(v)
ans =

   0.00000
   0.69315
   1.09861

>> exp(v)  %以?为底
ans =

    2.7183
    7.3891
   20.0855

矩阵的转置

>> A
A =

   1   2
   3   4
   5   6

>> A'
ans =

   1   3   5
   2   4   6

>> (A')'
ans =

   1   2
   3   4
   5   6

find()返回元素索引

>> a = [1 15 2 0.5]  
a =

    1.00000   15.00000    2.00000    0.50000
    
>> find(a<3)  %1,3,4的位置上元素小于3
ans =

   1   3   4

magic()魔方阵,所有的行和列和对角线加起来都等于相同的值


>> magic(3)
ans =

   8   1   6
   3   5   7
   4   9   2

>> magic(4)
ans =

   16    2    3   13
    5   11   10    8
    9    7    6   12
    4   14   15    1

magic()和find()合用

>> A = magic(3)
A =

   8   1   6
   3   5   7
   4   9   2

>> [r,c] = find(A>7) %一行三列和三行二列大于7
r =

   1
   3

c =

   1
   2

prod()所有元素乘起来

>> prod(a)
ans =  15

floor()向下四舍五入和ceil()向上四舍五入

>> floor(a)
ans =

    1   15    2    0

>> ceil(a)
ans =

    1   15    2    1

max()求元素最大值,默认求列最大

>> A
A =

   8   1   6
   3   5   7
   4   9   2

>> max(A)  %每一列的最大值
ans =

   8   9   7
   
>> max(A,[],1)  %每一列的最大值
ans =

   8   9   7

>> max(A,[],2)  %每一行的最大值
ans =

   8
   7
   9
   
>> max(max(A))  %矩阵的最大值
ans =  9

sum()所有元素加起来.默认求列和

>> A
A =

   8   1   6
   3   5   7
   4   9   2
   
>> sum(A,1)  %每一列的和
ans =

   15   15   15

>> sum(A,2)  %每一行的和
ans =

   15
   15
   15

>> A = magic(9)  %魔幻阵A 9*9
A =

   47   58   69   80    1   12   23   34   45
   57   68   79    9   11   22   33   44   46
   67   78    8   10   21   32   43   54   56
   77    7   18   20   31   42   53   55   66
    6   17   19   30   41   52   63   65   76
   16   27   29   40   51   62   64   75    5
   26   28   39   50   61   72   74    4   15
   36   38   49   60   71   73    3   14   25
   37   48   59   70   81    2   13   24   35

>> A .* eye(9)
ans =

   47    0    0    0    0    0    0    0    0
    0   68    0    0    0    0    0    0    0
    0    0    8    0    0    0    0    0    0
    0    0    0   20    0    0    0    0    0
    0    0    0    0   41    0    0    0    0
    0    0    0    0    0   62    0    0    0
    0    0    0    0    0    0   74    0    0
    0    0    0    0    0    0    0   14    0
    0    0    0    0    0    0    0    0   35

>> sum (A.*eye(9))  %每列求和
ans =

   47   68    8   20   41   62   74   14   35

>> sum(sum (A.*eye(9)))  %矩阵元素总和
ans =  369

逆矩阵pinv()

>> A =magic(3)
A =

   8   1   6
   3   5   7
   4   9   2

>> temp =pinv(A)
temp =

   0.147222  -0.144444   0.063889
  -0.061111   0.022222   0.105556
  -0.019444   0.188889  -0.102778

>> temp * A
ans =

   1.00000   0.00000  -0.00000
  -0.00000   1.00000   0.00000
   0.00000   0.00000   1.00000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值