最近急需机器学习相关的知识,种种原因,需要学习下octave,官网是https://www.gnu.org/software/octave/
⚠️未完待续...
mac安装
- 参考 https://www.jianshu.com/p/92f37173186e
$ brew install octave
注意当前时间(2019-08-28)安装的是5.1.0版本,有坑,即:用pause()函数无法响应按键事件。https://www.mobibrw.com/2019/18501 此博客详细记录了此问题,虽然我没按步骤完成5.2的安装
运行方法
- 安装完毕后,可以打开terminal,直接输入octave就进入了它的GUI界面。
- 可以直接在GUI运算操作,类似python的终端运行
- 也可以编辑
.m
为后缀的文件,如tmp.m
,然后在octave终端通过cd、ls
等命令找到文件所在文件夹,直接输入文件名,如tmp
就可以执行文件了。
基本运算
操作符 | 含义 | 示例 |
---|---|---|
+ | 加 | 1+2 |
- | 减 | 2-1 |
* | 乘 | 2*3 |
/ | 除 | 3/2 |
> | 大于 | 3>2 |
< | 小于 | 3<2 |
% | 注释 | %你看不到我哦 |
~= | 不等于 | 3~=1 |
; | 行结束符号 | a=3;a |
打印
示例:disp(sprintf("你好%0.2f", 3.2))
矩阵
- 构建
[1 2 3; 3 2 1]
ones(3, 2)
zeros(3, 2)
eye(3)
# 方差标准差都为1的矩阵
rand(3, 2)
- 操作
# 选取元素
a(3, 2)
# 选取行
a(2,:)
# 添加行
a = [a; [10, 3, 2]]
# 添加列
a = [a, [2, 3]]
# 矩阵转向量
a(:)
操作符 | 含义 | 示例 |
---|---|---|
+ | 矩阵相加 | a+3 / a+b |
- | 矩阵减法 | a-3 / a-b |
.* | 点乘 | a.*2 |
* | 叉乘 | a*b |
./ | 除法 | a/2 |
.^ | 指数 | a.^2 |
以e为底数的幂数 | exp(a) | |
以e为底数的对数 | log(a) | |
以2为底数的对数 | log2(a) | |
找最大值 | max(a) |