




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、整理課件l電子計算機技術為應用數學解決實際問題創造了物質條件 。l“今天,在技術科學中最有用的數學研究領域是數值分析和數學建模。”l“一切科學與工程技術人員的教育必須包括越來越多的數學和計算科學的內容。數學建模和相伴的計算正成為工程設計中的關鍵工具。科學家正日益依賴于計算方法以及在解釋結果的精度和可靠性方面有充分的經驗。”整理課件l吳文俊: “任何數學都要講究邏輯推理,但這只是問題的一個方面,更重要的是用數學去解決問題,解決日常生活中,其他科學中出現的數學問題。學校給出的數學題目都是有答案的,已知什么,求證什么,都是很清楚的,題目也是一定做得出的。但是來到了社會上,所面對的問題大多是預先不知道
2、答案的,甚至不知道是否會有答案。這就要求學生培養創造能力,學會處理各種實際數學問題的方法。”l數學軟件既是數值計算的工具,也是數值實驗的工具。整理課件MATLAB“矩陣實驗室” l MATLAB基本操作l MATLAB數值計算l MATLAB符號計算l MATLAB圖形處理l MATLAB程序設計l MATLAB實際應用 整理課件一、MATLAB的開發環境 1、MATLAB系統 的組成 MATLAB開發環境 MATLAB數學函數庫 MATLAB語言 圖形功能 應用程序接口 五個部分。整理課件lMATLAB6.x的開發環境包括命令窗口、啟動平臺窗口、工作空間窗口、命令歷史窗口、當前路徑窗口、M文
3、件編輯器、在線幫助瀏覽器等。 l啟動MATLAB后,將顯示包括命令窗口、啟動平臺窗口、工作空間窗口、命令歷史窗口和當前路徑窗口等五個窗口和主菜單組成的操作桌面(主窗口)。l操作桌面在缺省狀態下顯示3個窗口,啟動平臺和工作空間窗口在同一個位置顯示,命令歷史窗口和當前目錄窗口在同一位置顯示。lMATLAB設定了幾種特定的窗口布局方式,可以在視圖(View)菜單中選擇窗口布局(Desktop Layout)設定,其中缺省方式為Default。整理課件lMATLAB是交互式的語言,輸入命令即給出運算結果。而命令窗口則是MATLAB的主要交互窗口,用于輸入和編輯命令行等信息,顯示結果(圖形除外)。 l當
4、命令窗口中出現提示符“”時,表示MATLAB已經準備好,可以輸入命令、變量或運行函數。提示符總是位于行首。l在每個指令行輸入后要按回車鍵,才能使指令被MATLAB執行。 整理課件l啟動平臺用于啟動和管理系統中安裝的MATLAB系統。可以通過雙擊來啟動相應的選項。l啟動平臺是一個展示MATLAB功能和產品工具箱的平臺,可以通過Demos了解MATLAB。整理課件l工作空間用于保存MATLAB變量的信息。l在工作空間可以對變量進行觀察、編輯、保存和刪除。l保存在工作空間中的自定義變量,直到使用了“clear”命令清除工作空間或關閉了MATLAB系統才被清除。l在命令窗口中鍵入“whos”命令,可以
5、顯示出保存在工作空間中的所有變量的名稱、大小、數據類型等信息,如果鍵入“who”命令,則只顯示變量的名稱。整理課件l命令歷史窗口記錄用戶每一次啟動MATLAB的時間以及在命令窗口運行過的所有指令。l命令歷史窗口中的指令可以被復制到命令窗口重新運行。l如果要清除掉這些記錄,可以選擇“Edit”菜單中的“Clear Command History”項。整理課件l當前路徑窗口也稱為當前目錄窗口。可以顯示或改變當前目錄。l當前目錄指的是MATLAB運行文件時的工作目錄。只有在當前目錄或搜索路徑下的文件及函數可以被運用或調用,如果沒有特殊指明,數據文件也將儲存在當前目錄下。l如果要建立自己的工作目錄,在
6、運行文件前必須將該文件所在目錄設置為當前目錄。整理課件1、MATLAB系統的啟動(1)在桌面上雙擊MATLAB快捷方式圖標。(2)在開始菜單中單擊MATLABMATLAB6.5項。(3)在MATLAB安裝目錄MATLAB6p5中雙擊MATLAB快捷方式。(4)在MATLAB安裝目錄MATLAB6p5binwin32中雙擊MATLAB.exe圖標。2、MATLAB系統的退出(1)點擊操作桌面的關閉按鈕。(2)執行操作桌面fileExit MATLAB命令。(3)在命令窗口中輸入命令exit或quit,并回車。(4)用快捷鍵Ctrl+Q。整理課件1、幫助命令 幫助命令是查詢函數語法的最基本的方法,
7、查詢信息直接顯示在命令窗口。幫助命令有help、lookfor。help %在命令窗口直接輸入help,顯示主要的在線幫助主題。help 函數名 %顯示關于某個具體函數的功能、調用格式、及相關函數。help 幫助主題 %列出指定主題下的函數。例如help elfun %列出所有基本函數。 整理課件lookfor image %查找有關圖像的函數和命令。 2、在線幫助瀏覽器 MATLAB6.x設計了全新的在線幫助瀏覽器,當在View菜單中選擇了Help選項,或在Help菜單中選擇了MATLAB Help選項時,都可以打開幫助瀏覽器。3、演示幫助 選擇Help菜單中的Demos選項,可以打開演示窗
8、口,觀看要查詢項的動畫演示。整理課件1、命令行運行方式 演算紙式的科學計算語言 在MATLAB的應用中,最基本、最簡單的應用,就是在命令窗口中直接輸入命令來實現計算或繪圖功能。 MATLAB命令行的一般形式為:l變量表達式或:l表達式 (賦值語句)整理課件 使用MATLAB最簡單的方式是將MATLAB的命令窗口看作計算器,通過輸入數學算式直接計算。 12345 ans= 15 如果在輸入的表達式后面跟上分號“;”,那么運行后就不會馬上顯示運算的結果,必須鍵入輸出變量后才能顯示運算結果。用分號關閉不必要的輸出會使程序運行速度成倍甚至成百倍地提高。 12345; 則不會馬上顯示運算結果,要得到運算
9、結果,必須 ans 則顯示結果為 ans= 15整理課件如果在表達式后面跟上逗號“,”或什么都不跟,運行后會馬上顯示該表達式的運算結果。如果一個表達式很長,可以用續行號“”將其延續到下一行。1+2+3+4+5+ %注意加號寫在本行。 6+7+8+9+10 則輸出結果 ans= 55 如果續行號前面是數字,直接使用續行號會出現錯誤,有三種解決辦法,一是設法使續行號前面是一個運算符號,二是先空一格再加續行號,三是再加一個點。整理課件在一行中也可以寫幾個語句,它們之間用逗號“,”或分號“;”隔開。 A=1,2,3.3,sin(4),X=1966/310+1 則輸出結果 A X= 7.3419。整理課
10、件l所謂m文件,就是用MATLAB語言編寫的、可以在MATLAB中運行的程序。它是以普通文本格式存放的,故可以用任何文本編輯軟件進行編輯。MATLAB提供的m文件編輯器就是程序編輯器。l在File菜單中選擇NEW,再選擇M-file,或點擊新建圖標,就可以調出m文件編輯器,用戶可以用此編輯器編寫m文件。lm文件有兩種形式,一種稱為命令文件(Script File),另一種稱為函數文件(Function File),兩種文件的擴展名都是m。整理課件l如果要輸入較多的命令,或者要經常對某些命令進行重復的輸入,則可以將這些命令按執行順序存放在一個m文件中,以后只要在MATLAB的命令窗口中輸入該文件
11、的文件名,系統就會調入該文件并執行其中的全部命令。這種形式就是MATLAB的命令文件。l命令文件中的語句可以訪問MATLAB工作空間的所有變量;而在命令文件執行過程中創建的變量也會一直保留在工作空間中,其他命令或m文件都可以訪問這些變量。l命令文件相當于DOS批處理文件。整理課件l求滿足1+2+3+n100的最大正整數n的MATLAB程序為:sum=0;n=0; %賦初始值while sum=100,故應 對sum減nn=n-1; %當循環結束時有sum=100,故 應對n減1n,sum %顯示最大正整數n以及和sum整理課件l將上述程序存入文件fl.m,然后在命令窗口鍵入fl 顯示結果為n=
12、 13sum= 91l指出: 程序中由符號“%”開始的文字都是注釋文字,用來對程序或程序行行進行注釋說明,符號“%”稱為注釋符,MATLAB在執行時將忽略“%”后的內容。整理課件l函數文件是另一類m文件,可以像庫函數一樣方便地被調用,MATLAB提供的許多工具箱,是由函數文件組成的。l對于某一類特殊問題,用戶可以建立系統的函數文件,形成專用工具箱。l函數文件的第一行有特殊的要求,它必須遵循如下的形式:l function=()l其他各行都是程序運行語句,沒有特別要求。l函數文件的文件名必須是.m。整理課件實現符號函數運算功能的函數m文件為:function y=sgn(x) %這是一個定義符號
13、函數 y=sgn(x)的函數文件。if xx=4/3*pi; y=3*sgn(sin(x) 顯示結果為:y= -3整理課件 MATLAB可以通過菜單對工作著的窗口進行操作,也可以通過鍵盤在命令窗口輸入命令進行操作,下面給出幾個常用的通用命令。lquit 關閉MATLABlexit 關閉MATLABlclc 清除MATLAB命令窗口中的所有顯示內容lclear 清除工作空間中保存的所有變量 其他命令可以在學習應用中逐步熟悉。整理課件運算數學表達式MATLAB運算符MATLAB表達式示例加a+b+a+b1+2減a-b-a-b5-3乘ab*a*b2*3除a b/(右除)或(左除) a/b或ba 6/
14、2或26冪abab23指出:右除相當于通常的除法。 整理課件1、變量l變量就是在程序的運行過程中,其數值可以變化的量(數據),它可以代表一個或若干個內存單元(變量的地址)中的數據。為了對所有的變量所對應的存儲單元進行訪問,需要給變量命名。lMATLAB變量命名的規則是:以字母開頭,后面可以跟字母、數字或下劃線。不超過31個字符。字符間不可以留空格。區分大小寫。整理課件l系統變量變量名意義ans用于存儲計算結果的默認變量pi圓周率inf(Inf)無窮大,例如1/0 eps計算機的最小數,和1相加產生比1大的數,在pc機上為252。 NaN(nan) 不定量,如0/0 i或j虛數單位,i=j=sq
15、rt(-1) 整理課件l指出:自定義變量名一般不應和系統變量同名。在MATLAB中輸入的內容直接決定變量的類型。使用who和whos命令可以查看變量。使用clear命令可以刪除所有定義過的變量。如果只是刪除其中某些變量,應在clear后面指定要刪除的變量名。例如 clear a z有了變量,就可以組成表達式,也就可以對變量進行賦值。MATLAB的賦值語句有兩種形式。 變量名表達式 表達式 在第一種情況下,MATLAB將右邊的表達式的值賦值給左邊的變量,在第二種情況,MATLAB將表達式的值賦值給系統變量ans。所謂表達式,就是用運算符號把特殊字符、函數名、變量名等有關運算量連接起來的式子,其結
16、果是一個矩陣。整理課件l數學函數函數名含義函數名含義abs(x)x的絕對值atant(x)x的反正切sqrt(x)x的平方根cot(x)x的余切exp(x)e的x次方acot(x)x的反余切sin(x)x的正弦log(x)x的自然對數cos(x)x的余弦log10(x) x的常用對數asin(x)x的反正弦sinh(x)雙曲正弦acos(x)x的反余弦cosh(x)雙曲余弦tan(x)x的正切整理課件l機器函數l pause 程序將暫時停在該函數所在位置,擊任意鍵程序繼續執行l echo on 在命令窗口顯示正在執行的程序指令l cputime 給出MATLAB所耗用的總機器時間l clock
17、 給出日期及當前時間l指出 l在表達式中,函數一定要出現在等式的右邊。l每個函數對其自變量的個數和格式都有一定要求,如三角函數的單位是“弧度”而不是“度”。l函數允許嵌套,如sqrt(sin(10)。系統函數的函數名小寫。注意函數名也是區分大小寫的。整理課件 MATLAB運算的基本數據對象是矩陣,標量可以看作是11的矩陣,向量可以看作是1n或n1的矩陣。因此,可以說MATLAB的數據結構就是矩陣,以矩陣運算為代表的基本運算功能一直是MATLAB引以為自豪的核心與基礎。 整理課件l矩陣是線性代數的基本運算單元。l通常矩陣是指含有m行n列數值的矩形結構。矩陣中的元素可以是實數也可以是復數,由此可以
18、將矩陣劃分為實矩陣和復矩陣。lMATLAB支持線性代數所定義的全部矩陣運算。l在MATLAB中創建矩陣應遵循以下原則:矩陣的元素必須在方括號“ ”中。矩陣的同行元素之間用空格或逗號“,”分隔。矩陣的行與行之間用分號“;”或回車符分隔。矩陣的尺寸不必預先定義。矩陣元素可以是數值、變量、表達式或函數。如果矩陣元素是表達式,系統將自動計算出結果。整理課件1、直接輸入法在命令窗口按規則輸入方式創建矩陣 例1.在命令窗口創建簡單的數值矩陣。 A=1 3 2;3 1 0;2 1 5 回車后在命令窗口顯示如下結果 A = 1 3 2 3 1 0 2 1 5 例2.在命令窗口創建帶運算表達式的矩陣,不顯示結果
19、。 y=sin(pi/3),cos(pi/6);log(20),exp(2); 輸入“y”回車,在命令窗口顯示出來。 y 顯示出的結果為 y =整理課件指出:l在矩陣較大時,用分行輸入的方式(用回車代替分號區分不同行)比較接近于線性代數中的矩陣,更直觀一些。任何矩陣元素內部不能有空格,否則會被認定是兩個元素。 整理課件2、通過數據文件創建矩陣導入其他程序創建的數據 1 2 3 4 2 3 4 5 4 3 4 5 5 7 6 1 保存為fort.txt,用load命令讀入, load fort.txt 輸入fort就可以在命令窗口顯示創建的矩陣。 fort 顯示結果為 fort = 1 2 3
20、4 2 3 4 5 4 3 4 5 5 7 6 1 整理課件指出:通過load命令導入數據是形成矩陣的重要方法,解決了在工作現場沒有MATLAB系統和其他數據管理系統的問題,可以只用基本的文字處理工具完成。MATLAB對文本形式的數據文件的擴展名并不計較,將上述數據文件換名保存為fort.1,仍然可以如上導入、應用。文件名可以定義為m1.txt或m1.1。但是,如果將文件命名為1m.txt,則顯示出錯信息:“Error: Missing operator(算子), comma(逗號), or semicolon(分號).”如果文件名命名為3.txt、1.txt、3.1等,則顯示的是主文件名所用
21、的數字。數據文件保存為word或wps等的文件格式同樣可以引用。整理課件如果數據文件中有字母,則不能引用,顯示出錯信息,即使該字母在前面的指令中已經賦值也不可。如果數據文件中有算式,則不能完整顯示,算式元素將僅顯示第一個運算符(或關系符)前的數字。導入其他數據,如圖像數據、Excel數據時,可以使用數據導入向導Import Wizard。整理課件3、通過m文件創建矩陣將矩陣建立為m文件 先將矩陣按創建原則寫入一個m文件中,在MATLAB命令窗口或程序中直接運行該m文件(輸入該m文件名),即可將矩陣調入工作空間。4、通過函數創建矩陣函數功能eye(n)產生n階單位矩陣ones(m,n) 產生mn
22、矩陣,元素都是“1”zeros(m,n)產生mn矩陣,元素都是“0”(零矩陣)產生空矩陣整理課件指出:當某一項操作無結果時,MATLAB將返回一個空矩陣,空矩陣的大小為0,但它確實存在于工作空間,可以通過變量名訪問。輸入后的矩陣將保存在MATLAB工作空間中,并可以隨時被訪問調用,如果用戶不用“clear”命令清除它,或給它重新賦值,該矩陣將一直保存在工作空間直到MATLAB關閉為止。如果矩陣函數中只有一個參數,則為方陣。四種創建矩陣的方法各有優點:直接輸入法方便簡捷;通過數據文件創建有利于調用其他軟件產生的數據;通過m文件創建是用于創建較大尺寸的矩陣并便于修改;通過函數創建可以由MATLAB
23、內部函數創建一些特殊矩陣。整理課件5、其他構造矩陣的方法冒號法1冒號法構造向量冒號表達式的一般格式為:向量名初值:步長:終值。 x=0:0.5:2回車后顯示x = 0 0.5000 1.0000 1.5000 2.0000。例5. 在命令窗口輸入 x=2:-0.5:0回車后顯示x = 2.0000 1.5000 1.0000 0.5000 0整理課件指出:步長可以省略,省略步長,則步長為1。步長可以為負,此時初值大于終值。向量的元素比較多而又有增減規律時,這種方法非常便利。冒號法表示向量時,向量的全體成員是從初值開始,以步長為增量,直到不超過終值的所有元素構成的序列。冒號法的應用可以避免使用循
24、環,提高程序運行速度。整理課件2冒號法構造矩陣一般格式為:A(:,j):表示矩陣A的第j列;A(i,:):表示矩陣A的第i行。 。解: A(1,:)=1:5 %設置矩陣的第1行A = 1 2 3 4 5123456789101112131415A整理課件 A(2,:)=6:10 %設置矩陣的第2行A = 1 2 3 4 5 6 7 8 9 10 A(3,:)=11:15 %設置矩陣的第3行,設置完成A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15整理課件指出: 在MATLAB中,還可以利用函數linspace產生行向量,其調用格式為: linspace(a,b,n
25、)。 其中a,b是向量的第一個和最后一個元素,n是元素的個數。這樣產生的向量的元素成等差數列。例如, linspace(1,4,5)ans =函數linspace被稱為線性等分函數。整理課件指出: 冒號法和應用linspace都可以創建具有遞增元素序列的向量,但是,用冒號法創建向量時,向量的元素不一定取到終值,而應用linspace則必然會取到,因為b表示的就是最后一個元素。整理課件 MATLAB對于矩陣與矩陣之間的運算的處理方法與線性代數中的相同 運算運算符表達式加+A+B減-A-B乘*A*B除/(右除)或(左除) A/B或BA 冪Ap轉置(單引號)A整理課件說明:l矩陣也可以和一個數之間進
26、行運算。l線性代數沒有定義除法運算,MATLAB為了便于計算,定義了矩陣的除法,并有左除和右除之分。 矩陣左除使用“”運算符,右除使用“/”運算符。 XAB是解方程組A*XB;XB/A則是解方程組X*AB。 一般地說,ABB/A。 在算法上,ABinv(A)*B,inv是求某一個矩陣的逆矩陣;而B/AB*inv(A)。 指出:如果A*B=B*A=I(單位矩陣),稱A和B互為逆矩陣。如果矩陣中有復數元素,那么轉置后得到它的復數共軛矩陣 。整理課件A=1,0,2;0,1,3;1,0,4,B=1,2,3;4,5,6;7,8,9,C=1,2;3,4;5,6 并計算A+B、A+3、A*C、A2、CT、A
27、-1、A1B。指出:lA2A2;lCTC;lA-1=inv(A) ;lA1B=AB(或inv(A)*B) l在MATLAB系統中,還有一個數據結構是“數組”。數組在結構上和矩陣是完全一致的,唯一的區別是數組的運算不服從線性代數的規定,而是元素對元素間的運算。數組的加減運算與矩陣加減相同,數組的乘法、左除、右除、冪的運算符號分別是矩陣相應運算符前面加一個小圓點“.”。矩陣運算的一個重要的應用是解線性方程組。 整理課件例8.求下面方程組的根。解:解線性方程組,可以使用矩陣的左除“”,即XAB。 A=2,1,-3;3,-2,2;5,-3,-1; B=5;5;16; %列向量 X=AB X = 1 -
28、3 -2 1231231232353225531 6xxxxxxxxx整理課件指出:線性方程組A*XB有兩種解法:X=AB或X=inv(A)*B,但一般用第一種解法,在MATLAB中,第二種解法所用時間是第一種解法的50倍。可以看出,同樣解線性方程組,不同的算法的效率是有極大差距的,可見優化和選擇算法是非常重要的。 求逆運算inv(A)是重要的代數運算。整理課件1、矩陣的大小測度 Size函數用來測試矩陣的大小,對于 矩陣A,size(A)返回一個行向量,它包含了矩陣的行數m和列數n。如果專門顯示行數和列數,則可以采用如下格式: 。 ,求矩陣的大小。mn( ,1),( ,2)msize Ans
29、ize A11111123451361015A整理課件解: A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15 設A為已知矩陣A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 d=size(A) 測試矩陣A的大小d = 3 5 d1=size(A,1) 測試矩陣的行數d1 = 3 d2=size(A,2) 測試矩陣的列數d2 = 5整理課件2、矩陣的元素操作 ,寫出矩陣的元素A(2,3),將A(3,5)改為1。解: A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15111
30、11123451361015A整理課件 A(2,3)ans = 3 A(3,5)=-1A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 -1整理課件例11. A=1 3 2;3 1 0;2 1 5A = 1 3 2 3 1 0 2 1 5 B=4 3 6;5 1 4;3 4 6B = 4 3 6 5 1 4 3 4 6 U(1,1)=A(1,1)+B(1,1); U(1,2)=A(1,2)+B(1,2); U(2,1)=A(2,1)-B(2,1); U(2,2)=A(2,2)-B(2,2); UU = 5 6 -2 0整理課件3、矩陣塊的操作 利用冒號表達式對矩陣進行拆分、提取
31、子矩陣是矩陣操作的重要方面。提取的規則是A(:,j)表示取矩陣A的第j列的全部元素;A(i,:)表示取矩陣A的第i行的全部元素;A(i,j)表示取矩陣A的第i行第j列交叉位置的元素;A(i:i+m,:)表示取矩陣A的第ii+m行的全部元素;A(:,k:k+n)表示取矩陣A的第kk+n列的全部元素;A(i:i+m,k:k+n)表示取矩陣A的第ii+m行內并在第kk+n列中的全部元素。整理課件例12.拆分矩陣的例子。 A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 A(2,3)ans = 3 A(3,5)=-
32、1A = 1 1 1 1 1 1 2 3 4 5 1 3 6 10 -1整理課件 A=1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 A(1,:)ans = 1 2 3 4 5整理課件 A(:,2:4)ans = 2 3 4 7 8 9 12 13 14 17 18 19 A(2:3,4:5)ans = 9 10 14 15 A(2:3,1:2:5)ans = 6 8 10 11 13 15整理課件例13.組合矩陣的例子。 A=1,2
33、;3,4A = 1 2 3 4 B=2,3;4,5B = 2 3 4 5 A,Bans = 1 2 2 3 3 4 4 5整理課件 A;Bans = 1 2 3 4 2 3 4 5 A;6,7ans = 1 2 3 4 6 7整理課件冒號表達式是MATLAB中非常重要的、應用非常廣泛、也非常靈活的工具。利用冒號表達式比利用循環語句賦值解決同一問題要快得多,所以實際編程時一般應當盡量采用冒號表達式而不是用循環。整理課件例14. A=1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 20A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14
34、 15 16 17 18 19 20 A(end,:) %取A的最后一行ans = 16 17 18 19 20整理課件 A(1,4,3:end) 取A的第1,4兩行中第3列到最后一列。ans = 3 4 5 18 19 20 A(1,4,:) 取A的第1,4兩行。ans = 1 2 3 4 5 16 17 18 19 20。指出:end用來表示矩陣某一維末尾元素。整理課件例15c=3.2,4.5;2.4,4.7; d=c,ones(size(c);zeros(size(c),eye(size(c)d = 0 0 1.0000 0 0 0 0 1.0000。指出: 實際上,例15是分塊輸入矩陣
35、的例子,是將矩陣分4塊輸入的。注意分塊的意義。整理課件format命令的格式為:format 格式符格式符決定數據輸出格式,常見格式及其含義有:short:輸出小數點后4位,最多不超過7位有效數字。 對于大于1000的實數,用5位有效數字的科學記數形式輸出。long:15位有效數字形式輸出。short e:5位有效數字的科學記數形式輸出。long e:15位有效數字的科學記數形式輸出。rat:近似有理數形式輸出。 整理課件指出:format命令只影響數據的輸出格式,而不影響數據的存儲和計算。如果輸出的矩陣的每個元素都是整數,則MATLAB就用整數格式顯示結果。只要矩陣中有一個元素不是整數,MA
36、TLAB就按當前的輸出格式顯示。默認的輸出格式是short。整理課件注意rat格式。如果在進行運算前執行format rat命令,則可以用分數形式顯示運算結果,這樣便于核對手算的結果的正確性。例如, 1/3ans = format rat 1/3ans = 1/3 在改變了輸出格式后,為了以后還按默認的格式輸出,應當再執行format short命令。整理課件即使在默認格式下,0也僅僅是輸出0。教材中輸出0.0000是不正確的。顯示格式是非常重要的,要熟悉幾種重要的格式。整理課件 數值運算中的變量需要事先賦值,才能出現在表達式中參與運算。但人們經常需要對含有字符的矩陣和函數進行處理和運算,如求
37、函數的微分、積分等等,這就需要進行符號運算。 MATLAB的符號運算利用符號數學工具箱進行,符號工具箱的功能主要包括符號表達式的創建、符號矩陣的運算、符號表達式的化簡和替換、符號微積分、符號代數方程、符號微分方程、符號函數繪圖等等 。整理課件1、字符串變量的創建 字符串是一種特殊的符號對象,在數據處理、造表和函數求值中,字符串具有重要的應用。 用單引號界定的字符序列稱為字符串。例如 s=hello回車后,顯示s =hello整理課件指出:字符串中的字符可以是數字、英文字母、漢字、橫線、括號、表達式、方程等。字符串也稱字符串數據或字符變量。用賦值符號“”把字符串賦給某個標識符,例如s,這個標識符
38、稱為字符串變量名,簡稱字符名。整理課件 MATLAB的符號數學工具箱提供了兩個基本函數sym和syms,用來創建符號變量、符號表達式和符號矩陣。用函數sym建立符號變量、符號表達式和符號矩陣。 調用格式為: 變量sym(表達式) y=sym(2+cos(x) 將顯示 y = 2+cos(x) 這是一個符號表達式。整理課件用函數syms建立符號變量、符號表達式和符號矩陣。 調用格式為: Syms var1 var2 var3 注意空格。 syms y u p=exp(-y/u) q=y2+u3+u*y 這樣就建立了兩個符號表達式,分別存放在變量p和q里。 指出:由于syms函數書寫簡潔,意義清楚
39、,符合MATLAB的習慣特點,一般提倡使用syms創建符號變量、符號表達式和符號矩陣。 整理課件注意用單引號創建的字符串變量和用函數sym、syms創建的符號變量性質并不完全一樣。在符號工具箱中,有些指令的參數既可以用字符串型數據也可以用符號型數據,但也有一些指令的參數必須用符號型數據。 加法、求導等運算對數值形式的字符串和符號變量都按符號變量對待,不加區別,而級數求和命令symsum(s,n,h,k)(s是通項表達式,n為級數的項數,h、k分別是求和的起止項數)中的s必須用符號表達式而不能用字符串。MATLAB中,在沒有規定的情況下,默認最接近x的字母表示自變量。整理課件llimit(f,x
40、,a) 求表達式f當xa時的極限ldiff(f) 求表達式f對缺省變量的微分ldiff(f,n) 求表達式f對缺省變量求n階微分ldiff(f,v) 求表達式f對變量v的微分ldiff(f,v,n) 求表達式f對變量v的n階微分lint(f) 求表達式f對缺省變量的積分lint(f,v) 求表達式f對變量v的積分lint(f,v,a,b) 求表達式f在區間(a,b)上對變量v的定積分整理課件例.已知f(x)=ax2 +bx+c,求f(x)的微分和積分。解:syms a b c x f=sym(a*x2+b*x+c) f = a*x2+b*x+c diff(f,a) ans = x2 int(f
41、) ans = 1/3*a*x3+1/2*b*x2+c*x int(f,x,0,2) ans = 8/3*a+2*b+2*c整理課件整理課件 x,y,z=sphere(30); surf(x,y,z),box整理課件一、二維圖形的繪制1、數據繪圖命令plotplot(y) 當y為向量時,以y的分量為縱坐標,以元素序號為橫坐標,用直線依次連接數據點,繪制曲線。若y為實數矩陣,按列繪制每一列所對應的曲線,圖中曲線數等于矩陣的列數。plot(x,y) 若y和x為同維向量,以x為橫坐標,以y為縱坐標繪制連線圖。若x是向量,y是行數或列數與x的長度相等的矩陣,則繪制多條不同色彩的連線圖,x被作為這些曲線
42、的共同坐標。若x和y是同型的矩陣,則以x和y的對應列元素為橫縱坐標分別繪制曲線,曲線條數等于矩陣的列數。plot(x,y1,x,y2,) 以公共的x元素為橫坐標,以y1,y2,y3,元素為縱坐標值繪制多條曲線。整理課件例1以向量y=(1,2,5,4.5,3,6,1)的各個分量為縱坐標,分量序號為橫坐標繪制順序連接線。解:輸入命令 y=1 2 5 4.5 3 6 1; plot(y)整理課件整理課件例2.畫出一條正弦曲線和一條余弦曲線。 x=0:pi/10:2*pi; %構造向量 y1=sin(x); %構造對應的y1坐標 y2=cos(x); %構造對應的y2坐標 plot(x,y1,x,y2
43、) %畫出一個以x為橫坐標,y1, y2為縱坐標的圖形 指出:構造向量采用了所謂的冒號法,格式為 向量名初值:步長:終值 %步長為1時可以省略。plot是針對向量或矩陣的列來繪制曲線的,也就是說,使用plot之前必須首先定義好曲線上每一點的x坐標和y坐標。在上述的格式中,x和y都可以是表達式。如果自變量的間隔取得比較大,光滑的曲線就會顯示出折線的本來面貌。整理課件整理課件1解析函數繪圖命令fplot使用格式:fplot(fun,lims,s,tol)其中,用單引號界定的輸入參數fun,是解析函數字符串表達式、內聯函數或m函數文件名。fun可以是一個函數,也可以是元素是函數的向量。輸入參數lim
44、s規定了繪圖區間,lims=a,b,c,d表示,自變量x和函數y的取值范圍分別是xa,b,yc,d。通常c,d被省略。輸入參數s用于修飾曲線,后面介紹。輸入參數tol規定函數取值的相對誤差,常省略。默認2e-3。fun是函數向量時,繪出的幾條曲線的取值區間和線型是相同的。整理課件例3.繪制函數f(x)=cos(tan(x)的曲線。解: fplot(cos(tan(pi*x),-0.4,1.4)整理課件整理課件指出:輸入該命令的函數表達式是解析式,式中不用數組算法符號(與plot命令不同)。fplot函數用于繪制已定義函數在指定的范圍內的圖像,雖然它與plot相似,也是用描點法畫圖,但該函數可以
45、根據函數自身的性質自適應地對函數進行采樣,能夠自動確定曲線變化率大的區段并在此區段進行密集采樣。也就是說,畫圖時x的取值間隔是隨函數的曲率自動調節的,曲率大(曲率半徑小)處間隔小,曲率小處間隔大。這種自適應地取值使繪制的曲線光滑、美觀、可以減少取點的數目的同時更好地反映函數的變化規律。整理課件使用格式:ezplot(func,lims)其中輸入參數func可以是字符表達式,內聯函數或m函數文件名。輸入參數func為一元函數f(x)時,輸出y=f(x)的幾何圖形。這時命令后面可以不用括號和引號。但函數的第一個符號不得是括號,不能加寫輸入參數lims,默認繪圖范圍是-2,2。輸入參數func是二元
46、函數表達式f(x,y)時,輸出方程f(x,y)=0的幾何圖形,即繪制隱函數曲線。變量的范圍由輸入參數lims規定,lims=a,b,c,d表示x和y的取值范圍分別是xa,b,yc,d。省略c,d時默認x、y取值區間相同。整理課件輸入參數func是參數方程時,func寫成x(t),y(t),按參數方程繪出ta,b的函數曲線。輸入參數lims規定自變量取值范圍,默認范圍是x-2,2。該命令一次只能繪制一條曲線,在繪出函數圖形的同時自動在圖的上側加注函數解析式,下側加注自變量名稱,曲線的色型、線型無法控制。()0()0 xtyt整理課件例4繪制三葉玫瑰線r=sin(3t)(極坐標方程)。解:把極坐標
47、方程r=sin(3t),通過轉換成直角坐標方程: 。輸入命令: ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),0,pi)c o ss inxrtyrt( )sin 3 cos( )sin 3 sinx ttty ttt整理課件整理課件MATLAB繪制的其它圖像的例子:例5.某次考試學生成績優秀的占8%,良好的占20%,中等的占36%,及格的占24%,不及格的占12%。分別用餅圖和條形圖表示。解: x=8 20 36 24 12; subplot(221);pie(x,1 0 0 0 1); title(餅圖); subplot(222);bar(x,grpup)
48、; title(垂直條形圖); subplot(223);bar(x,stack); title(累加值為縱坐標的垂直條形圖); subplot(224);barh(x,group); title(水平條形圖);整理課件整理課件(1)曲線控制命令 在使用plot等命令繪制曲線時可以指定曲線的顏色、線型和數據點圖標。基本的調用格式為 plot(x,y,color line-style marker) 顏色控制符表字符顏色字符顏色b藍色m紫紅色c青色r紅色g綠色w白色k黑色y黃色整理課件線型控制符表線型格式實線(默認) 點線點劃線虛線符號-:-.-整理課件數據點標記控制符表標記符號數據點形式標記符
49、號數據點形式.實心圓點大于號o(字母)空心圓點x=0:0.2:8; y=sin(x); plot(x,y,r:x)整理課件整理課件圖形標注函數函數意義title()給圖形添加標題xlabel() 標記橫坐標ylabel() 標記縱坐標text(x,y,)在x,y所定義的位置標注gtext()該命令提示在鼠標指定位置(光標顯示為“”標注)axis(xmin xmax ymin ymax)指定顯示范圍Grid on(/of)添加或取消網格線整理課件例7.給例2的圖形加入網格和標注。 x=0:pi/10:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) grid
50、 on %添加網格 xlabel(x軸) %橫坐標名 ylabel(y軸) %縱坐標名 title(正弦函數和余弦函數曲線) %標題 text(1.5,0.3,cos(x) %指定位置標注 gtext(sin(x) %用鼠標選擇位置標注 axis(0 2*pi -1.2 1.2) %設置坐標軸的最大最 小值整理課件整理課件指出:標注文字可以使用漢字。標注也可以適當設定字符屬性增加文本變化,例如 title(弦函數曲線,FontName,隸書,FontSize,20) 整理課件 默認的情況下,MATLAB每一次使用plot函數進行繪圖,都將清除原有的圖形,但有時候我們希望后面繪制的圖形能和前面所
51、繪制的圖形進行比較。此時我們有兩種方法,一是采用hold on(/of)命令,在同一個圖形窗口中繪制新的圖形疊加在原有的圖形上。二是采用subplot(n,m,k)命令,將圖形窗口分割成幾個小窗口,在每個窗口中畫出一個圖形。 hold on(/of) 保持繪圖命令 subplot(n,m,k) 將圖形窗口分成n行m列個格子,在 第k個格子繪圖,格子按從上到下依行計數。整理課件例8.在同一個窗口中,使用兩次plot函數 繪制兩條曲線。 x=0:0.2:12; plot(x,sin(x),-) hold on plot(x,cos(x),:)整理課件整理課件例9把當前窗口分割成四個區域,繪制四條函
52、數曲 線。 x=0:0.05:8; y1=2*sin(x); y2=2*cos(x); y3=sin(2*x); y4=cos(2*x); subplot(2,2,1); plot(x,y1); title(2sinx) 整理課件 subplot(2,2,2); plot(x,y2); title(2cosx) subplot(2,2,3); plot(x,y3); title(sin2x) subplot(2,2,4); plot(x,y4); title(cos2x)整理課件整理課件1、和二維圖形相對應,MATLAB提供了一個三維曲 線繪制命令plot3,它的應用和plot類似,只是多了z
53、方向的數據。例10.繪制一條三維曲線。 clear clc z=0:pi/50:10*pi; x=sin(z); y=cos(z); plot3(x,y,z)整理課件整理課件2、繪制三維曲面的命令則有mesh(x,y,z)或surf(x,y,z)。它們的區別在于,前者繪制出的是一個用網格近似的曲面,后者繪制出的是一個真正表面圖。例11.繪制多峰函數圖。 z=peaks(40); mesh(z); surf(z);peaks稱為多峰函數,常用于三維曲面的演示。 整理課件整理課件整理課件在區域上的圖像。解:執行下面的程序(pt3d.m):x=-18:0.5:18;y=x;u=ones(size(y
54、)*x;v=y*ones(size(x);r=sqrt(u.2+v.2)+eps;z=sin(r)./r;mesh(z);xlabel(x);ylabel(y);zlebel(z);2222sin()( , )xyf x yxy整理課件整理課件(pt3d2.m)x=-18:0.5:18;y=x; 產生x,y兩個向量x,y=meshgrid(x,y);形成二維網格數據r=sqrt(x.2+y.2)+eps;加上eps避免當分母r趨向于0時會無法定義z=sin(r)./r;產生z軸數據surf(x,y,z);整理課件整理課件第四代編程語言(4GL) 一、MATLAB運算1、關系運算 運算符說明運算符說明小于大于=大于或等于=等于=不等于整理課件 關系運算用來比較兩個同樣大小的矩陣,或用來比較一個矩陣和一個標量。比較結果是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論