美文网首页
Octave——计算数据

Octave——计算数据

作者: 糖醋排骨盐酥鸡 | 来源:发表于2019-07-08 14:06 被阅读0次

    这是第三节

    # 矩阵计算
    >> A = [1 2;3 4;5 6];
    >> B = [7 8;9 10;11 12];
    >> C = [1 1;2 2];
    # 矩阵A ✖ 矩阵C
    >> A*C
    ans =
    
        5    5
       11   11
       17   17
    # 矩阵A与矩阵B相同位置的元素相乘
    # 运算符 . 一般都是表示元素运算
    >> A .* B
    ans =
    
        7   16
       27   40
       55   72
    #让A中的每个元素进行乘方操作
    >> 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(A)
    ans =
    
       0.00000   0.69315
       1.09861   1.38629
       1.60944   1.79176
    # 以A中元素为指数的幂运算
    >> exp(A)
    ans =
    
         2.7183     7.3891
        20.0855    54.5982
       148.4132   403.4288
    >> -A
    ans =
    
      -1  -2
      -3  -4
      -5  -6
    # 求所有元素的绝对值
    >> abs(-A)
    ans =
    
       1   2
       3   4
       5   6
    #相当于 C + ones(length(C))
    >> C + 1
    ans =
    
       2   2
       3   3
    # 矩阵转置
    >> A'
    ans =
    
       1   3   5
       2   4   6
    # 求矩阵中最大元素及其下标
    # 注意:如果是对矩阵求max,求的是矩阵每一列的最大值
    >> val = max(A)
    val =
    
       5   6
    
    >> val = max([1;2;3])
    val =  3
    >> [val,ind] = max(A)
    val =
    
       5   6
    
    ind =
    
       3   3
    
    >> [val,ind] = max([1;2;3])
    val =  3
    ind =  3
    #对向量的逻辑判断
    >> a = [3 5 9]
    a =
    
       3   5   9
    
    >> a < 7
    ans =
    
      1  1  0
    # 返回下标
    >> find(a < 7)
    ans =
    
       1   2
    # magic返回一个幻方矩阵(任意行列对角线的元素之和相同)
    >> a = magic(3)
    a =
    
       8   1   6
       3   5   7
       4   9   2
     >> a = [4 5 6.5]
    a =
    
       4.0000   5.0000   6.5000
    # 求所有元素之和
    >> sum(a)
    ans =  15.500
    # 求所有元素之积
    >> prod(a)
    ans =  130
    # 对所有元素向下取整
    >> floor(a)
    ans =
    
       4   5   6
    # 对所有元素向上取整
    >> ceil(a)
    ans =
    
       4   5   7
    # 取两个随机3X3矩阵中相同位置的较大值 组成的随机矩阵
    >> max(rand(3),rand(3))
    ans =
    
       0.31437   0.43204   0.60883
       0.18035   0.59451   0.95844
       0.70263   0.65017   0.40207
    >> A = magic(3)
    A =
    
       8   1   6
       3   5   7
       4   9   2
    #根据矩阵A的第一维度(列)取最大值
    >> max(A,[],1)
    ans =
    
       8   9   7
    #根据矩阵A的第二维度(行)取最大值
    >> max(A,[],2)
    ans =
    
       8
       7
       9
    # 求矩阵最大元素 
    ٴ>> max(max(A))  %等价于max(A(:))
    ans =  9
    # 求幻方对角线元素之和
     >> sum(sum(magic(9).*eye(9)))
    ans =  369
    # flipud的功能是让矩阵垂直翻转
    >> sum(sum(magic(9).*flipud(eye(9))))
    ans =  369
    >> A = magic(3)
    
    A =
    
       8   1   6
       3   5   7
       4   9   2
    # 求A的逆矩阵
    >> pinv(A)
    ans =
    
       0.147222  -0.144444   0.063889
      -0.061111   0.022222   0.105556
      -0.019444   0.188889  -0.102778
    

    相关文章

      网友评论

          本文标题:Octave——计算数据

          本文链接:https://www.haomeiwen.com/subject/pbrihctx.html