MATLAB程序設計課件_第1頁
MATLAB程序設計課件_第2頁
MATLAB程序設計課件_第3頁
MATLAB程序設計課件_第4頁
MATLAB程序設計課件_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

控制系統(tǒng)數(shù)字仿真與CAD(34學時2學分)授課教師:姚靜聯(lián)系電話:65984898E-MAIL:yaojing@3/31/20241控制系統(tǒng)數(shù)字仿真與CAD(34學時2學分)授課教師:姚第二章MATLAB程序設計3/31/202423/31/202422.1MATLAB簡介一、簡介MATLAB是MatrixLaboratory的縮寫。除具備卓越的數(shù)值計算能力外,它還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學,工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完相同的事情簡捷得多當前流行的MATLAB7.0/Simulink4.0包括擁有數(shù)百個內部函數(shù)的主包和三十幾種工具包(Toolbox).工具包又可以分為功能性工具包和學科工具包.功能工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功能.學科工具包是專業(yè)性比較強的工具包,控制工具包,信號處理工具包,通信工具包等都屬于此類.

開放性使MATLAB廣受用戶歡迎.除內部函數(shù)外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對源程序的修改或加入自己編寫程序構造新的專用工具包.3/31/202432.1MATLAB簡介一、簡介3/31/20243MATLAB產生的歷史背景在70年代中期,CleveMoler博士和其同事在美國國家科學基金的資助下開發(fā)了調用EISPACK和LINPACK的FORTRAN子程序庫.EISPACK是特征值求解的FOETRAN程序庫,LINPACK是解線性方程的程序庫.在當時,這兩個程序庫代表矩陣運算的最高水平.到70年代后期,身為美國NewMexico大學計算機系系主任的CleveMoler,在給學生講授線性代數(shù)課程時,想教學生使用EISPACK和LINPACK程序庫,但他發(fā)現(xiàn)學生用FORTRAN編寫接口程序很費時間,于是他開始自己動手,利用業(yè)余時間為學生編寫EISPACK和LINPACK的接口程序.CleveMoler給這個接口程序取名為MATLAB,該名為矩陣(matrix)和實驗室(labotatory)兩個英文單詞的前三個字母的組合.在以后的數(shù)年里,MATLAB在多所大學里作為教學輔助軟件使用,并作為面向大眾的免費軟件廣為流傳.1983年春天,CleveMoler到Standford大學講學,MATLAB深深地吸引了工程師JohnLittle.JohnLittle敏銳地覺察到MATLAB在工程領域的廣闊前景.同年,他和CleveMoler,SteveBangert一起,用C語言開發(fā)了第二代專業(yè)版.這一代的MATLAB語言同時具備了數(shù)值計算和數(shù)據(jù)圖示化的功能.

3/31/20244MATLAB產生的歷史背景在70年代中期,CleveMo1984年,CleveMoler和JohnLittle成立了MathWorks公司,正式把MATLAB推向市場,并繼續(xù)進行MATLAB的研究和開發(fā).

在當今30多個數(shù)學類科技應用軟件中,就軟件數(shù)學處理的原始內核而言,可分為兩大類.一類是數(shù)值計算型軟件,如MATLAB,Xmath,Gauss等,這類軟件長于數(shù)值計算,對處理大批數(shù)據(jù)效率高;另一類是數(shù)學分析型軟件,Mathematica,Maple等,這類軟件以符號計算見長,能給出解析解和任意精確解,其缺點是處理大量數(shù)據(jù)時效率較低.MathWorks公司順應多功能需求之潮流,在其卓越數(shù)值計算和圖示能力的基礎上,又率先在專業(yè)水平上開拓了其符號計算,文字處理,可視化建模和實時控制能力,開發(fā)了適合多學科,多部門要求的新一代科技應用軟件MATLAB.經過多年的國際競爭,MATLAB以經占據(jù)了數(shù)值軟件市場的主導地位.

3/31/202451984年,CleveMoler和JohnLittle成在MATLAB進入市場前,國際上的許多軟件包都是直接以FORTRANC語言等編程語言開發(fā)的。這種軟件的缺點是使用面窄,接口簡陋,程序結構不開放以及沒有標準的基庫,很難適應各學科的最新發(fā)展,因而很難推廣。MATLAB的出現(xiàn),為各國科學家開發(fā)學科軟件提供了新的基礎。在MATLAB問世不久的80年代中期,原先控制領域里的一些軟件包紛紛被淘汰或在MATLAB上重建。

時至今日,經過MathWorks公司的不斷完善,MATLAB已經發(fā)展成為適合多學科,多種工作平臺的功能強大大大型軟件。在國外,MATLAB已經經受了多年考驗。在歐美等高校,MATLAB已經成為線性代數(shù),自動控制理論,數(shù)理統(tǒng)計,數(shù)字信號處理,時間序列分析,動態(tài)系統(tǒng)仿真等高級課程的基本教學工具;成為攻讀學位的大學生,碩士生,博士生必須掌握的基本技能。在設計研究單位和工業(yè)部門,MATLAB被廣泛用于科學研究和解決各種具體問題。在國內,特別是工程界,MATLAB一定會盛行起來??梢哉f,無論你從事工程方面的哪個學科,都能在MATLAB里找到合適的功能。3/31/20246在MATLAB進入市場前,國際上的許多軟件包都是直接以FOR2.1MATLAB簡介二、語言特點語言簡潔緊湊,使用方便靈活。例如:A=[123;456;789]一條語句實現(xiàn)了對3x3矩陣的輸入。數(shù)值算法穩(wěn)定可靠,庫函數(shù)十分豐富。例如:polyder(b) %求多項式b的微分運算符豐富。例如:C=A*B%矩陣的乘法,x=A\b %求Ax=b的最小二乘解Matlab既具有結構化的控制語句(if、for、while)又支持面向對象的程序設計。3/31/202472.1MATLAB簡介二、語言特點3/31/202472.1MATLAB簡介語法限制不嚴格,程序設計自由度大。例如:在MATLAB里可以不用先定義或聲明變量就可以使用它們程序的可移植性好。Matlab的圖形功能強大,支持數(shù)據(jù)的可視化操作,方便的顯示程序的運行結果。強大的工具箱。例如:控制領域可以使用的工具箱就有ControlSystem(控制工具箱)源程序的開發(fā)性,系統(tǒng)的可擴充能力強。Matlab是解釋執(zhí)行語言。Matlab程序不用編譯生成可執(zhí)行文件就可以運行3/31/202482.1MATLAB簡介語法限制不嚴格,程序設計自由度大。32.1MATLAB簡介三、Matlab集成環(huán)境的組成Matlab語言Matlab工作環(huán)境包括程序編輯器、變量查看器、系統(tǒng)仿真器。Matlab圖形系統(tǒng)用Matlab的句柄圖形,可以實現(xiàn)二維、三維數(shù)據(jù)的可視化、圖象處理,可以完全或局部修改圖形窗口,還可以方便的設計圖形界面。Matlab數(shù)學函數(shù)庫MatlabAPI(ApplicationProgramInterface)3/31/202492.1MATLAB簡介三、Matlab集成環(huán)境的組成3/32.1MATLAB簡介四、Matlab軟件的基本使用方法命令窗口

工作空間歷史命令當前路徑

3/31/2024102.1MATLAB簡介四、Matlab軟件的基本使用方法命2.1MATLAB簡介(1)命令窗口Matlab的命令窗口可以執(zhí)行任何Matlab命令和函數(shù)。主要功能操作M文件(打開、新建、運行、保存)操作MDL文件運行Matlab程序運行外部應用程序(2)程序編輯/調試器Matlab內置了一個程序的編輯/調試器3/31/2024112.1MATLAB簡介(1)命令窗口3/31/202412.1MATLAB簡介主要功能建立、編輯、存儲M文件可以運行程序調試(斷點、單步、跟蹤、查看)程序設置斷點取消斷點單步運行進入函數(shù)跳出函數(shù)退出調試繼續(xù)運行3/31/2024122.1MATLAB簡介主要功能設置斷點取消斷點單步運行進入2.1MATLAB簡介(3)變量查看器在MATLAB中,工作空間(Workspace)是一個重要的、比較抽象的概念。工作空間指運行MATLAB的程序或命令所生成的所有變量和MATLAB提供的常量構成的空間。工作空間的特點工作空間在MATLAB運行期間一直存在關閉MATLAB后工作空間自動消失3/31/2024132.1MATLAB簡介(3)變量查看器3/31/20242.1MATLAB簡介查看變量刪除變量3/31/2024142.1MATLAB簡介查看變量刪除變量3/31/202412.1MATLAB簡介MATLAB的工作空間包含了一組可以在命令窗口中調整(調用)的參數(shù)who:顯示當前工作空間中所有變量的一個簡單列表

whos:列出變量的大小、數(shù)據(jù)格式等詳細信息clear:清除工作空間中所有的變量clear變量名:清除指定的變量保存和載入workspace(1)savefilenamevariables將變量列表variables所列出的變量保存到磁盤文件filename中3/31/2024152.1MATLAB簡介MATLAB的工作空間包含了一組可以2.1MATLAB簡介Variables所表示的變量列表中,不能用逗號,各個不同的變量之間只能用空格來分隔。未列出variables時,表示將當前工作空間中所有變量都保持到磁盤文件中。缺省的磁盤文件擴展名為“.mat”,可以使用“-”定義不同的存儲格式(ASCII、V4等)(2)loadfilenamevariables將以前用save命令保存的變量variables從磁盤文件中調入MATLAB工作空間。用load命令調入的變量,其名稱為用save命令保存時的名稱,取值也一樣。3/31/2024162.1MATLAB簡介Variables所表示的變量列表中2.1MATLAB簡介Variables所表示的變量列表中,不能用逗號,各個不同的變量之間只能用空格來分隔。未列出variables時,表示將磁盤文件中所有變量都調入工作空間。退出工作空間quit或exit(4)圖形窗口在圖形窗口上可以進行繪制曲線、顯示文本、填充顏色等操作。用figure命令建立新的圖形窗口。3/31/2024172.1MATLAB簡介Variables所表示的變量列表中2.1MATLAB簡介可以用繪圖語句自動創(chuàng)建圖形窗口并在上面繪圖,如plot命令。編輯模態(tài)添加文本添加箭頭添加線段旋轉三維圖形3/31/2024182.1MATLAB簡介可以用繪圖語句自動創(chuàng)建圖形窗口并在上2.1MATLAB簡介(5)文件管理文件管理的命令,包括列文件名、顯示或刪除文件、顯示或改變當前目錄等。what:顯示當前目錄下所有與matlab相關的文件及它們的路徑。dir:顯示當前目錄下所有的文件which:顯示某個文件的路徑cdpath:由當前目錄進入path目錄cd:顯示當前目錄typefilename:在命令窗口中顯示文件filenamedeletefilename:刪除文件filename3/31/2024192.1MATLAB簡介(5)文件管理3/31/202412.1MATLAB簡介(6)幫助系統(tǒng)help命令,在命令窗口中顯示MATLBA的所有函數(shù)都是以邏輯群組方式進行組織的,而MATLAB的目錄結構就是以這些群組方式來編排的。help函數(shù)名/文件名%顯示相關函數(shù)/文件的幫助體helpmatfun:矩陣函數(shù)-數(shù)值線性代數(shù)helpgeneral:通用命令helpgraphics:通用圖形函數(shù)helpelfun:基本的數(shù)學函數(shù)helpelmat:基本矩陣和矩陣操作3/31/2024202.1MATLAB簡介(6)幫助系統(tǒng)3/31/202422.1MATLAB簡介helpdatafun:數(shù)據(jù)分析和傅立葉變換函數(shù)helpops:操作符和特殊字符helppolyfun:多項式和內插函數(shù)helplang:語言結構和調試helpstrfun:字符串函數(shù)helpcontrol:控制系統(tǒng)工具箱函數(shù)helpwin:幫助窗口helpdesk:幫助桌面,瀏覽器模式lookfor函數(shù)名/文件名%顯示相關函數(shù)/文件的H1行demo:打開示例窗口3/31/2024212.1MATLAB簡介helpdatafun:數(shù)據(jù)分析和2.1MATLAB簡介五、Matlab編程基礎Matlab初學者常用的編程知識、規(guī)則可以在MATLAB命令窗口鍵入一個命令,也可以由Matlab定義的語言編寫一個或多個應用程序,然后在MATLAB環(huán)境下返回運算結果。MATLAB以復數(shù)矩陣為基本的運算單元,既可以對它整體進行處理,也可以對它的某個或某些元素進行單獨處理操作起來比較方便。3/31/2024222.1MATLAB簡介五、Matlab編程基礎3/31/22.1MATLAB簡介(2)MATLAB最基本的語句是賦值語句,其結構為:變量名列表=表達式其中等號左邊的變量名列表為MATLAB語句的返回值,若一次返回多個結果,則變量列表用[]括起來,各變量間用逗號分隔;等號右邊為表達式,可以是矩陣運算或函數(shù)調用,可以由分號(;)、逗號(,)或回車結束。如果希望結果不被顯示,只要在語句之后加上一個分號(;)即可。此時盡管結果沒有顯示,但它依然被賦值并在MATLAB工作空間中分配了內存。3/31/2024232.1MATLAB簡介(2)MATLAB最基本的語句是賦2.1MATLAB簡介(3)變量不需要定義就可以直接使用和賦值。例如:A=[1,2;3,4]%定義并輸入一個2x2的矩陣str=’Hello’%定義并輸入一個字符串(字符數(shù)組)矩陣的每行中的各個元素用逗號或者空格分隔,行于行之間用分號分隔;字符串用單引號定義。(4)輸入、輸出函數(shù)①A=input(提示信息,選項)例如:A=input(‘EntermatrixA=>’)3/31/2024242.1MATLAB簡介(3)變量不需要定義就可以直接使用2.1MATLAB簡介②disp(A)例如:A=‘hello’;disp(A) A=[1,2,3;4,5,6;7,8,9];disp(A)(5)命令行編輯器方向鍵和控制鍵可以編輯修改已輸入的命令:回調上一行命令:回調下一行命令3/31/2024252.1MATLAB簡介②disp(A)3/31/20242.1MATLAB簡介命令窗口的分頁輸出moreoff:不允許分頁moreon:允許分頁more(n):指定每頁輸出的行數(shù)回車前進一行,空格鍵顯示下一頁多行命令(…)如果命令語句超過一行或者太長希望分行輸入,則可以使用多行命令繼續(xù)輸入。S=1-12+13+4+…9-4-18;3/31/2024262.1MATLAB簡介命令窗口的分頁輸出3/31/20242.2數(shù)據(jù)類型和運算符一、變量(1)變量命名規(guī)則必須以字母開頭;

—可以由字母、數(shù)字和下劃線混合組成;變量長度應不大于31個;—字母區(qū)分大小寫。(2)特殊變量3/31/2024272.2數(shù)據(jù)類型和運算符一、變量3/31/2024272.2數(shù)據(jù)類型和運算符(3)變量操作在命令窗口中,同時存儲著輸入的命令和創(chuàng)建的所有變量值,它們可以在任何需要的時候被調用。如要察看變量a的值,只需要在命令窗口中輸入變量的名稱即可:》a二、數(shù)值顯示格式任何MATLAB的語句的執(zhí)行結果都可以在屏幕上顯示,同時賦值給指定的變量,沒有指定變量時,賦值給一個特殊的變量ans,數(shù)據(jù)的顯示格式由format命令控制。format只是影響結果的顯示,不影響其計算與存儲;MATLAB總是以雙字長浮點數(shù)(雙精度)執(zhí)行所有運算。3/31/2024282.2數(shù)據(jù)類型和運算符(3)變量操作3/31/2024282.2數(shù)據(jù)類型和運算符如果結果為整數(shù),則顯示沒有小數(shù);如果結果不是整數(shù),則輸出形式有:format(short):短格式(5位定點數(shù))99.1253formatlong:長格式(15位定點數(shù)99.12345678900000formatshorte:短格式e方式9.9123e+001formatlonge:長格式e方式9.912345678900000e+001formatbank:2位十進制99.12formathex:十六進制格式3/31/2024292.2數(shù)據(jù)類型和運算符如果結果為整數(shù),則顯示沒有小數(shù);如果2.2數(shù)據(jù)類型和運算符三、數(shù)據(jù)類型在MATLAB里共有六種數(shù)據(jù)類型,每一種類型可以是一維、二維和多維的。雙精度型(double)字符型(char)稀疏型(sparse)存儲型(storage)細胞型(cell)結構型(struct)3/31/2024302.2數(shù)據(jù)類型和運算符三、數(shù)據(jù)類型3/31/2024302.2數(shù)據(jù)類型和運算符(1)字符型基本規(guī)則:所有字符串都用單引號括起來;字符串中的每一個字符都是該字符串變量中的一個元素;字符串中的字符以ASCⅡ碼形式存儲,因而區(qū)分大小寫。常用操作方法:建立:常用函數(shù)有char、int2str、num2str等。連接:水平連接通過函數(shù)strcat或在中括號內用逗號連接;垂直連接通過函數(shù)strvcat或在中括號內用分號連接。比較:常用函數(shù)strcmp,相同則返回1,否則為0。查找:常用函數(shù)findstr。3/31/2024312.2數(shù)據(jù)類型和運算符(1)字符型3/31/2024312.2數(shù)據(jù)類型和運算符a='hello'b='goodbye'strcat(a,b)ans=hellogoodbye[a,b]ans=hellogoodbyet1='first';t2='string';t3='matrix';t4='second';S1=strvcat(t1,t2,t3)S2=[t4;t2;t3]S1=S2=firstsecondstringstringmatrixmatrixstrcmp('Yes','Yes')ans=1strcmp('Yes','No')ans=03/31/2024322.2數(shù)據(jù)類型和運算符a='hello't1='2.2數(shù)據(jù)類型和運算符(2)結構型結構的建立和訪問方法:直接建立結構和各個域,同時給各域賦值,結構和域之間用點“.”連接。同樣,訪問結構的各個域時,其格式為:結構名.域名用函數(shù)struct建立結構,其用法為:s=struct(‘field1’,values1,‘field2’,values2,┅)例2-1s=struct('type',{'big','little'},'color','red','x',{31})Fieldvalues1values2TypebiglittleColorredredX31s(1).type;s(2).types(1).color;s(2).colors(1).x;s(2).x1×2struct3/31/2024332.2數(shù)據(jù)類型和運算符(2)結構型Fieldval2.2數(shù)據(jù)類型和運算符四、運算符(1)算術運算符按照運算符的優(yōu)先級可把算術運算符分為五級,在每一級里運算符有同樣的優(yōu)先級,在運算時自左向右結合例:exp2_1,exp2_2+加.^數(shù)組冪-減\左除或反斜杠*矩陣乘法/右除或斜杠.*數(shù)組乘法./數(shù)組除^矩陣冪:冒號3/31/2024342.2數(shù)據(jù)類型和運算符四、運算符+加.^數(shù)組冪-減\左除或2.2數(shù)據(jù)類型和運算符(2)關系運算符在MATLAB里共有六個關系運算符

<小于>大于<=小于等于>=大于等于==等于 -=不等于關系運算符將生成一個0-1矩陣,當運算數(shù)相應元素為真時對應位置上生成1,否則為0。3/31/2024352.2數(shù)據(jù)類型和運算符(2)關系運算符3/31/202432.2數(shù)據(jù)類型和運算符例:假設有:A=[12-1-5]B=[0231]<小于A<Bans=[0011]A<1ans=[0011]>大于A>Bans=[1000]A>1ans=[0100]<=小于等于A<=Bans=[0111]>=大于等于A>=Bans=[1100]==等于A=Bans=[0100];A=1ans=[1000]~=不等于A~=Bans=[1011];A~=1ans=[0111]3/31/2024362.2數(shù)據(jù)類型和運算符例:3/31/2024362.2數(shù)據(jù)類型和運算符(3)邏輯運算符&(與)|(或)-(非)結果是一個0-1矩陣。當邏輯表達式的值為真時,賦值1,否則為0注意:在處理邏輯運算時,運算元只有兩個值即0和1,所以如果指定的數(shù)為0,MATLAB認為其為0,而任何數(shù)不等于0,則認為是1。例:設有:A=[5-40-0.5]B=[0109]A&B=[0101]A&1=[1101]A|B=[1101]A|1=[1111]~A=[0010]~1=03/31/2024372.2數(shù)據(jù)類型和運算符(3)邏輯運算符3/31/202432.2數(shù)據(jù)類型和運算符(4)邏輯函數(shù)all函數(shù)當某列的元素都為真時,返回值為1,否則返回0。最終運算結果為一個0-1行向量any函數(shù)當向量中至少有一個元素為真時,返回值為1,否則返回0。最終運算結果為一個0-1行向量find函數(shù)用于查找向量中的真元素的下標,返回由所有真元素下標構成的列向量。3/31/2024382.2數(shù)據(jù)類型和運算符(4)邏輯函數(shù)3/31/2024382.3程序控制語句一、循環(huán)語句MATLAB中的循環(huán)語句包括for和while兩種類型。(1)for循環(huán)for循環(huán)的基本格式為:

for循環(huán)變量=起始值:步長:終止值 循環(huán)體 end步長的缺省值是1。步長可以在正實數(shù)或負實數(shù)范圍內任意指定,對于正數(shù),循環(huán)變量的值大于終止值時,循環(huán)結束;對于負數(shù),循環(huán)變量的值小于終止值時,循環(huán)結束循環(huán)結構可以嵌套使用。書寫格式不必太過于拘泥,在Editor編輯器中會自動進行處理。例:exp2_11.m3/31/2024392.3程序控制語句一、循環(huán)語句3/31/2024392.3程序控制語句(2)while循環(huán)while循環(huán)的基本格式為:

while表達式 循環(huán)體 end若表達式為真,則執(zhí)行循環(huán)體的內容,執(zhí)行后再判斷表達式是否為真,若為假則跳出循環(huán)體,向下繼續(xù)執(zhí)行,否則繼續(xù)執(zhí)行循環(huán)體。例:exp2_12.mWhile循環(huán)和for循環(huán)的區(qū)別在于,while循環(huán)結構的循環(huán)體被執(zhí)行的次數(shù)不是確定的,而for結構中循環(huán)體的執(zhí)行次數(shù)是確定的。(3)Break:從循環(huán)體中跳出,并使循環(huán)結束。3/31/2024402.3程序控制語句(2)while循環(huán)3/31/202442.3程序控制語句二、選擇語句(1)if-else-elseif語句if格式if邏輯表達式執(zhí)行語句end當邏輯表達式的值為真,則執(zhí)行該結構中的執(zhí)行語句內容,執(zhí)行完后向下繼續(xù)執(zhí)行,若邏輯表達式的值為假,跳過結構中的執(zhí)行語句繼續(xù)向下執(zhí)行。3/31/2024412.3程序控制語句二、選擇語句3/31/2024412.3程序控制語句if-else格式if邏輯表達式執(zhí)行語句1else執(zhí)行語句2end如果邏輯表達式的值為真,則執(zhí)行語句1,然后跳過語句2向下執(zhí)行若邏輯表達式的值為假,則跳過執(zhí)行語句1而執(zhí)行語句2,然后向下執(zhí)行。3/31/2024422.3程序控制語句if-else格式3/31/202442.3程序控制語句if-elseif格式if邏輯表達式1 執(zhí)行語句1 elseif邏輯表達式2 執(zhí)行語句2 …… elseif 邏輯表達式n 執(zhí)行語句nelse 執(zhí)行語句elend如果邏輯表達式的值為真,則執(zhí)行語句1,若邏輯表達式的值為假則判斷邏輯表達式2的值,若為真,則執(zhí)行語句2,否則向下執(zhí)行,若所有表達式均為假,執(zhí)行語句el。例exp2_13.m exp2_13_.m3/31/2024432.3程序控制語句if-elseif格式3/31/2022.3程序控制語句(2)switch語句switch語句的格式為:

switch表達式(標量或字符串) case值1 語句1 case值2 語句2 ┅ case值n 語句n otherwise 語句ow end表達式的值和哪種情況(case)的值相同,就執(zhí)行哪種情況中的語句,如果都不同,則執(zhí)行otherwise中的語句。格式中也可以不包括otherwise,這時如果表達式的值與列出的各種情況都不相同,則繼續(xù)向下執(zhí)行。例exp2_14.m3/31/2024442.3程序控制語句(2)switch語句3/31/202.4矩陣運算一、矩陣輸入(1)在命令窗口中輸入在MATLAB中不必描述矩陣的維數(shù)和類型,而由輸入的格式和內容來決定。輸入小矩陣最簡單的方法:把矩陣的元素直接排列到方括號([])中。每行內的元素間用空格(space)或逗號(,)分開,行與行的內容間用分號(;)隔開。矩陣生成不但可以使用純數(shù)字(含復數(shù)),也可以使用變量(或者說采用一個表達式)。大的矩陣可以用分行輸入,回車鍵代表分號。3/31/2024452.4矩陣運算一、矩陣輸入3/31/2024452.4矩陣運算例:(2)語句生成用線性等間距生成向量矩陣(start:step:end)start為起始值step為步長,步長為1時可省略step參數(shù);另外step也可以取負數(shù)end為終止值》y=[2,4,5368]y=245368》a=1;b=2;c=3;》x=[5bc;a*ba+cc/b]x=5.0002.0003.0002.0004.0001.5003/31/2024462.4矩陣運算例:》y=[2,4,5》a=1;b=2;2.4矩陣運算例:》a=[1:2:10]a=13579a=linspace(n1,n2,n)在線性空間上,行矢量的值從n1到n2,數(shù)據(jù)個數(shù)為n,缺省n為100例:》a=linspace(1,10,10)a=123456789103/31/2024472.4矩陣運算例:3/31/2024472.4矩陣運算a=logspace(n1,n2,n)在對數(shù)空間上,行矢量的值從10n1到10n2,數(shù)據(jù)個數(shù)為n,缺省n為50。這個指令為建立對數(shù)頻域軸坐標提供了方便。例:》a=logspace(1,3,3)a=101001000特殊矩陣的生成單位矩陣

eye(n) %生成n維單位陣

eye(m,n) %生成m×n的單位陣 3/31/2024482.4矩陣運算a=logspace(n1,n2,n)3/32.4矩陣運算eye([m,n]) %生成m×n的單位陣eye(size(A)) %生成與A矩陣同樣大小的單位陣全1矩陣ones(n) ones(m,n)ones([m,n])ones(size(A))全0矩陣zeros(n) zeros(m,n)zeros([m,n]) zeros(size(A))隨機矩陣rand(n) rand(m,n)rand([m,n])rand(size(A))生成的隨機矩陣的各個元素值在0和1之間。3/31/2024492.4矩陣運算eye([m,n]) %生成m×n的單位2.4矩陣運算》eye(2,3)ans=100010》zeros(2,3)ans=000000》ones(2,3)ans=111111》eye(2)ans=1001》zeros(2)ans=0000》ones(2)ans=11113/31/2024502.4矩陣運算》eye(2,3)》eye(2)3/31/22.4矩陣運算二、下標引用(1)矩陣下標用兩個下標來表示。第i行j列的元素用A(i,j)來表示在下標的表達式中使用冒號表示矩陣的一部分。下標引用從序號1開始。例:

A(:,n):A(m,:):A(m1:m2,n1:n2):提取第n列元素提取第m行元素提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子塊)。3/31/2024512.4矩陣運算二、下標引用提取第n列元素提取第m行元素提取2.4矩陣運算A(:):(2)矩陣的組合即把小矩陣組合成大矩陣,組合符號為中括號[]。例:A=[12;34];B=[56;78];

C=[AB]C=[A;B]C=C=1256123478345678得到一個長列矢量,該矢量的元素按矩陣的列進行排列。3/31/2024522.4矩陣運算A(:):得到一個長列矢量,該矢量的元素按矩2.4矩陣運算(3)矩陣的抽取用下標可以從大矩陣里面抽取某些元素組成小的矩陣。例:

A=[123;456;789];B=[A(1,1),A(2,3)]B=16(4)刪除矩陣的行和列把空的[]稱為空矩陣,即矩陣大小為0×0。可以通過把矩陣的行或列賦值為空矩陣來刪除某行或某列。3/31/2024532.4矩陣運算(3)矩陣的抽取3/31/2024532.4矩陣運算例:X=[]

%將一個0×0的矩陣賦給X

A(:,[24])=[]

%將A的第二列和第四列刪除

A(:,2)=[]

%刪除矩陣A的第二列(5)矩陣擴展如果在原矩陣中一個不存在的地址位置上設定一個數(shù)(賦值),則該矩陣會自動擴展行列數(shù),并在該位置上添加這個數(shù),而且在其他沒有指定的位置補零。3/31/2024542.4矩陣運算例:X=[]2.4矩陣運算三、矩陣運算+;-;*;\和/;^;.*;.\;./;.^(1)矩陣的加減使用+、-運算符,并滿足以下兩個條件之一:類型相同,即行數(shù)相等,且列數(shù)相等。其中一個為標量,則矩陣中每一個元素都和標量做加減運算。(2)矩陣的乘積使用*運算符,必須滿足維數(shù)條件。只有當兩個矩陣中前一個矩陣的列數(shù)和后一個矩陣的行數(shù)相同時,才可以進行乘法運算。3/31/2024552.4矩陣運算三、矩陣運算3/31/2024552.4矩陣運算(3)矩陣的除法除法運算的意義相當于矩陣的求逆運算。定義了矩陣的左除及右除。矩陣的左除:“\”,A\B即求線性方程AX=B的解,X=A-1B矩陣的右除:“/”,A/B是方程XB=A的解,X=AB-1(4)矩陣的冪只有方陣才可以求冪3/31/2024562.4矩陣運算(3)矩陣的除法3/31/2024562.4矩陣運算(5)矩陣的點運算兩個矩陣之間的點運算是對該矩陣對應元素的直接運算。點乘積運算要求矩陣的維數(shù)相同。例:a=[12;34];b=[35;59]》c=a+bd=a-b》c=d=47-2-3813-2-53/31/2024572.4矩陣運算(5)矩陣的點運算3/31/2024572.4矩陣運算》a*b=[1323;2951]》a/b=[-0.500.50;3.50–1.50]》a\b=[-1-1;23]》a^3=[3754;81118]》a.*b=[310;1536]》a./b=[0.330.40;0.600.44]》a.\b=[3.002.50;1.672.25]》a.^3=[18;2764]3/31/2024582.4矩陣運算》a*b=[1323;2951]2.4矩陣運算(6)矩陣的轉置“’”表示復共軛轉置,“.’”表示普通轉置。對于實矩陣用(’)符號或(.’)求轉置結果是一樣的對于含復數(shù)的矩陣,則(’)將同時對復數(shù)進行共軛處理而(.’)則只是將其排列形式進行轉置。

》a=[123;456]'a=142536》b=[1+2i2-7i]'b=1.0000-2.0000i2.0000+7.0000i》b=[1+2i2-7i].'b=1.0000+2.0000i2.0000-7.0000i》a=[123;456].'a=1425363/31/2024592.4矩陣運算(6)矩陣的轉置》a=[123;452.4矩陣運算四、矩陣函數(shù)求逆矩陣,要求矩陣必須為方陣X=inv(A)

(2)求矩陣的行列式,要求矩陣必須為方陣d=det(A)

例:》a=[123;456;235];》b=inv(a)b=-2.33330.33331.00002.66670.3333-2.0000-0.6667-0.33331.0000》det(a)ans=-33/31/2024602.4矩陣運算四、矩陣函數(shù)例:3/31/2024602.4矩陣運算(3)求特征值與特征向量求解A矩陣的特征值和特征向量,其調用格式為:

D=eig(A);[V,D]=eig(A);d為矩陣A的特征值向量;求矩陣A的特征向量V及特征值D,滿足A*V=V*D。其中D的對角線元素為特征值,V的列為對應的特征向量。例:a=[98;68][v,d]=eig(a)v=d=0.7787-0.732015.446200.62740.681301.55383/31/2024612.4矩陣運算(3)求特征值與特征向量3/31/20242.4矩陣運算(4)矩陣的尺寸

為了判斷矩陣的尺寸,Matlab提供了以下函數(shù):[m,n]=size(A) %返回矩陣的行數(shù)m和列數(shù)n

M=size(A) %在矩陣M中返回矩陣的行數(shù)、列數(shù)

len=length(A) %返回矩陣A行數(shù)和列數(shù)中的最大值

rank(A)%求矩陣的秩》a=[123;345];》[m,n]=size(a)m=2n=3》length(a)ans=3》max(size(a))ans=3》rank(a)ans=23/31/2024622.4矩陣運算(4)矩陣的尺寸》a=[123;32.4矩陣運算(5)奇異值分解求矩陣A的奇異值及分解矩陣,滿足U*S*V=A,其中U、V矩陣為正交矩陣(U*U’=I),S矩陣為對角矩陣,它的對角元素即A矩陣的奇異值。[U,S,V]=svd(A)例:a=9868可以驗證:

u*u’=Iv*v’=Iu*s*v=a[u,s,v]=svd(a)u=0.7705-0.63750.63750.7705s=15.5765001.5408v=0.6907-0.72310.72310.69073/31/2024632.4矩陣運算(5)奇異值分解[u,s,v]=svd(a)2.4矩陣運算(6)三角分解將一個方陣表示成兩個基本三角陣的乘積,其中一個三角陣為上三角陣,另一個為下三角陣。這種分解被稱為"LU分解"。

[L,U]=lu(A) %求矩陣A的LU分解,L為下三角矩陣U為上三角矩陣(7)矩陣操作函數(shù):flipud(A):使矩陣上下翻轉fliplr(A):使矩陣左右翻轉rot90(A):使矩陣逆時針翻轉90度3/31/2024642.4矩陣運算(6)三角分解3/31/2024642.4矩陣運算(8)了解矩陣超越函數(shù)在MATLAB中exp、sqrt等命令也可以作用到矩陣上,但這種運算是定義在矩陣的單個元素上的,即分別對矩陣的每一個元素進行計算。超越數(shù)學函數(shù)可以在函數(shù)后加上m而成為矩陣的超越函數(shù),例如:expm,sqrtm。矩陣的超越函數(shù)要求運算矩陣為方陣。3/31/2024652.4矩陣運算(8)了解矩陣超越函數(shù)3/31/2024652.5多項式一、多項式用行向量表示多項式P(x)=anxn+an-1xn-1+…+a1x1+a0,其系數(shù)向量表示為:P=[an,an-1,…,a1,a0]。二、多項式的創(chuàng)建(1)直接輸入法 例如:P=[1,2,3,4](2)poly(A)

%創(chuàng)建方陣A的特征多項式(3)poly(a)

%如果a為向量[bnbn-1…b1b0],則創(chuàng)建(x-b0)(x-b1)…(x-bn-1)(x-bn)生成的多項式的系數(shù)向量3/31/2024662.5多項式一、多項式用行向量表示3/31/2024662.5多項式三、多項式的常用函數(shù)(1)roots()

%求多項式的根(2)p=poly(A)

%求矩陣的特征多項式(3)polyval(p,x)

%求當多項式p的參數(shù)為某個特定值x時的多項式的值(4)polyvalm(p,A)

%和polyval作用相同,輸入?yún)?shù)值也可為方陣A3/31/2024672.5多項式三、多項式的常用函數(shù)3/31/2024672.5多項式例:多項式表示為:p=[1-12025116]使用函數(shù)roots可以求出多項式等于0的根,用列向量表示若已知多項式等于0的根,函數(shù)poly可以求出相應多項式p=poly(r)p=1-12-025116r=roots(p)r=11.74732.7028-1.2251+1.4672i-1.2251-1.4672i3/31/2024682.5多項式例:多項式p=poly(r)r=roots(p2.5多項式四、多項式運算c=conv(A,B)

%多項式乘法函數(shù)A=[123];B=[12]C=conv(A,B)=1476conv指令可以嵌套使用,如conv(conv(a,b),c)(2)[Q,R]=deconv(A,B)

%多項式除法函數(shù)Q=123%商多項式R=000%余多項式(3)Polyder(A)

%求多項式的微分多項式polyder(A)=22 3/31/2024692.5多項式四、多項式運算3/31/2024692.5多項式(4)polyval(p,n)

%求多項式函數(shù)值,將值n代入多項式求解polyval(A,2)=11五、多項式曲線的擬合多項式擬合又稱為曲線擬合,其目的就是在眾多的樣本點中進行擬合,找出滿足樣本點分布的多項式。這在分析實驗數(shù)據(jù),將實驗數(shù)據(jù)做解析描述時非常有用。格式為:p=polyfit(x,y,n)其中,x和y為已知數(shù)據(jù)的橫坐標和縱坐標向量,n為多項式的次數(shù)。例exp2_15.m3/31/2024702.5多項式(4)polyval(p,n)%2.5多項式六、多項式插值多項式插值是指根據(jù)給定的有限個樣本點,產生另外的估計點以達到數(shù)據(jù)更為平滑的效果。該技巧在信號處理與圖像處理上應用廣泛。所用指令有一維的interp1、二維的interp2、三維的interp3。這些指令分別有不同的方法(method),設計者可以根據(jù)需要選擇適當?shù)姆椒?,以滿足系統(tǒng)屬性的要求。Helppolyfun可以得到更詳細的內容。y=interp1(xs,ys,x,’method’)在有限樣本點向量xs與ys中,插值產生向量x和y,所用方法定義在method中,有4種選擇:nearest:執(zhí)行速度最快,輸出結果為直角轉折linear:默認值,在樣本點上斜率變化很大spline:最花時間,但輸出結果也最平滑cubic:最占內存,輸出結果與spline差不多例exp2_16.m3/31/2024712.5多項式六、多項式插值3/31/2024712.6函數(shù)與M文件用Matlab語言編寫的可以在Matlab環(huán)境中運行的程序稱為M文件。M文件以.m為擴展名,M文件分為兩種:命令文件和函數(shù)文件。一、命令文件命令文件沒有輸入?yún)?shù)也沒有輸出參數(shù),只是一些Matlab命令和函數(shù)的組合。命令文件可以操作工作空間的變量,也可以生成新的變量當命令文件執(zhí)行結束后新變量將保存在工作空間中,不會被自動清除。3/31/2024722.6函數(shù)與M文件用Matlab語言編寫的可以在Matl2.6函數(shù)與M文件二、函數(shù)文件函數(shù)接收輸入?yún)?shù),返回輸出參數(shù)。函數(shù)文件也是以“.m”為擴展名。三、程序文件與函數(shù)文件的主要區(qū)別函數(shù)允許通過數(shù)值進行參數(shù)傳遞,而且函數(shù)使用局部變量而不是全局變量操作。函數(shù)文件的第一行必須包括“function”這個關鍵字。函數(shù)文件的文件名必須和函數(shù)定義的函數(shù)名稱相同。3/31/2024732.6函數(shù)與M文件二、函數(shù)文件3/31/2024732.6函數(shù)與M文件四、MATLAB的函數(shù)M文件通常由以下幾個部分組成(1)函數(shù)定義行函數(shù)M文件的第一行用關鍵字“function”把M文件定義為一個函數(shù)并指定它的名字,并且與文件名必須相同,同時定義了函數(shù)的輸入和輸入?yún)?shù)。輸入?yún)?shù)的定義用小括號(),如果有多個輸入?yún)?shù)則用逗號分隔;輸出參數(shù)的定義用中括號[],如果有多個輸出參數(shù)則用逗號分隔。(2)H1行

所謂H1行指幫助文本的第一行,它緊跟在定義行之后并以“%”符號開頭,用于概括說明函數(shù)名和函數(shù)的功能。在命令窗口用lookfor命令時將顯示所尋求函數(shù)的H1行。3/31/2024742.6函數(shù)與M文件四、MATLAB的函數(shù)M文件通常由以下2.6函數(shù)與M文件(3)函數(shù)幫助文本幫助文本指位于H1行之后函數(shù)體之前的說明文本,它同樣以“%”符號開頭,一般用來比較詳細地介紹函數(shù)的功能和用法。在命令窗口用help命令時將顯示函數(shù)的H1行和所有幫助文本(4)函數(shù)體是函數(shù)的主體部分,包括進行運行和賦值操作的所有MATLAB程序代碼,其中可以有流程控制、輸入輸出、計算、賦值、注釋以及函數(shù)調用等操作。(5)注釋除了函數(shù)開始獨立的幫助文本外,還可以在函數(shù)體中添加對語句的注釋。注釋必須以“%”符號開頭,MATLAB在編譯執(zhí)行M文件時把每一行中“%”后面的全部內容作為注釋不進行編譯。3/31/2024752.6函數(shù)與M文件(3)函數(shù)幫助文本3/31/2024752.6函數(shù)與M文件五、子函數(shù)一個M文件中可以定義多個函數(shù),其中第一個定義的函數(shù)稱為主函數(shù),主函數(shù)名必須與M文件名相同,其它函數(shù)稱為子函數(shù)。子函數(shù)只能被定義它的文件中的函數(shù)調用,其它函數(shù)和文件不能調用。3/31/2024762.6函數(shù)與M文件五、子函數(shù)3/31/2024762.7數(shù)據(jù)的可視化一、圖形窗口MATLAB自動將圖形畫在圖形窗口上;圖形窗口相對于命令窗口是獨立的窗口;圖形窗口的屬性由系統(tǒng)和MATLAB共同控制。二、常用圖形窗口命令格式figure%建立一個新的圖形窗口,并指定為當前窗口用于圖形輸出subplot %把多個圖形繪在一個圖形窗口中subplot(m,n,I)%把圖形窗口分成m×n個小圖形區(qū)域,并指定第i個區(qū)域為圖形繪制區(qū)域,圖形區(qū)域的編排采用行優(yōu)先3/31/2024772.7數(shù)據(jù)的可視化一、圖形窗口3/31/2024772.7數(shù)據(jù)的可視化三、基本的繪圖命令plot功能:plot是最基本的二維圖形命令,它是以MATLAB的內部函數(shù)形式出現(xiàn)的。MATLAB的其他二維函數(shù)中的絕大多數(shù)是以plot為基礎構造的繪圖命令。格式:plot(y),plot(x,y),plot(x1,y1,x2,y2,…)說明:plot(y):當y為向量時,則以y的元素為縱坐標,以相應元素下標為橫坐標,繪制連線圖。plot(x,y):當y和x為同維向量,則以x為橫坐標、y為縱坐標繪制連線圖。plot(x1,y1,x2,y2,…):每對x、y必須符合plot(x,y)中的要求,不同對之間沒有影響,命令將對每一對x,y繪制曲線。3/31/2024782.7數(shù)據(jù)的可視化三、基本的繪圖命令plot3/31/202.7數(shù)據(jù)的可視化四、常用繪制二維圖形的命令五、基本繪圖控制數(shù)據(jù)的可視化的一般步驟為:①準備繪圖需要的數(shù)據(jù);②指定繪圖的窗口或者區(qū)域;函數(shù)軸的刻度方式Loglog縱橫軸均采用對數(shù)坐標Semilogx縱軸采用線性坐標,橫軸采用對數(shù)坐標Semilogy縱軸采用對數(shù)坐標,橫軸采用線性坐標plotyy在圖的左右兩側分別建立縱坐標軸3/31/2024792.7數(shù)據(jù)的可視化四、常用繪制二維圖形的命令函數(shù)軸的刻度方2.7數(shù)據(jù)的可視化③調用基本繪圖命令;④選擇線型、顏色、數(shù)據(jù)點形狀;⑤坐標軸控制,包括顯示范圍、刻度線、比例、網(wǎng)格線;⑥標注控制,包括坐標軸名稱、標題、相應文本等。六、plot控制功能:在調用函數(shù)plot時,可以指定線型,顏色,和數(shù)據(jù)點的圖標。格式:plot(x,y,‘color_linestyle_marker’)說明:參數(shù)color_linestyle_marker為一個字符串,由顏色、線型、數(shù)據(jù)點的圖標組成。3/31/2024802.7數(shù)據(jù)的可視化③調用基本繪圖命令;3/31/202482.7數(shù)據(jù)的可視化線型字符定義表顏色字符定義表字符定義線型字符定義線型-實線(默認)--虛線:點劃線-.點連線none無線

字符定義顏色字符定義顏色yyellow(黃)mmagenta(洋紅)ccyan(青)rred(紅)ggreen(綠)bblue(蘭)默認wwhite(白)kblack(黑)3/31/2024812.7數(shù)據(jù)的可視化線型字2.7數(shù)據(jù)的可視化七、坐標軸控制axis([xmin,xmax,ymin,ymax])指定軸的顯示范圍,四個輸入?yún)?shù)分別為橫軸顯示的最小值和最大值、縱軸顯的最小值和最大值,可以用Inf和-Inf表示。axissquare一般情況下,MATLAB給出的圖形窗口不是正方形,所有顯示的圖形區(qū)域也不是正方形。對應兩軸的比例,一般也是不相等的??梢杂么嗣钪付▋奢S的顯示的長度相同。axistight用于繪制指定數(shù)據(jù)的范圍?!癳qual”和“tight”也可以同時選中。3/31/2024822.7數(shù)據(jù)的可視化七、坐標軸控制3/31/2024822.7數(shù)據(jù)的可視化axisequal用于指定兩軸的顯示比例相同。set(gca,’xtick’,[……]),set(gca,’ytick’,[……])設置橫軸(X軸)、縱軸(Y軸)的刻度線,第三個輸入?yún)?shù)是一個刻度向量,并按照等分升序原則排列。八、刪格控制:控制圖形窗口的柵格是否被顯示。

gridon

%顯示柵格

gridoff %隱藏柵格3/31/2024832.7數(shù)據(jù)的可視化axisequal3/31/202482.7數(shù)據(jù)的可視化九、追加控制:控制繪圖方式,即在當前窗口繪圖時是否清除原窗口上來的圖形 holdon

%繪圖時不清除繪圖窗口中原有的圖形holdoff %繪圖時清除繪圖窗口中原有的所有圖形十、標注控制:圖形上加上適當?shù)奈淖终f明。xlable(‘string’,‘FontSize’,size),ylable(‘string’,FontSize’,size)顯示坐標軸的名稱,string為坐標軸名稱字符串,size為使用的字體尺寸title(‘string’,‘FontSize’,size顯示整個圖形的標題,string為標題字符串,size為字體大小。text(x,y,‘stirng’)在繪圖窗口的坐標(x,y)處顯示字符串string。3/31/2024842.7數(shù)據(jù)的可視化九、追加控制:控制繪圖方式,即在當前窗2.7數(shù)據(jù)的可視化legend(‘字符串1’,‘字符串2’,…,‘字符串n’)在屏幕上開啟一個小視窗,然后依據(jù)繪圖命令的先后次序,用對應的字符串區(qū)分圖形上的線。例:exp2_5_.m十一、其他subplot(mnk):分割圖形顯示窗口m:上下分割個數(shù),n:左右分割個數(shù),k:子圖編號例exp2_6.m3/31/2024852.7數(shù)據(jù)的可視化legend(‘字符串1’,‘字符串2’2.7數(shù)據(jù)的可視化對數(shù)坐標圖形semilogx:繪制以x軸為對數(shù)坐標(以10為底),y軸為線性坐標的半對數(shù)坐標圖形。semilogy:繪制以y軸為對數(shù)坐標(以10為底),x軸為線性坐標的半對數(shù)坐標圖形。例:exp2_17.m了解應用型繪圖指令:用于數(shù)值統(tǒng)計分析或離散數(shù)據(jù)處理bax(x,y);hist(y,x);stairs(x,y);stem(x,y)例:exp2_7.m注意對于圖形的屬性編輯同樣可以通過在圖形窗口上直接進行。但圖形窗口關閉之后編輯結果不會保存3/31/2024862.7數(shù)據(jù)的可視化對數(shù)坐標圖形3/31/2024862.8程序設計入門一、MATLBA程序的基本設計原則1、%后面的內容是程序的注解,要善于運用注解使程序更具可讀性。2、養(yǎng)成在主程序開頭用clear指令清除變量的習慣,以消除工作空間中其他變量對程序運行的影響。但注意在子程序中不要用clear。3、參數(shù)值要集中放在程序的開始部分,以便維護。要充分利用MATLAB工具箱提供的指令來執(zhí)行所要進行的運算,在語句行之后輸入分號使其及中間結果不在屏幕上顯示,以提高執(zhí)行速度。3/31/2024872.8程序設計入門一、MATLBA程序的基本設計原則3/2.8程序設計入門4、input指令可以用來輸入一些臨時的數(shù)據(jù);而對于大量參數(shù),則通過建立一個存儲參數(shù)的子程序,在主程序中用子程序的名稱來調用。5、程序盡量模塊化,也就是采用主程序調用子程序的方法,將所有子程序合并在一起來執(zhí)行全部的操作。6、充分利用Debugger來進行程序的調試(設置斷點、單步執(zhí)行、連續(xù)執(zhí)行),并利用其他工具箱或圖形用戶界面(GUI)的設計技巧,將設計結果集成到一起。2-27、設置好MATLAB的工作路徑,以便程序運行。3/31/2024882.8程序設計入門4、input指令可以用來輸入一些臨時的2.8程序設計入門8、MATLAB程序的基本組成結構%說明清除命令:清除workspace中的變量和圖形(clear,close)定義變量:包括全局變量的聲明及參數(shù)值的設定逐行執(zhí)行命令:指MATLAB提供的運算指令或工具箱提供的專用命令………控制循環(huán):包含for,ifthen,switch,while等語句逐行執(zhí)行命令………end繪圖命令:將運算結果繪制出來當然更復雜程序還需要調用子程序,或與simulink以及其他應用程序結合起來。3/31/2024892.8程序設計入門8、MATLAB程序的基本組成結構3/32.8程序設計入門二、M文件的編輯及MATLAB工作路徑的設置進入MATLAB的Editor/Debugger窗口來編輯程序在編輯環(huán)境中,文字的不同顏色顯示表明文字的不同屬性。 綠色:注解;黑色:程序主體;紅色:屬性值的設定;藍色:控制流程。在運行程序之前,必須設置好MATLAB的工作路徑,使得所

溫馨提示

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

評論

0/150

提交評論