Matlab軟件介紹_第1頁
Matlab軟件介紹_第2頁
Matlab軟件介紹_第3頁
Matlab軟件介紹_第4頁
Matlab軟件介紹_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精品Matlab 軟件介紹1 Matlab 背景介紹MATLAB 是矩陣實(shí)驗(yàn)室( Matrix Laboratory ) 的簡稱, 是美國 MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境,主要包括MATLAB 和 Simulink 兩大部分。20 世紀(jì) 70 年代,美國新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任Cleve Moler為了減輕學(xué)生編程的負(fù)擔(dān),用FORTRAN 編寫了最早的MATLAB 。 1984年由 Little 、 Moler 、 Steve Bangert 合作成立了的MathWorks 公司正式把 MATLAB 推

2、向市場。到20 世紀(jì) 90 年代, MATLAB 已成為國際控制界的標(biāo)準(zhǔn)計(jì)算軟件。時(shí)至今日,經(jīng)過Math Works 公司的不斷完善,MATLAB 已經(jīng)發(fā)展成為適合多學(xué)科、多種工作平臺(tái)的功能強(qiáng)勁的大型軟件。在國外,MATLAB 已經(jīng)經(jīng)受了多年考驗(yàn)。在歐美等高校,MATLAB 已經(jīng)成為線性代數(shù)、自動(dòng)控制理論、數(shù)理統(tǒng)計(jì)、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真等高級(jí)課程的基本教學(xué)工具;成為攻讀學(xué)位的大學(xué)生、碩士生、博士生必須掌握的基本技能。在設(shè)計(jì)研究單位和工業(yè)部門,MATLAB 被廣泛用于科學(xué)研究和解決各種具體問題14。2 Matlab 語言介紹2.1 Matlab 語言的特點(diǎn)一種語言之所以能如此

3、迅速地普及,顯示出如此旺盛的生命力,是由于它有著不同于其他語言的特點(diǎn)。正如同 FORTRAN和C等高級(jí)語言使人們擺脫了需要直接對計(jì)算機(jī)硬件 資源進(jìn) 行 操作一 樣 ,被稱作為第四 代計(jì)算機(jī)語言的MATLAB ,利用其豐富的函數(shù)資源,使編程人員從繁瑣的程序代碼中解放出來。MATLAB 的最突出的特點(diǎn)就是簡潔。MATLAB 用更直觀的、符合人們思維習(xí)慣的代碼,代替了 C和FORTRAN語言的冗長代碼。MATLAB給用戶帶來的是最直觀、最簡潔的程序開發(fā)環(huán)境。以下簡單介紹一下MATLAB 的主要特點(diǎn)。(1) 語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富。MATLAB 程序書寫形式自由, 利用其豐富的庫函

4、數(shù)避開繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領(lǐng)域的專家編寫,用戶不必?fù)?dān)心函數(shù)的可靠性。可以說,用MATLAB 進(jìn)行科技開發(fā)是站在專家的肩膀上。具有 FORTRAN 和 C 等高級(jí)計(jì)算機(jī)語言知識(shí)的讀者可能已經(jīng)注意到,如果用 FORTRAN 或 C 語言去編寫程序,尤其當(dāng)涉及矩陣運(yùn)算和畫圖時(shí),編程會(huì)很麻煩。 例如, 如果用戶想求解一個(gè)線性代數(shù)方程,就得編寫一個(gè)程序塊讀入數(shù)據(jù),然后再使用一種求解線性方程的算法(例如追趕法)編寫一個(gè)程序塊來求解方程,最后再輸出計(jì)算結(jié)果。在求解過程中,最麻煩的要算第二部分。解線性方程的麻煩在于要對矩陣的元素作循環(huán),選擇穩(wěn)定的算法以及代碼的調(diào)試

5、都不容易。即使有部分源代碼,用戶也會(huì)感到麻煩,且不能保證運(yùn)算的穩(wěn)定性。解線性方程的程序用 FORTRAN 和 C 這樣的高級(jí)語言編寫至少需要好幾十行。再如用雙步QR方法求解矩陣特征值,如果用FORTRAN 編寫,至少需要四百多行,調(diào)試這種幾百行的計(jì)算程序可以說很困難。以下為用MATLAB 編寫以上兩個(gè)小程序的具體過程。用MATLAB求解下列方程,并求矩陣A的特征值。32 13 45 67123 79 85 122Ax b, 其中: A,b其中: 43 23 54 65398 34 71 354解為:x=A b;設(shè)A的特征值組成的向量為e , e=eig (A)??梢?, MATLAB 的程序極其

6、簡短。更為難能可貴的是,MATLAB 甚至具有一定的智能水平,比如上面的解方程,MATLAB 會(huì)根據(jù)矩陣的特性選擇方程的求解方法,所以用戶根本不用懷疑MATLAB 的準(zhǔn)確性。(2)運(yùn)算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語言 幾乎一樣多的運(yùn)算符,靈活使用MATLAB 的運(yùn)算符將使程序變得極為簡短。(3) MATLAB 既具有結(jié)構(gòu)化的控制語句(如for 循環(huán)、 while 循環(huán)、 break 語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?4) 語法限制不嚴(yán)格,程序設(shè)計(jì)自由度大。例如,在MATLAB 里,用戶無需對矩陣預(yù)定義就可使用。(5) 程序的可移植性很好,基本上不做

7、修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行。(6) MATLAB的圖形功能強(qiáng)大。在FORTRAN和C語言里,繪圖都很不容易,但在 MATLAB 里,數(shù)據(jù)的可視化非常簡單。MATLAB 還具有較強(qiáng)的編輯圖形界面的能力。(7) MATLAB 的缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于 MATLAB 的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。(8) 功能強(qiáng)勁的工具箱是MATLAB 的另一重大特色。MATLAB 包含兩個(gè)部感謝下載載精品分:核心部分和各種可選的工具箱。 核心部分中有數(shù)百個(gè)核心內(nèi)部函數(shù)。 其工具 箱又可分為兩類:功能性工具箱和學(xué)科性工具箱。

8、功能性工具箱主要用來擴(kuò)充其 符號(hào)計(jì)算功能、圖示建模仿真功能、文字處理功能以及與硬件實(shí)時(shí)交互功能。功 能性工具箱能用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強(qiáng)的,如 control、 toolbox、signal processing toolbox 、communication toolbox 等。這些工 具箱都是由該領(lǐng)域內(nèi)的學(xué)術(shù)水平很高的專家編寫的,所以用戶無需編寫自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直接進(jìn)行高、精、尖的研究。(9)源程序的開放性。開放性也許是MATLAB最受人們歡迎的特點(diǎn)。除內(nèi)部 函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用 戶可通過對源文件的修改以及加入

9、自己的文件構(gòu)成新的工具箱。2.2 Matlab語句的基本功能進(jìn)入MATLAB之后,會(huì)看到一個(gè) MATLAB Command Window ,稱為命 令窗,它是最主要的窗口,既是鍵入命令也是顯示計(jì)算結(jié)果的地方。另外還有一個(gè)編程窗,專門用來編輯應(yīng)用程序。還有一個(gè)主窗口,用來記錄已使用過的歷史 命令和已打開的目錄,方便使用者查找。如果繪圖還會(huì)自動(dòng)彈出一個(gè)繪圖窗, 專 門用來顯示繪制的圖形。MATLAB 一般有3種進(jìn)行計(jì)算的方法,第1種就如同 使用計(jì)算器,直接輸入數(shù)值和運(yùn)算符,立即從屏幕上獲得結(jié)果。第2種先對變量 賦值,然后再輸入由變量構(gòu)成的表達(dá)式,也可立即獲得結(jié)果。第 3種,就是采用 編程的方法來解

10、決較復(fù)雜的,諸如含有判斷、循環(huán)、迭代、遞歸等算法的較復(fù)雜 的問題。上述方法中,第2和第3包括了數(shù)組和矩陣運(yùn)算,只要定義了數(shù)組和 矩陣變量,就可以如同普通代數(shù)運(yùn)算一樣直接用變量進(jìn)行數(shù)學(xué)運(yùn)算,十分方便。MATLAB提供的基本算術(shù)運(yùn)算有:加(+)、減()、乘(*)、除(/)、幕 次方(八MATLAB的關(guān)系和邏輯運(yùn)算符與其他軟件基本相同,僅列表加以說明:表1 MATLAB的邏輯運(yùn)算符符號(hào)功 能符號(hào)功 能=賦值運(yùn)算&邏輯與運(yùn)算=關(guān)系運(yùn)算,相等|邏輯或運(yùn)算不等于-邏輯非運(yùn)算<小于xor邏輯異或運(yùn)算<=小于等于續(xù)行標(biāo)志>分行符,結(jié)果/、顯示>=分行符,結(jié)果顯示%注釋標(biāo)志矩陣轉(zhuǎn)

11、置.向量轉(zhuǎn)量MATLAB可以將計(jì)算結(jié)果以不同的精度輸出,列表說明如下:表2 MATLAB精度列表命令說明format short默認(rèn)顯示,保留小數(shù)點(diǎn)后4位format long啟效數(shù)字16位format long e啟效數(shù)字16位加3位指數(shù)format short e啟效數(shù)字5位加3位指數(shù)format bank保留兩位小數(shù)位format +只給出正、負(fù)format rational以分?jǐn)?shù)形式表示format hex16進(jìn)制數(shù)format long g15位啟效數(shù)format short g5位啟效數(shù)MATLAB對使用變量名稱的規(guī)定:(1)變量名稱的英文大小寫是有區(qū)別的(apple、Apple、

12、AppLe三個(gè)變量不同)。感謝下載載精品(2)變量的長度上限為19個(gè)字母。(3)變量名的第一個(gè)字母必須是英文,隨后可以摻雜英文字、數(shù)字或是下 劃線。下表給出MATLAB所定義的特殊變量及其意義。表3 MATLAB的特殊變量變量名意義help在線幫助,如help quitwho列出所有定義過的變量名稱ans默認(rèn)的用來表示計(jì)算結(jié)果的變量名eps極小值=2.2204e-16Pi值inf無窮大的數(shù)nan非數(shù)值3 Matlab 編程3.1 控制語句MATLAB也有控制流語句,用于控制程序的流程。主要有for循環(huán)、while循 環(huán)、if和break三種控制語句。雖然語句很少,但功能很強(qiáng)。(1) for循環(huán)

13、語句for循環(huán)語句的一般表達(dá)形式為:for i=表達(dá)式可執(zhí)行語句1可執(zhí)行語句nend(2) while 循環(huán)while 循環(huán)語句用來控制一個(gè)或一組語句在某邏輯條件下重復(fù)預(yù)先確定或不確定的次數(shù)。while 循環(huán)語句的一般表達(dá)形式為:while 表達(dá)式 循環(huán)體語句end(3) if 和 break 語句MATLAB 中 if 和 break 語句的作用與使用方式同其它編程語言一樣,用來將控制流程進(jìn)行分流與中斷退出。(4) if - else - end 分支結(jié)構(gòu)分支結(jié)構(gòu)有三種形式: if 表達(dá)式執(zhí)行語句end如果表達(dá)式的值非0, 則執(zhí)行下面的語句.否則執(zhí)行end 后面的語句。if 表達(dá)式執(zhí)行語句1

14、else執(zhí)行語句2end(5) 表達(dá)式 1執(zhí)行語句1elseif 表達(dá)式 2執(zhí)行語句2elseif 表達(dá)式 3執(zhí)行語句3else(此句可以省略)執(zhí)行語句nend3.2 創(chuàng)建 M 文件創(chuàng)建 M 文件是 MATLAB 中的非常重要的內(nèi)容.事實(shí)上,正是由于在MATLAB工具箱中存放著大量的M 文件,使得MATLAB 在應(yīng)用起來顯得簡單、方便,且功能強(qiáng)大。如果用戶根據(jù)自己的需要, 開發(fā)出適用于自己的M 文件,不僅能使MATLAB 更加貼近用戶自己,而且能使MATLAB 的功能得到擴(kuò)展。M 文件有兩種形式:命令文件和函數(shù)文件當(dāng)用戶要運(yùn)行的命令較多時(shí),如果直接在命令窗口中逐條輸入和運(yùn)行,有諸多不便。此時(shí)可

15、通過編寫命令文件來解決這個(gè)問題。另外,從前面的許多例子可以看到:MATLAB 的許多命令,需要用戶通過編寫函數(shù)文件來執(zhí)行。(1) 命令文件的創(chuàng)立進(jìn)入 MATLAB 命令窗口后,選擇“file ”下拉式菜單中的“new ”進(jìn)入編輯 /調(diào)試器(Editer/Debugger ) ,在編輯 /調(diào)試器中 ,編寫符合語法規(guī)則的命令。編寫完命令文件后,選才¥ “file”下拉式菜單中的“ save”項(xiàng)然后依提示輸入一個(gè)文件名。至此,完成了命令文件的創(chuàng)建。(2) 函數(shù)文件的創(chuàng)立函數(shù)文件的創(chuàng)立方法與命令文件的創(chuàng)立方法完全一樣,只是函數(shù)文件的第一句可執(zhí)行語句是以function 引導(dǎo)的定義語句,并且輸

16、入文件名時(shí)要與定義語句中的函數(shù)名相同。建立了函數(shù)文件或命令文件后,只要在命令窗口鍵入命令文件名或函數(shù)名,就可執(zhí)行 M 文件中所包含的所有命令。下面分別創(chuàng)建并運(yùn)行一個(gè)命令文件和一個(gè)函數(shù)文件,以了解M 文件的創(chuàng)建和運(yùn)行的全過程。計(jì)算所有小于1000 的 Fibonnaci 數(shù)。命令文件的創(chuàng)建和運(yùn)行:(1) 在 MATLAB 的命令窗口點(diǎn)擊“新建”工具欄或在“file ”下拉菜單中選“ New ”中的“ M-file ”項(xiàng),進(jìn)入編輯/調(diào)試器。(2) 在編輯/調(diào)試器中,輸入以下命令:(3) 計(jì)算小于1000 的 Fibonnaci 數(shù)f=1,1;i=1;while f(i)+f(i+1)<100

17、0f(i+2)=f(i)+f(i+1);i=i+1;endf,i(3)在“file”下拉菜單中選“ Save”項(xiàng),依提示輸入文件名“他no ”至止匕, 完成了命令文件fibno.m 的創(chuàng)建。(4) 執(zhí)行 fibno在 MATLAB 窗口中輸入fibno 并敲回車鍵,計(jì)算機(jī)依次執(zhí)行fibno 中的各條命令后顯示如下的結(jié)果:ans =Columns 1 through 121123581321345589 144Columns 13 through 16233377610987函數(shù)文件的創(chuàng)建和運(yùn)行:(1) 在 MATLAB 的命令窗口點(diǎn)擊“新建”工具欄或在“file ” 下拉菜單中選“ New ”中的“ M-fi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論