2009年5月13日 星期三

卡提諾王國_[分享] (Matlab)一些重要小程式!

文章內文:

look_ :找出key word 相關指令
ver :顯示Matlab版本,工具箱版本
version :只顯示Matlab版本
what_路徑 :尋找目錄下各式檔案
which_檔名 :找出檔案所在路徑
path :顯示出Matlab所有路徑

找指令方式
1.lookfor
2.help
3.which

help_指令 :指令相關資訊
----------------------------------------------------------------
who :秀出整數
whos :同上,但資訊較多,同workspace
size(變數):秀出變數size
lenght(變數):秀出變數lenght
clear_all :清除所有變數
clear_變數:清除單變數
computer :秀出PC資訊
quit=exit :關閉程式

CTRL+C :強迫程式立即停止執行,可解決無限迴圈或者程式跑太久的問題

*************************************************
= 等於(算術用),有別於 ==
()算術用括號
[]矩陣用括號
; 是否要立即印出,加在尾端
% 註解用
, 分離參數用
... 連接符號
a' a的轉置
ans=answer
pi=3.1416
NaN = 非數字型式
inf = 無限大
i,j = 代表複數符號 ex:3+4i or 3+4j
← → :一動一格 a b_←_c
CTRL+← → :移動一英文字 abc_def_
↑___|
↑↓:取出之前/之後輸入的指令
format short :有效數字5
short e :有效數字5浮點表示
long :有效數字15
long e :有效數字15浮點表示
hex :16進制表示
**************************************************************************
S=num2str(a) :浮點數→字串
SS=num2str(b):整數→字串

[θ M]=cart2pol(x,y)
直角座標→極座標
C=x+yj
D=M∠θ [x,y]=pol2cart(θ,M)
M=√X*X+Y*Y 極座標→直角座標
θ=tan-1(y/x)

*************************************************************
矩陣和陣列之介紹

1.
a=[1 2 3 建立矩陣
4 5 6
7 8 9]

b=[1 2 3 ; 4 5 6 ; 7 8 9]

2.取出矩陣元素

y=a(2,2) => ans=5
a(:,1) => ans=[1 : -> 代表所有元素
4
7]
3.另一方式建立矩陣

c=1:5 固定加1建立
c=1:0.5:3 固定加0.5建立

Matlab資料型式
矩陣{1.字串變數
2.數值變數{整數,實數,浮點數}
3.call變數
4.結構變數}

**************************************************************
1.轉置:符號[']
ex: a=[1 2 3;4 5 6;7 8 9]
b=a' => b=[1 4 7
2 5 8
3 6 9]
2.行列式:指令det(變數)

3.秩:指令rank(變數)

4.反矩陣:指令inv(矩陣變數)
a*inv(a) => 單位矩陣

5.計算對角線和:指令trace(變數)
trace(a) => ans =15

6.將矩陣和特徵向量
[V D]=eig(變數)

**************************************************************
7.r矩陣 -> 陣列的技巧
c=a(:) 行向量 =[1
4
7]
d=a(:)' 列向量=[1 4 7]
************************************************************
1.i和j為複數符號 ex:3+j4 or 4+6i 注意: i和j不給其數值

例如: i=2 z=3+4*i => z=11

2. [] 空的中括號用法
if a=[1 2 3
4 5 6
7 8 9];
let b=a[] => 清除a矩陣
let a(:,2)=[] => a=[1 3 a(:,2) <-顯示第二行 => a=[3
4 6 6
7 9] 9]
*[]作清除同時,不可清除矩陣內單一元素.
ex a(2,3)=[] X

3.inv 和 "\" 和 "/"的差異
if AX=B 求X=?
1.X=inv(A)B
2.X=A\B
3.X=B/A
let A=[1 2 -1
1 1 1
2 -2 1]
B=[5 1 4]^T

************************************************************
a

a =

3 1 7 2
-1 2 9 -5
4 9 3 -6
3 -8 1 1

>> b

b =

3
7
10
-1

>> inv(a)*b

ans =

0.5178
0.2757
0.3733
-0.7213
************************************************************
用*.m檔寫
1. (a')'=a '(T):轉置
2. (a+b)'=a'+b' inv(-1):反矩陣
3. (ab)'=b'a' det:矩陣總和
4. (inv(a))^-1 =a trace:對角線和
5. (a')inv=(inv(a))'
6. inv(ab)=inv(b)*inv(a)
7. det(ab)=det(a)det(b)
8. det(inv(a))=1/det(a)
9. trace(a')=trace(a)
10.trace(a+b)=trace(a)+trace(b)
11.trace(ab)=trace(b*a)




原文連結:

http://ck101.com/forums/viewthread.php?tid=1412378&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D29