Basic operations
可以將運算結果送到另一個變數
註解使用 %
表示
若不想 MATLAB 每次都顯示運算結果,只需在運算是最後加上分號即可
Args
第一個字元必須是英文,後面可以接數字或底線
最多只能有 31 個字母
不需經過變數宣告,所有數值預設以 double 資料型態儲存
MATLAB 運算符和特殊字符
圖片來源
1 2
| objective_max = @(x, c) min(x ./ c);
|
向量與矩陣
矩陣運算
1 2 3 4 5
| s = [1 3 5 2]; t = 2 * s + 1
|
可取出向量中的一個元素做運算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| s = [1 3 5 2]; t = 2 * s + 1
t(3) = 2
t(6) = 10
t(4) = []
|
二維矩陣
建立大小為 m x n 的矩陣
橫列 = row, 直行 = column
建立矩陣可以在每一橫列結尾加上分號 ;
1 2 3 4 5 6
| A = [1 2 3 4; 5 6 7 8; 9 7 6 4]
|
m x n 矩陣的各種處理
Functions
randi
取得指定範圍內的隨機整數,可設定求多少個數
1
| c = randi([10 50],1,100)
|
convertCharsToStrings
把字元轉換成字串
1
| str = convertCharsToStrings(chr)
|
fminunc 求無約束多變量函數的最小值
圖片來源
1 2
| x0 = [1,1]; [x,fval] = fminunc(fun,x0)
|
OS
getenv
獲得環境變數
Draw
plot
plot 指令的顏色縮寫 |
顏色 |
b |
Blue |
c |
Cyan |
g |
Green |
k |
Black |
m |
Magenta |
r |
Red |
w |
White |
y |
Yellow |
plot 指令的曲線樣式 |
樣式 |
- |
實線(預設) |
– |
虛線 |
: |
點線 |
-. |
點虛線 |
plot 指令的線標樣式 |
線標樣式 |
o |
圓形 |
+ |
加號 |
x |
叉叉 |
* |
星星 |
. |
點點 |
^ |
朝上三角形 |
v |
朝下三角形 |
square |
方形 |
diamond |
菱形 |
二維繪圖
1 2 3
| x = 0:pi/100:2*pi; y = sin(x); plot(x,y)
|
圖片來源
用黑色菱形畫圖
1 2 3 4
| x = 0:0.5:4 * pi; y = sin(x);
plot(x, y, 'k:diamond')
|
同時畫四張圖於一個視窗中
1 2 3 4 5 6
| x = 0:0.1:4*pi;
subplot(2, 2, 1); plot(x, sin(x)); subplot(2, 2, 2); plot(x, cos(x)); subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5)); subplot(2, 2, 4); plot(x, x.^2);
|
scatter
二維繪圖 - 點陣圖
1 2 3
| x = rand(50,5); y = randn(50,5) + (5:5:25); scatter(x,y,"filled")
|
圖片來源
Application
發送電子郵件
1 2 3 4 5 6 7 8 9 10 11
| setpref('Internet', 'E_mail', mail); setpref('Internet', 'SMTP_Server', 'smtp.gmail.com'); setpref('Internet', 'SMTP_Username', username); setpref('Internet', 'SMTP_Password', password);
myprops = java.lang.System.getProperties; myprops.setProperty('mail.smtp.auth', 'true'); myprops.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl.SSLSocketFactory'); myprops.setProperty('mail.smtp.socketFactory.port', '465');
|
Reference