機器學習筆記(五) 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;