ML:机器学习中常用的Octave语句
coursera上吴恩达的机器学习课程使用Octave/Matlab实现算法,有必要知道Octave简单的语句。最重要的:在遇到不会的语句,使用'''help <语句>'''或者'''doc <语句>'''查看官方文档。
基本操作
- help/显示命令的简要帮助信息
- doc/显示命令的详细帮助文档
- length/应用到到矩阵时返回较高的一维的dimension
- save/保存数据,如保存变量到.mat文件:save hello.mat b 以二进制压缩保存数据
- mean/矩阵每列求平均,如x为33矩阵,mean(x)将返回13矩阵
- A([1 3], : )/获取第 1、3两行所有列的数据
- C= [A; B]/;号表示向下面行添加,因此会增加相应行数,列数不变
- A = [A, [100; 101; 102]]/在A矩阵后面加一列列向量
- [m,n]=size(A)/返回矩阵A的dimension,A为m*n矩阵
基本运算
- A.*B/矩阵或者向量点乘(各个位置处的数字对应相乘)
- A*B/矩阵叉乘
- log(x)/log(x)为数学上的ln(x)
- exp(x)/exp(x)为数学上的ex
- A'/A'为数学上的AT,即矩阵A的转置
- [value,index]=max(A)/max(A)求矩阵A各个列的最大值和索引
- A<3/对矩阵中每一个值判断是否小于3,小于返回1,否则返回0。返回与A同样大小的矩阵
- rand(3,3)/生成3*3矩阵,矩阵内的值为0~1的随机值
- sum(A)/对矩阵A的每列求和,若想求矩阵A的所有值的和,可以使用sum(sum(A))
- pinv(A)或者inv(A)/求矩阵A的逆矩阵
数据图形化
- t = [0.1 : 0.01 : 0.98]; y = sin(t); plot(t, y) 画正弦曲线
- hold on; 保留当前曲线,画下一条曲线
- xlabel 标定x轴说明
- legend('sin','cos') 添加图例
- title('my plot') 添加图片标题
- print -dpng 'myPlot.png' 保存图片
for,while,if
- for
- while
- if
函数的定义
- 示例
function [a,b]=SquareAndCubeTheNumber(x)
其中function为关键字,函数返回值为a和b,函数名为SquareAndCubeTheNumber,函数的参数为x