zoukankan      html  css  js  c++  java
  • Octave(1)

    size(A)返回矩阵A的大小:

    >> A=[1 2;3 4;5 6];
    >> size(A) %返回矩阵A 的大小
    ans =
    
       3   2
    >> size(A,1) %返回A的第一维度大小(行数)
    ans =  3
    >> size(A,2) %返回A 的第二维度大小(列数)
    ans =  2
    
    >> v=[1 2 3 4]
    v =
    
       1   2   3   4
    
    >> length(v) %返回长度
    ans =  4
    >> length(A) %返回最大长度
    ans =  3
    >> length([1;2;3;4;5])
    ans =  5

    文件管理:

    >>pwd           %显示当前工作路径
    >>cd 'C:UsersAdministratorDesktop' 
    >>load file_name           %加载文件
    >>load('file_name')          %同上
    >>who              %显示当前Octave中所有的变量
    Variables in the current scope:
    
    A    ans  v
    
    >>whos          %显示更加详细的变量信息
    Variables in the current scope:
    
       Attr Name        Size                     Bytes  Class
       ==== ====        ====                     =====  =====
            A           3x2                         48  double
            ans         1x30                        30  char
            v           1x4                         32  double
    
    Total is 40 elements using 110 bytes
    >>clear v             %删除变量v
    >>whos
    Variables in the current scope:
    
       Attr Name        Size                     Bytes  Class
       ==== ====        ====                     =====  =====
            A           3x2                         48  double
            ans         1x30                        30  char
    
    Total is 36 elements using 78 bytes
    
    >> save hello.dat A;       %保存数据,在当前目录建立文件保存数据A
    >> save hello.txt A -ascii   %save as text(ASCII)
    >>clear              %直接clear命令将会删除当前所有变量

    数据操作:

    >> A
    A =
    
       1   2
       3   4
       5   6
    
    >> A(3,2)     %矩阵值索引
    ans =  6
    >> A(2,:)      %获取第二行的所有数据,':'表示所有数据
    ans =
    
       3   4
    
    >> A(:,2)      %获取第二列的所有数据
    ans =
    
       2
       4
       6
    
    >> A([1 3], :)     %返回1,3行的所有数据
    ans =
    
       1   2
       5   6
    
    >> A(:,2) = [10; 11; 12]       %对矩阵A中的数据赋值
    A =
    
        1   10
        3   11
        5   12
    
    >> A = [A, [100; 101; 102]];   %矩阵A增加一列
    >> A
    A =
    
         1    10   100
         3    11   101
         5    12   102
    
    >> A(:)       %将A的所有变量变成一个单独的列变量
    ans =
    
         1
         3
         5
        10
        11
        12
       100
       101
       102

    实例:

    >> 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 = [A B]         %将A和B和在一起
    C =
    
        1    2   11   12
        3    4   13   14
        5    6   15   16
    
    >> C = [A;B]           %在A 的后面添加B
    C =
    
        1    2
        3    4
        5    6
       11   12
       13   14
       15   16

    数据计算:

    >> 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    %矩阵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]
    v =
    
       1
       2
       3
    
    >> 1 ./ v       %v矩阵中每个元素的倒数
    ans =
    
       1.00000
       0.50000
       0.33333
    
    >> log(v)
    ans =
    
       0.00000
       0.69315
       1.09861
    
    >> exp(v)        %以e为低对v的元素进行对数运算
    ans =
    
        2.7183
        7.3891
       20.0855
    
    >> abs(v)       %所有元素的绝对值
    >> -v              %v中元素 *(-1)
    >> v+1         %v中的元素都+1
    >> v+ones(length(v),1)         %同上
    >> a'                  %矩阵A的装置
    
    >> a<3             %拿A中的所有数据与3比较,返回Bool值
    ans =
    
      1  1
      0  0
      0  0
    
    >> find(a<3)         %寻找A中小于3的数据,返回位置索引
    >> A = magic(3)     %返回一个行列相加都等于一个常数的矩阵
    >> a=magic(3)
    a =
    
       8   1   6
       3   5   7
       4   9   2
    
    >> [r,c] = find(a>=7)       %查找a中>=7的元素,返回行(r)、列(c)坐标
    r =
    
       1
       3
       2
    
    c =
    
       1
       2
       3
    a =
    
        1.00000   15.00000    2.00000    0.50000
    
    >> sum(a)           %对a中的元素进行求和
    ans =  18.500
    >> prod(a)           %将a中的元素相乘
    ans =  15
    >> floor(a)         %对a中的元素进行向下取整
    ans =
    
        1   15    2    0
    
    >> ceil(a)              %向上取整
    >> rand(3)        %随机产生一个3*3的矩阵
    >> max(rand(3), rand(3))      %产生一个3*3的矩阵,元素由两个3*3矩阵中较大的元素组成
    >> a=magic(3)
    a =
    
       8   1   6
       3   5   7
       4   9   2
    
    >> max(a,[],1)          %得到矩阵a中每列最大的值,从第一维度去取值
    ans =
    
       8   9   7
    
    >> max(a,[],2)          %每行的最大值,从第二维度取值
    ans =
    
       8
       7
       9
    
    >> max(max(a))       %求矩阵a的最大值
  • 相关阅读:
    HDU 4024 Dwarven Sniper’s hunting(数学公式 或者是二分)
    二分图最大匹配总结
    HDU 4022 Bombing (STL应用)
    HDU 1847 Good Luck in CET4 Everybody!(组合博弈)
    HDU 1556 Color the ball(树状数组)
    HDU 4023 Game(博弈)
    HDU 1406 完数(水题)
    HDU 4021 24 Puzzle
    Oracle 多表查询优化
    【编程之美】字符串移位包含的问题(续)
  • 原文地址:https://www.cnblogs.com/jxxclj/p/9803523.html
Copyright © 2011-2022 走看看