1. Octave基本操作
使用初衷:Octave语言高效易用,可在基于Octave语言上实现机器学习算法后,再花时间使用Java,C++实现。
机器学习常用Octave(开源),MATLAB,Python,NumPy和R
Help eye: 现实单位矩阵的帮助函数
Eye(4): 4x4阶的单位矩阵
Randn(1,3):1行3列的高斯分布(正态分布)
Ones(2,3):生成2行3列的元素都为1的矩阵
Zeros(1,3):生成1行3列的元素都为0的矩阵
Rand(3,3):生成3x3的矩阵
A=[1 2; 2 4; 3 6] : 生成矩阵 ;用来换行
2.移动数据
Size (A): 返回矩阵A的大小;
Length(v):返回向量V的最大维度
通常对向量使用length命令,而非矩阵;
Load xxx.dat :加载文件
Who:显示所有变量
Whos:显示更详细的变量内容
Clear X :清除X变量
V=priceY(1:10):将向量priceY的前10个值赋予V
Save helo.mat v :将v的值存入helo.mat文件
Save helo.txt v -ascii :将v的值存入helo.txt文件,方便查看
A为一个3行2列的矩阵,A(3,2)代表第三行第2个元素
A(2,:)代表A的第二行的所有元素
A(:,2):代表A的第二列所有元素
A ([1 3], :) : 代表A中第一行和第三行的所有数据
A=[A,[100:101:102]]: 在A的右边附加一列新的列向量
A(:) :将A的所有元素放入一个单独的向量
C=[A B] : 将矩阵B追加在A的右侧
C=[A:B] : 将矩阵B追加在A的下侧
3.计算数据
A*B : 矩阵A和B相乘
A.*B: 将A的每一个元素与B所对应的每一个元素进行相乘
A.^ 2: 将A进行平方
1./A:得到A中所有元素的倒数
Log(A):对数运算
Exp(V): 以e为底,以V中数据为指数的幂运算
Abs(v): 求绝对值
A‘ :求矩阵A的转置
Max(A):A中最大的值
A<3: 拿矩阵A中的每一个元素与3进行比较,true返回1,false返回0
Find(A<3):找出A中所有小于3的数
Magic(3):幻方,返回3x3的矩阵,任意行列相加值相等
Sum(a): 得到a中所有元素的和
Sum(a,1):得到每一列的总和
Sum(a,2):得到每一行的总和
Prod(a):求乘积
Floor(a):向下取整
Ceil(a):向上取整
Max(A(:)):将A变为向量,再求最大值
Flipud(eye(9)):翻转矩阵
Pinv(A):求逆矩阵
4.数据绘制
T=[0:0.01:0.98];
Y1=sin(2*pi*4*t);
绘制:Plot(t,y1);
t=[0:0.01:0.98];
>> y1=sin(2*pi*4*t);
plot(t,y1);
y2=cos(2*pi*4*t);
plot(t,y2);
plot(t,y1);
hold on;
plot(t,y2);
plot(t,y2.'r');
xlabel('time')
ylabel('value')
legend('sin','cos')
title('my plot')
print -dpng 'myplot.png'
--分割为2个区域,显示2个图表
subplot(1,2,1);
plot(t,y1);
subplot(1,2,2);
plot(t,y2);
A=magic(5)
Imagesc(A)
Imagesc(A),colorbar, colormap gray;