Matlab 软体介绍 (2).doc

上传人:博****1 文档编号:561523124 上传时间:2022-09-23 格式:DOC 页数:24 大小:718KB
返回 下载 相关 举报
Matlab 软体介绍 (2).doc_第1页
第1页 / 共24页
Matlab 软体介绍 (2).doc_第2页
第2页 / 共24页
Matlab 软体介绍 (2).doc_第3页
第3页 / 共24页
Matlab 软体介绍 (2).doc_第4页
第4页 / 共24页
Matlab 软体介绍 (2).doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《Matlab 软体介绍 (2).doc》由会员分享,可在线阅读,更多相关《Matlab 软体介绍 (2).doc(24页珍藏版)》请在金锄头文库上搜索。

1、Matlab 軟體介紹 簡介 系統安裝 Matalb 的使用環境 輸入 矩陣運算 常用的函數 矩陣與線性代數簡介 多項式的運算 解線性方程式 LU,QR及Cholesky分解 Matlab 程式設計技巧 程式流程之控制 繪圖功能 注意事項 簡介: Matlab 是一家名為 Mathworks 的公司所出版的,從 1984年發展至今已經十多年了;從早期使用 DOS 的版本直到 1993 年左右有了在 Windows 3.1 上使用的版本;一直到目前為止最新的版本是 5.3.1。 Matlab 是Matrix Laboratory的縮寫,這套軟體主要是用於矩陣式的數值運算,其有特殊的演算法則使其可

2、以做如此的運算。 Matlab 有以下幾個特點: 資料視覺化 強大的數值運算 豐富的 Toolbox 可以做自動控制的模擬 2D/3D 的繪圖 系統需求: CPU:P-133以上 記憶體:最小 8 MB(跑起來很順 128 MB) 硬碟:不裝額外的 Toolbox,200 MB足夠P.S1(我們可以發現在解同一個問題時,有些程式的演算流程良好,可能解出一題只需要十分鐘;但若是較差的演算法或許解出相同的答案要花上一小時。這就是演算法的差異) 系統安裝:1請由本講義最後所附網址下載,下載完畢後請將該壓縮檔解開(直接在所下載檔案上點選),其將產生一個名為ann_linear_tools 子目錄,(請

3、將該子目錄換成一個四字元以下的短目錄,如test)而其中所包含應如下圖 請將2 of 44 of 4中所有檔案拷至1 of 4以加快安裝速度 並將1 of 4子目錄改為一個四字元以下的短目錄,以利安裝。2在 1 of 4子目錄中點選 setup,此時應出現以下畫面 請設定您所需安裝的子目錄並點選 ok3.此時要求輸入學校及姓名,輸入後請按 continue4在安裝時電腦詢問變換到另一片時,請將要求位置指向剛才更改之子目錄。直到安裝結束。5.安裝完畢後即可開始執行該軟體。 Matlab 使用環境: 在啟動之後最好先行設定路徑;假如沒將路徑設定好有可能在您存檔後於下次執行時,Matlab 的 co

4、mpiler 會找不到您編輯的程式以至於無法正確執行。以下即為其路徑的設定 在 Matlab 中,一般有以下幾種輸入方式來產生矩陣 A直接輸入 B隨機產生 C建立一個 M-file D由外部的資料檔 load 進來 A直接輸入: 假設我們要輸入一個 3X3 的矩陣,您可以打入 A=1 2 3;4.2e-2 5 6;7 8 9 - 每個元素間以空格分開 當按下 ENTER;Matlab 應出現以下的情況我們可以很明顯得看到這一個 A 矩陣被定義為一個 3X3 的矩陣;這樣的直接輸入方式在矩陣小時還可以處理,但若是較大的矩陣如 16X16,這樣一筆一筆輸入十分容易出錯,所以最好將之寫成一個檔案而輸

5、入;這樣修改起來也較方便 B隨機輸入: 在隨機輸入中有以下幾個指令 rand,magic,hilb1rand 的使用方式為 rand(m,n);產生一個 M x N 的隨機矩陣其元素分佈於01 之間2magic 的使用方式為 magic(n);產生一個無論列相加或行相加都可以得到相同和的矩陣3hilb 的使用方式為 hilb(n);產生一個 N x N 的 Hilbert 矩陣 C建立一個 M-file 可以在如下圖處點選,當出現編輯器時即可進行編輯;並且如第三張圖按該 .M檔檔名可知其答案 D. 由外部的資料檔 load 進來,也是如上所述存成 M-file 的模式再 load 進 Matl

6、ab進行矩陣的運算 在Matlab 軟體中的基本算數運算符號如下 :加法運算 :減法運算:乘法運算 / :右除法運算 :左除法運算 :次方運算 :轉置矩陣其中必須注意到左、右除法;因為矩陣中 A-1*B B*A-1,而其中 B/AB*A-1 ABA-1*B,在矩陣的運算中是不相等的,而若是純量則左、右除法均相等如 1/4410.25在 Matlab 系統中,允許使用者使用複變數來做定義及運算,可以以 I 或 j 來代表虛數,如z34j如左圖所示,其輸入一個名為 a的複變數矩陣a=1+5j 2+3j ;2+3j 3+5j而下一個答案是為其轉置矩陣(transpose)後的答案 矩陣的加、減、乘法

7、運算分別如下圖所示我們可以看到建立出兩個矩陣a=1 2;3 4;b=5 6;7 8; 最後的分號使矩陣不顯示出來,而矩陣 C即是 a+b 矩陣 D即是 a*b 矩陣元素的相關運算:其包含了 :小於 :小於等於 :大於:大於等於 :等於 :不等於Matlab 比較矩陣中的相對應元素的關係是用 1、0 來加以表示;如 2+24 其將回傳 0 表示其解和正確值不合。在 Matlab 中常用的函數在 matlab 中有定義出許多方便的函數可以加快操作,如左圖分別是三個函數eye 單位矩陣zeros 零矩陣ones 全部元素均為一的矩陣 diag 求出對角矩陣 Inv 求出反矩陣 Det 求出矩陣的大小

8、當矩陣是一方陣(nxn),存在一組數值(常數)滿足下列方程式 Ax=x我們稱為A矩陣的特徵值(eigen value),可用 eig(A)求得;而x 所對應的向量值稱為特徵向量,可用X,D=eig(A)求得 矩陣與線性代數簡介: 矩陣是線性代數的基本運算元,線性代數定義了矩陣的運算,如:加法、減法、轉置、內積、反元素、線性方程式、特徵值、特徵向量、矩陣分解等等。利用這些運算是建立系統的數學模型,以進一步作系統分析。 以下將介紹一些線性代數的一些理論該如何使用 Matlab 加以處理;本講義著重於 Matlab 之應用,而其相關理論之證明不在此加以贅述。多項式的運算 多項式的建立是以向量的形式表

9、示,由最右邊算起為零階,右邊第二為一階依此類推。例如一個一元三次方程式: 4x+3x+2x+1 以a=4 3 2 1。而多項式的運算包含求根、求函數值、方程式微分及多項式分解。以下為幾個常用指令假設我們要求出 X+3X+2=0 的根,並且再還原回原多項式。其使用兩個函數b=roots(a) 求出a=0方程式的根c=poly(b) 可由根向量求出多項式解線性方程式 在分析及解決問題過程中,通常藉由已知條件試著將系統以方程式來表示,再由求出之方程式解進一步了解系統。是故解方程式十分重要。解線性方程式就是找出是否存在一唯一矩陣,假設我們有一聯立方程式3x + 2y=72x y =0使矩陣 A,B 有

10、以下關係:很明顯的我們可以由這樣的方式中求出我們所需要的解 x=1 y=2由以上簡單的例子,我們可以慢慢擴大維度解出更複雜的例子;同時我們可以注意到,我們所舉的例子是恰有一解的方程式。而若我們所求為非唯一解的方程式(即非線性獨立),Matlab 將有錯誤訊息因其維度不同所以其可能無解或有無限多組解,是故顯示出錯誤的訊息LU,QR及Cholesky分解 Matlab 解線性方程式是基於下列三種分解法則: Cholesky 分解 :針對對稱且正定的矩陣 高斯消去法 :針對一般方陣 正交化 :針對矩形矩陣(行數列數)Cholesky 分解在 Cholesky 分解中我們可以看見由一個對稱矩陣經 ch

11、ol(a) 轉換成一個上三角矩陣高斯消去法LU分解法是將正方矩陣(square)分解成一個上三角形矩陣及一個下三角形矩陣,這樣的分解又稱為三角分解法。主要用途為簡化一個大矩陣的行列式值的計算過程,求反矩陣和求聯立方程組;這種解析的上下矩陣並非唯一。此兩三角形矩陣相乘可以得回原矩陣。語法:L,U=lu(a)正交化QR 分解法是將矩陣分解成一個正規正交矩陣與上三角形矩陣;原矩陣 a不必為正方矩陣,若矩陣a大小為 mXn 則矩陣Q為 mXm,矩陣R為nXn。語法:Q,R=qr(a) Matlab 程式設計技巧 Matlab 基本上是一種以命令執行(command driver)的方式來執行指令;在

12、Matlab 中輸入一個指令就執行一次; Matlab也提供連續執行一系列命令的能力,這些由一連串命令或函式所構成的 Matlab 程式就叫做 M 檔案(M-file);它的附加檔名是以 .m 來加以命名。由一連串敘述所組成的檔可以在其中再呼叫別的 M 檔(這就好像是主程式中呼叫副程式的原理一樣)由於 Matlab 提供了M檔案的執行方式,這也讓使用者可以加入自己所設計的函式以及增加一些自己使用上特殊的應用,就 Matlab 程式的特點歸納以下幾點:一、 一個函式或指令巨集均是以 M-file 的形式存在二、 M 檔案和 M 檔案之間可以相互呼叫三、 每一行都是一個敘述可以獨立拿來執行四、 程

13、式碼十分簡短 以下我們用一個簡單的例子來加以說明這個 M 檔包含了三個命令1. 定義矩陣 a2. 求矩陣 a 的特徵值並將他定義於 b 矩陣中3. 求出以 b 特徵值的多項式我們可以看到當輸入 test 時,只要在該路徑下有相關的 M 檔則將會執行該 M 檔中的命令;我們可以看到其計算出在 M檔中所做的定義程式流程之控制 Matlab 軟體控制流程的方法類似於一般高階語言的控制方式;其有 for 迴圈、while 迴圈、if 指令、switch等等,以下將逐一介紹。For 迴圈for i=起始值:遞增值:終止值 敘述endFor 迴圈可以讓使用者設定一個已知的重覆數,來使一組指令重複執行。For 一般的使用方式while 迴圈 While 來執行迴圈數尚未決定的迴圈運算。whil

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号