Octave基础操作

1. Download & Install For Yosemite


Octave 3.8.0 installer

2. 基础操作


  1. 原来如此

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    % fvnc
    pwd % 当前 work directory
    who % 查看当前变量
    whos % 查看当前变量详细信息
    clear [var_name] % 清除 所有|[变量名]

    % load & save data
    load('data.dat') % 加载数据到程序
    save binary.mat var_name % 将变量存为二进制文件
    save plain.txt var_name -ascii % 将变量存为文本文件

    % note
    1 ~= 2 % 逻辑非 返回真(1)
    disp(sprinf('result is %0.2f',result)); % 格式化字符串 & 控制台输出
  2. 建立矩阵

    1
    2
    3
    4
    5
    6
    7
    8
    A = [3:1:10];         % 从 3 至 10 ,步进 1
    B = [ 1 2; 3 4; 5 6]; % 3x2 matrix
    ones(m,n) % 全 1 阵
    zeros(m,n) % 零阵
    rand(m,n) % 随机元素不大于 1
    randn(m,n) % 随机元素服从均值 0 ,标准差 1 高斯分布
    eye(n) % 单位阵
    magic(n) % 魔方:横、竖、对角线相加的值都一样
  3. 操作矩阵

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    % 选取
    A(:) % 顺序选中组合成新的列向量
    A( m,: ) % 选中第 m 行行向量
    A( :, n) % 选中第 n 列列向量
    A(( 1 3),:) % 选中 1,3 行向量
    C = ( A, B) % 横向拼接矩阵 A, B为C
    D = ( A; B) % 纵向拼接矩阵 A, B为C

    % fvnc
    size(A) ; % 返回 m 和 n
    length(A) ; % 返回 m 和 n 的大者,适于向量长

    % 计算
    A^2 % 实际计算的是A*A
    A .^ 2 % 每个元素求2次方
    A .* B % 对应元素相乘
    A' % 求转置
    pinv(A) % 求伪逆
    inv(A) % 求逆
    log(A) % 对每个元素求log,类似还有exp、abs等

    % max,find,flipud等参考help
  4. 基础编程

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    % for statement
    for i=1:10,
    disp(i);
    end;

    % while statement
    i=0;
    while i<10,
    disp(i);
    i++;
    end;

    % if statement
    if 1 == 6,
    disp('true');
    else
    disp('false');
    end;

    % define function (save as Testfunc.m)
    % >> [r1,r2] = Testfunc(10)
    % >> r1 = 400, r2 = 8000
    function [y1,y2] = Testfunc(p1)
    p1 = p1+10;
    y1 = p1^2;
    y2 = p1^3;
    end;