机器学习笔记(五) octave入门
这一节我们主要用来熟悉octave的使用。
octave和matlab一样,主要用来数值计算和仿真。尤其精于矩阵运算:求解联立方程组,计算矩阵特征值和特征向量等等。
矩阵大小:size(A) 输出:行m,列n
size(A,1) 输出:行m
size(A,2) 输出:列n
两矩阵相乘:A*B
两矩阵对应元素相乘:A,*B(A、B维度保持一致)
求对数:log(A)
求绝对值:abs(A)
矩阵元素加减一个值:A+1
求逆矩阵:pinv(A)
矩阵转置:A‘
随机矩阵:rand(3),结果是一个3*3的随机矩阵
找最大值:
a=[1 2 3] v=[1;2;3] A=[1 2 3;4 5 6]
行数据的最大值:max(a) 输出:3
[val,index]=max(a) 输出:val=3,index=3 最大值位于索引为3的位置
列向量的最大值:max(v) 输出:3
矩阵中的最大值:max(A) 输出:4 5 6
[val,index]=max(A) 输出:val=4 5 6,index=2 1 2 每一列的最大值分别是4 5 6,分别位于每列的2 1 2上。
按列找最大值:max(A,[ ],1)或者max(A)
按行找最大值:max(A,[ ],2)
矩阵中的最大值:max(max(A))
求和:
a=[1 2 3] v=[1;2;3] A=[1 5 3;4 2 6;3 1 5]
行数据求和:sum(a) 输出:6
列向量求和:sum(v) 输出:6
矩阵求和:sum(A) 输出:8 8 14 结果是每一列的和
按列求和:sum(A,1)
按行求和:sum(A,2)
矩阵全部元素求和:sum(sum(A))
对角线求和:sum(sum(A,*eye(3)))
求积:
行数据求积:prod(a) 输出:6
这里与求和类似
元素值的大小比较:a<3 输出:1 1 0 每列的值与3比较,真是1,假为0
四舍五入:a=[1.2 5 6.8]
floor(a)=[1 5 7]
ceil(a)=[2 5 7] 这里是遇小数进位,和上面有区别
plot绘图:
plot(x,y)
eg:t=[0:0.01:0.99]
y=sin(2*pi*4*t)
plot(t,y)
plot(x,y,'r'):'r'表示曲线是红线
坐标轴标签:xlabel(‘x’);ylable(‘y’)
图形名称:title(‘myplot’)
两个图形叠加和停止叠加:
plot(x,y1);
hold on;
plot(x,y2);
hold off;
同时展现多个图形:
不同窗口展现: figure(1); 第一个窗口
plot(x,y1);
figure(2); 第二个窗口
plot(x,y2);
同一窗口展现: subplot(m,n,1); 窗口切成m*n部分
plot(x,y1);
subplot(m,n,2);
plot(x,y1);
保存图片:cd 'c:\users\administrators\desktop'; 保存的路径
关闭图片:close;或者close all;