[筆記] Octave 基礎
運算語法
+: 加-: 減*: 乘/: 除^: 次方
邏輯語法
==~=: 不等於&&||xor()
矩陣創建
A = [1 2; 3 4; 5 6]: 創建矩陣v = n:i:m: 生成 n 到 m,間隔 i 的矩陣v = n:m: 生成 n 到 m,間隔 1 的矩陣ones(n, m): 生成都是 1 的矩陣,n rows,m columnszeros(n, m): 生成都是 0 的矩陣,n rows,m columnsrand(n, m): 生成 0 到 1 內隨機數字的矩陣,n rows,m columnsrandn(n, m): 生成常態分配的矩陣,n rows,m columnshist(變數, n): 生成 n 個數據的直方圖eye(n): 生成 n*n 的單位矩陣magic(n): 生成 nn 矩陣,內涵元素為 1 ~ n n,每行每列斜對角總和相同
矩陣操作
查看
disp(A): 將 A 矩陣打印出來A(n, m): 查看 n row,m column 的值,:代表全部A([n m], :): 查看 n row 和 m row 所有的值size(A, n): 查看 A 是幾乘幾的矩陣,n 可以不輸入,1 為查看 row,2 為查看 columnlength(A): 查看 A 的最大維度who: 查看當前所有的矩陣whos: 詳細查看當前所有的矩陣max(A): 查看 A 向量的最大值與索引位置,若 A 為矩陣查看 A 矩陣內每個 column 的最大值max(A, [], n): 查看 A 矩陣內的最大值,n = 1 為查看 column,2 為查看 rowmin(A): 查看 A 向量的最小值與索引位置,若 A 為矩陣查看 A 矩陣內每個 column 的最小值min(A, [], n): 查看 A 矩陣內的最小值,n = 1 為查看 column,2 為查看 rowfind(A < n): 查看元素小於 n 的位置
修改
A = [A, [i; j; k]]: 給 A 矩陣新增一行 column,值為 i、j、kA(:): 將 A 矩陣的所有元素排成一行向量V = [A B]: 將 A、B 矩陣左右合併V = [A; B]: 將 A、B 矩陣上下合併V = A(n:m): 將 A 矩陣 n ~ m 筆資料放進 Vclear A: 刪除 A 矩陣,單個 clear 是刪除所有矩陣
載入存入
load <檔名>.<副檔名>: 載入檔案save <檔名>.mat A: 將 A 矩陣存入檔案save <檔名>.txt A -ascii: 將 A 矩陣存入檔案,存成 text
矩陣運算
A * B: A、B 矩陣相乘A .* B: A、B 矩陣純量相乘A .^ n: A 矩陣的 n 次方n ./ A: n 常數與 A 矩陣純量相除log(A): 對 A 矩陣取 logexp(A): 對 A 矩陣取 expabs(A): 對 A 矩陣取絕對值A': A 矩陣的轉置矩陣A < 3: true 回傳 1,false 回傳 0sum(a): a 向量的總和sum(A, n): A 矩陣的總和,1 為 column,2 為 rowprod(a): a 向量的總積floor(A): A 矩陣取地板函數,捨去正小數至最近整數ceil(A): A 矩陣取天花板函數,加入正小數至最近整數pinv(A): A 矩陣的反矩陣
繪製
plot(n, m, 'r'): 繪圖,n 為 x 軸,m 為 y 軸,’r’ 為顏色,可以不加hold on: 讓已生成的圖像保持顯示,可以持續在上繪圖xlable('<x 軸名稱>'): 給 x 軸命名ylable('<y 軸名稱>'): 給 y 軸命名legend('<第一個圖>', '<第二個圖>'): 給每個繪圖命名title('<標題>'): 給此圖命名print -dpng '<檔名>.png': 儲存此圖為圖檔close: 關掉顯示中的繪圖figure(n); plot(n, m);: 生成繪圖於編號 n 圖像,可以同時顯示多張圖像subplot(n, m, i): 生成 n * m 格子的圖像,目前使用第 i 個格子axis([n, m, i, j]): 修改 x 軸 ( n ~ m )、y 軸 ( i ~ j ) 範圍clf: 清空圖像上的繪圖imagesc(A): 將 A 矩陣可視化colorbar: 顯示代表數值的顏色表colormap gray: 將顏色表改為灰階
控制語法
for
1 | for i = 1:10, %1 到 10 |
while
1 | i = 1; |
if
1 | if <條件>, |
函式
1 | function y = squareThisNumber(x) |
- 將此文件存為
.m檔 addpath('<檔案位址>'): 這樣 Octave 就能找到此函式
1 | function [y1, y2] = squareThisNumber(x) |
- 函式可返回多個值
其他
PS1('>> ');: 可以簡化命令前字符- 賦予值時加上
;: 可以不將賦予後的結果打印出來 help: 幫助pwd: Octave 當前路徑- 可用
,連接多條命令 exit、quit: 關閉 Octave
