资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MATLAB 程式設計入門篇 初探MATLAB張智星 (Roger Jang) jangmirlab.org http:/mirlab.org/jang 台大資工系 多媒體檢索實驗室MATLAB 程式設計入門篇:初探MATLAB 有趣的指令n安裝MATLAB後,你會想做的事(請直接在命 令視窗內的提示符號 “” 之後輸入下列指 令):n檢查版本nversionnvern測試電腦速度:benchMATLAB 程式設計入門篇:初探MATLAB 2-1使用變數與基本運算n一般數學符號運算n在MATLAB 命令視窗內 的提示符號()之後 輸入運算式,並按入 Enter 鍵即可: (5*2+3.5)/5 ans =2.7000 其中ans是內建的變數, 用於儲存每次的運算結 果。n我們也可以將運算結果 送到另一個變數: x =(5*2+3.5)/5x =2.7000n若不想讓 MATLAB 每次 都顯示運算結果,只需 在運算式最後加上分號 即可: y=(5*2+3.5)/5; MATLAB 程式設計入門篇:初探MATLAB 變數命名規則與使用n第一個字元必需是英文,後面可以接數字或 是底線。n最多只能有 31 個字母,MATLAB 會忽略多餘 字母。 nMATLAB 在使用變數時,不需預先經過變數 宣告(Variable Declaration)的程序,而且 所有數值變數均以預設的 double 資料型態( 佔用8個bytes)來儲存。MATLAB 程式設計入門篇:初探MATLAB 加入註解n若要加入註解(Comments),可以使用百分 比符號(%)例如: y = (5*2+3.5)/5; % 將運算結果儲存在變數 y,但不用顯示於螢幕 z = y2 % 將運算結果儲存在變數 z,並顯示於螢幕 z =7.2900 MATLAB 程式設計入門篇:初探MATLAB 2-2向量與矩陣的處理nMATLAB 中的變數還可用來儲存向量( Vectors)及矩陣(Matrix),以進行各種運 算,例如: s = 1 3 5 2;% 注意 的使用,及各數字間的空白間隔 t = 2*s+1 t =3 7 11 5 MATLAB 程式設計入門篇:初探MATLAB 矩陣的各種處理nMATLAB 亦可取出向量中的一個元素或一部份來做 運算,例如: t(3) = 2 % 將向量 t 的第三個元素更改為 2t =3 7 2 5 t(6) = 10% 在向量 t 加入第六個元素,其值為 10t =3 7 2 5 0 10 t(4) = % 將向量 t 的第四個元素刪除, 代表空集合t =3 7 2 0 10MATLAB 程式設計入門篇:初探MATLAB 建立大小為 mn的矩陣n常用名詞:橫列row, 直行columnn欲建立矩陣,可在每一橫列結尾加上分號(; ),例如: A = 1 2 3 4; 5 6 7 8; 9 10 11 12; % 建立 34 的矩陣 A A % 顯示矩陣 A 的內容 A =1 2 3 45 6 7 89 10 11 12 MATLAB 程式設計入門篇:初探MATLAB mxn矩陣的各種處理 (I)n A(2,3) = 5 % 將矩陣 A 第二列、第三行的元素值,改變為 5A =1 2 3 45 6 5 89 10 11 12 n B = A(2,1:3) % 取出矩陣 A 的第二橫列、第一至第三直行,並 儲存成矩陣 BB =5 6 5MATLAB 程式設計入門篇:初探MATLAB mxn矩陣的各種處理 (II)n A = A B % 將矩陣 B 轉置後、再以行向量併入矩陣 AA =1 2 3 4 55 6 5 8 69 10 11 12 5 n A(:, 2) = % 刪除矩陣 A 第二行(:代表所有橫列,代表 空矩陣)A =1 3 4 55 5 8 69 11 12 5 MATLAB 程式設計入門篇:初探MATLAB mxn矩陣的各種處理 (III)n A = A; 4 3 2 1 % 在原矩陣 A 中,加入第四列A =1 3 4 55 5 8 6 9 11 12 54 3 2 1 n A(1 4, :) = % 刪除第一、四列(:代表所有直行, 是空矩陣) A =5 5 8 69 11 12 5MATLAB 程式設計入門篇:初探MATLAB mxn矩陣的各種處理 (IV)n B = A(:, 4 2 3) % 從矩陣 A 抽出第4, 2, 3行B =6 5 85 11 12n A=magic(5); B=A(2 5 3, 1 4) B =23 1411 24 20MATLAB 程式設計入門篇:初探MATLAB 2-3常用數學函數nMATLAB 是一個科學計算軟體,因此可以支 援很多常用到的數學函數ny = abs(x) 取 x 的絕對值ny = sin(x) 取 x 的正弦值ny = exp(x) 自然指數 exp(x)ny = log(x) 自然對數 ln(x)nMATLAB 也支援複數運算,通常以 i 或 j 代表 單位虛數 MATLAB 程式設計入門篇:初探MATLAB 向量矩陣的運算n有一些函數是特別針對向量而設計ny = min(x) 向量 x 的極小值ny = max(x) 向量 x 的極大值ny = mean(x) 向量 x 的平均值ny = sum(x) 向量 x 的總和ny = sort(x) 向量 x 的排序n試看看:n若x是矩陣,上述指令的功能是?n可以使用 x=magic(5) 來進行測試。MATLAB 程式設計入門篇:初探MATLAB 線上支援nhelp:查詢指令的用法(顯示於命令視窗) 。n例如:help meanndoc:查詢指令的用法(顯示於線上支援視窗 )n例如:doc meannlookfor:用來尋找未知的指令。找到所需的 指令後,即可用 help 進一步找出其用法。nhelpwin 或 helpdesk:顯示線上支援視窗( 其效果等同於直接點選 MATLAB 命令視窗工 作列的圖示)。MATLAB 程式設計入門篇:初探MATLAB 2-4程式流程控制nMATLAB 提供重複迴圈(Loops)及條件判斷 (Conditions)等程式流程控制(Flow Control)的指令nfor 迴圈是最常用到的重複運算,其中迴圈變數 會依次取用每個行向量來進行運算,格式如下:for 變數 = 向量運算式;endMATLAB 程式設計入門篇:初探MATLAB 流程控制nwhile 迴圈(While-loop)while 條件式運算式;endnif else end if 條件式運算式;else運算式;endMATLAB 程式設計入門篇:初探MATLAB 2-5 M檔案nM檔案n附檔名為m的檔案,可看成是 MATLAB 的程式檔nM檔案可分兩類nScript (底稿、腳本):所有變數均保留nFunction (函數、函式):只有輸出入變數被保留 ,其它所有變數會隨著函數執行結束而消失MATLAB 程式設計入門篇:初探MATLAB M檔案-底稿n若要一次執行大量的 MATLAB 指令,可將這 些指令存放於一個副檔名為 m 的檔案,並在 MATLAB 指令提示號下鍵入此檔案的主檔名 即可。n所有變數都會被保留在工作空間,可以隨時 檢查其值。 pwd% 顯示目前的工作目錄 cd d:matlabBookMATLAB程式設計:入門篇02-初探 MATLAB type myTest.m % 顯示 myTest.m 的內容 myTest % 執行 myTest.m MATLAB 程式設計入門篇:初探MATLAB M檔案-函數n函數提供更好的包裝,可以一再重複使用, 而且只有輸入和輸出變數被保留下來,避免 變數相衝。n範例:function len=vecLength(vec) % vecLength: Return the length of a vectorsum=0; for i=1:length(vec) sum=sum+vec(i)*vec(i); end len=sqrt(sum);MATLAB 程式設計入門篇:初探MATLAB M檔案-函數:遞迴函數n非遞迴函數n遞迴函數function out=fact01(n)out=1; for i=1:n out=out*i; endfunction out=fact02(n)if n=1 out=1; return end out=n*fact02(n-1);MATLAB 程式設計入門篇:初探MATLAB 2-6 搜尋路徑n與搜尋路徑相關指令npath: 檢視 MATLAB 已設定的搜尋路徑nwhich: 查詢某一特定指令所在的搜尋路徑naddpath: 將目錄加入 MATLAB 的搜尋路徑nrmpath: 將目錄從 MATLAB 的搜尋路徑移除MATLAB 程式設計入門篇:初探MATLAB2-7 工作空間與變數的儲存及載入nMATLAB 在進行各種運算時,會將變數儲存 在記憶體內,這些儲存變數的記憶體空間稱 為基本工作空間(Base Workspace)或簡稱 工作空間(Workspace)nwho: 檢視現存於工作空間(Workspace)的變數 ,nwhos: 列出工作空間變數的詳細資料nclear: 刪除工作空間的變數nsave: 儲存工作空間的變數MATLAB 程式設計入門篇:初探MATLAB 檢視工作空間變數的其他方式n使用 clear 指令來清除或刪除工作空間內的某一特 定或所有變數,以避免記憶體的閒置與浪費n不加任何選項(Options)時,save 指令會將工作 空間內的變數以二進制(Binary)的方式儲存至副 檔名為 mat 的檔案nsave:將工作空間的所有變數儲存到名為 matlab.mat 的 二進制檔案。nsave filename:將工作空間所有變數儲存到名為 filename.mat 的二進制檔案。nsave filename x y z:將變數 x、y、z 儲存到名為 filename.mat 的二進制檔案。MATLAB 程式設計入門篇:初探MATLAB 2-8離開 MATLABn在命令視窗內,鍵入 exit 指令。n在命令視窗內,鍵入 quit 指令。n直接關閉 MATLAB 的命令視窗。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号