Transcript MATLAB

MATLAB 入門簡介
樂美亨
2012. 9. 20
為何選擇使用 MATLAB?
 平易近人
無需宣告變數
 不需要編譯
 偵錯容易

 矩陣計算
如何取得軟體
 交大首頁搜尋「MATLAB」
介面簡介
 Command
Window
 Workspace
 Current
Directory
基本運算
 如一般計算機用法
+
*
/
^
數學函數
 如一般數學函數用法
abs(x)
sin(x)
exp(x)
log(x)
sqrt(x)
floor(x)
ceil(x)
矩陣
 建構矩陣
A = [1 2 3; 4 5 6; 7 8 9]
 更改某列某行的數字
A(2,3) = 1
矩陣計算範例 – 反除
% Solve Ax = b
A = [8 2 3; 4 5 9; 3 2 6];
b = [2; 3; 5];
x = A\b;
求助指令
 找函數
lookfor eigenvalue
 查詢某函數如何使用
help eig
doc eig
強制停止運算

Ctrl + C
小試身手
A
=[ 4 -1 0;
-1 5 -1;
0 -1 4 ];
請利用 MatLab,找出矩陣 A 的特徵值。
if 邏輯判斷
if 條件式
運算式1
else
運算式2
end
if 條件式1
運算式1
elseif 條件式2
運算式2
else
運算式3
end
if 邏輯判斷 – 範例程式
score = input('請輸入原始成績:');
if score >= 90
fprintf('評定為 A\n');
elseif score >= 80
fprintf('評定為 B\n');
elseif score >= 70
fprintf('評定為 C\n');
else
fprintf('評定為 E\n');
end
for 迴圈
for 變數 = 初值 : 終值
運算式
end
for 迴圈 – 範例程式
% 平方和的計算
y = 0;
for i = 1:10
y = y + i^2;
end
while 迴圈
while 繼續執行迴圈的判斷式
運算式
end
while 迴圈 – 範例程式
% 平方和的計算
y = 0;
k=1;
while k<=10
y = y + k^2;
k = k + 1;
end
小試身手
 我們知道費氏數列
𝐹1 = 1, 𝐹2 = 1
𝐹𝑛 = 𝐹𝑛−1 + 𝐹𝑛−2 ,
for 𝑛 ≥ 3
請試著計算費氏數列的第 20 項 𝐹20
繪圖指令
plot(X, Y)
 原理:描點
 X, Y 為長度相同的向量
繪圖指令 – 範例程式
%繪圖 y = x^3 - 2x + 3 在 [-10, 10]
X = -10 : 0.1 : 10;
Y = X.^3 - 2*X + 3;
plot( X , Y );
向量函數
min(x)
max(x)
mean(x)
sum(x)
sort(x)
% 向量 x 的極小值
% 向量 x 的極大值
% 向量 x 的平均值
% 向量 x 的總和
% 排序向量 x
sum – 範例程式
% 平方和的計算
y = sum( [1:10].^2 );
自訂函數的使用
 m-file檔名必須與函數名稱相同
 一個檔案只能寫一個主函數
function 輸出變數 = 函數名稱(輸入變數)
運算式
自訂函數的使用 – 範例程式
function y = SquareSum(n)
y = sum( [1:n].*[1:n] );
 此m-file必須命名為SqareSum.m
小試身手
 請試著寫個自訂函數
Fibonacci( n )
Input : 正整數 n
Output : 費氏數列的第 n 項 𝐹𝑛
延伸學習
 http://mirlab.org/jang/books/m
atlabProgramming4beginner/sli
de/
 Google
搜尋「張智星」