matlab在高等數(shù)學(xué)中的應(yīng)用_第1頁
matlab在高等數(shù)學(xué)中的應(yīng)用_第2頁
matlab在高等數(shù)學(xué)中的應(yīng)用_第3頁
matlab在高等數(shù)學(xué)中的應(yīng)用_第4頁
matlab在高等數(shù)學(xué)中的應(yīng)用_第5頁
已閱讀5頁,還剩115頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 MatLab 入門本章學(xué)習(xí)的主要目的:1. 了解MatLab軟件的功能,熟悉MatLab軟件的各菜單、工具欄及常用命令的使用。2. 掌握MatLab有關(guān)矩陣的創(chuàng)建方法、矩陣的基本運算符、矩陣的計算函數(shù)。3. 掌握MatLab的符號運算。1.1 MatLab語言概述1.1.1 MatLab語言的發(fā)展MatLab語言是由美國的Clever Moler博士于1980年開發(fā)的。設(shè)計者的初衷是為解決“線性代數(shù)”課程的矩陣運算問題取名MatLab即Matrix Laboratory矩陣實驗室的意思。它將一個優(yōu)秀軟件的易用性與可靠性、通用性與專業(yè)性 、一般目的的應(yīng)用與高深的科學(xué)技術(shù)應(yīng)用有機的相結(jié)合。

2、1.1.2 MatLab的功能1. 矩陣運算功能MatLab提供了豐富的矩陣運算處理功能,是基于矩陣運算的處理工具。例如C = A + B ,A,B,C都是矩陣,是矩陣的加運算,即使一個常數(shù),Y=5,MatLab也看做是一個1´1的矩陣。2. 符號運算功能符號運算即用字符串進行數(shù)學(xué)分析,允許變量不賦值而參與運算,用于解代數(shù)方程、微積分、復(fù)合導(dǎo)數(shù)、積分、二重積分、有理函數(shù)、微分方程、泰勒級數(shù)展開、尋優(yōu)等等,可求得解析符號解。3. 豐富的繪圖功能與計算結(jié)果的可視化具有高層繪圖功能兩維、三維繪圖;具有底層繪圖功能句柄繪圖;使用plot函數(shù)可隨時將計算結(jié)果可視化。4. 圖形化程序編制功能動態(tài)

3、系統(tǒng)進行建模、仿真和分析的軟件包;用結(jié)構(gòu)圖編程,而不用程序編程;只需拖幾個方塊、連幾條線,即可實現(xiàn)編程功能。5. 豐富的MatLab工具箱MatLab主工具箱;符號數(shù)學(xué)工具箱;SIMULINK仿真工具箱;控制系統(tǒng)工具箱;信號處理工具箱;圖象處理工具箱;通訊工具箱;系統(tǒng)辨識工具箱;神經(jīng)元網(wǎng)絡(luò)工具箱;金融工具箱。6. MatLab的兼容功能可與C語言、FORTRAN語言跨平臺兼容;用函數(shù)CMEX、FMEX實現(xiàn)。7. MatLab的容錯功能非法操作時,給出提示,并不影響其操作。例如 在命令窗口輸入1/0,執(zhí)行結(jié)果顯示如下,提示被0除,結(jié)果為無窮大。Warning: Divide by zeroans

4、 = Inf8. MatLab的開放式可擴充結(jié)構(gòu) MatLab 所有函數(shù)都是開放的;用戶可按自己意愿隨意更改;正因為此功能,使得MatLab的應(yīng)用越來越廣泛。9. 強大的聯(lián)機檢索幫助系統(tǒng)可隨時檢索MatLab函數(shù);可隨時查詢MatLab函數(shù)的使用方法。1.1.3 MatLab的應(yīng)用. 1. 工業(yè)研究與開發(fā)。2. 數(shù)學(xué)教學(xué),特別是線性代數(shù)。3. 數(shù)值分析和科學(xué)計算方面的教學(xué)與研究。4. 電子學(xué)、控制理論和物理學(xué)等工程和科學(xué)學(xué)科方面的教學(xué)與研究。5. 經(jīng)濟學(xué)、化學(xué)和生物學(xué)等計算問題的所有其他領(lǐng)域中的教學(xué)與研究。1.2 MatLab的使用1.2.1 MatLab的啟動(1)進入MatLab工作環(huán)境:

5、方法1開機執(zhí)行程序MatLab安裝目錄MatLab.exe方法2用鼠標雙擊MatLab圖標方法3點擊windows窗口的開始-程序-MatLab(2)退出MatLab工作環(huán)境:方法1點擊file菜單下的exit MatLab方法2點擊MatLab窗口的關(guān)閉按鈕.1.2.2 MatLab的界面MatLab的界面上有五個窗口,它們是:(1)命令窗口在命令窗口中可以直接輸入命令行,以實現(xiàn)計算或繪圖功能,用clc命令清除命令窗口的內(nèi)容,命令pause暫停操作,直至按任意鍵繼續(xù)。(2)起始面板該窗口中顯示MatLab總包和已安裝的工具箱的幫助、演示、GUI工具和產(chǎn)品主頁方面的內(nèi)容。(3)工作空間該窗口中

6、顯示當前MatLab的內(nèi)存中使用的變量的信息,包括變量名、變量數(shù)組大小、變量字節(jié)大小和變量類型。在該窗口選定某個變量后,雙擊變量名,將打開數(shù)組編輯器窗口,可以顯示和修改該變量的具體內(nèi)容,該顯示主要用于數(shù)值型變量。(4)命令歷史該窗口顯示所有執(zhí)行過的命令。利用該窗口,一方面可以查看曾經(jīng)執(zhí)行過的命令;另一方面可以重復(fù)利用原來輸入的命令行,這只需在命令歷史窗口中直接雙擊某個命令即可。(5)當前目錄該窗口顯示當前工作目錄下所有文件的文件名、文件類型和最后修改時間??梢栽谠摯翱谏戏降男〈翱谥行薷墓ぷ髂夸?。1.2.3 MatLab的運行方式MatLab提供了兩種運行方式:命令行方式和M文件方式.(1)命令

7、行運行方式通過直接在命令窗口中輸入命令行來實現(xiàn)計算或作圖功能。但這種方式在處理復(fù)雜的問題和大量數(shù)據(jù)時相當困難。(2)M文件運行方式是在一個以m為擴展名的M文件中輸入一系列數(shù)據(jù)和命令,然后讓MatLab執(zhí)行這些命令。MatLab的M文件有兩種類型:腳本M文件和函數(shù)M文件。腳本文件就是命令的簡單疊加,沒有輸入和輸出參數(shù),運行產(chǎn)生的所有變量是全局變量。函數(shù)M文件有輸入和輸出參數(shù),可以彌補MatLab的內(nèi)部函數(shù)有限的不足,自定義新的函數(shù),所有變量除特殊聲明外,都是局部變量。1.2.4 MatLab的數(shù)(1) MatLab操作的數(shù)的范圍為復(fù)數(shù),表示為a+bi或a+bj例1 求的值。輸入sqrt(-1)執(zhí)

8、行結(jié)果:ans =0 + 1.0000i例2 設(shè)復(fù)數(shù),計算。輸入指令:z1= 3+4i,z2=1+2*i,z3=2*exp(i*pi/6),z=z1*z2/z3執(zhí)行結(jié)果: z1 = 3.0000 + 4.0000i z2 = 1.0000 + 2.0000iz3 = 1.7321 + 1.0000iz = 0.3349 + 5.5801i 例3 復(fù)數(shù)矩陣的生成。輸入指令:A=1,3;2,4-5,8;6,9*iB=1+5i,2+6i;3+8*i,4+9*i 執(zhí)行結(jié)果:A = 1.0000 - 5.0000i 3.0000 - 8.0000i 2.0000 - 6.0000i 4.0000 - 9

9、.0000iB = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 8.0000i 4.0000 + 9.0000i例4 求上例復(fù)數(shù)矩陣A的實部、虛部、模和相角。輸入指令:A_real=real(A)A_imag=imag(AC)A_magnitude=abs(A)A_phase=angle(A)*180/pi%以度為單位計算相角 執(zhí)行結(jié)果:A_real = 1 3 2 4A_imag = -5 -8 -6 -9AC_magnitude = 5.0990 8.5440 6.3246 9.8489A_phase = -78.6901 -69.4440 -71

10、.5651 -66.0375例5 用MatLab計算能得到2嗎?輸入指令:a=-8;r=a(1/3) 執(zhí)行結(jié)果如下,輸出的是其中的一個根:r =1.0000 + 1.7321i (2) 數(shù)據(jù)顯示格式 format默認值short format short保證小數(shù)點后有四位有效數(shù)字format short e用5位科學(xué)計數(shù)法表示format short g 用15位科學(xué)計數(shù)法表示format long 用15位數(shù)字表示format long e 用15位科學(xué)計數(shù)法表示format rat 用近似的有理數(shù)表示 format loose 輸入命令和回顯之間加空行format compact輸入命令和

11、回顯之間不加空行 (3) 數(shù)據(jù)計算精度控制:digits(n) 限制在可控精度運算中取n位有效數(shù)字進行計算.1.2.5 MatLab的變量(1)變量的命名規(guī)則變量名是以字母開頭,可以包含字母,數(shù)字或下劃線的不超過31個字符的字符串,區(qū)分大小寫,如myfile和Myfile是兩個不同的變量。(2)特殊變量(不能重新賦值)ans 對于未賦值的運算結(jié)果,自動賦給ans變量eps 機器零閾值inf或Inf 表示正無窮大,定義為1/0i,j 虛數(shù)單位NaN 非數(shù),它產(chǎn)生于0× ¥,0/0,¥/¥ 等運算nargin 函數(shù)輸入變量數(shù)目nargout 函數(shù)輸出變量數(shù)目

12、pi 圓周率prealmin 最小可用正實數(shù)realmax 最大可用正實數(shù)(3)變量的查詢函數(shù)who與whos作用都是列出在MatLab工作空間中已經(jīng)駐留的變量名清單,不同的是whos在給出駐留變量的同時,還給出它們的維數(shù)及性質(zhì)。如在命令窗口輸入who后,顯示Your variables are:A B 在命令窗口輸入whos后,顯示 Name Size Bytes Class A 2x2 230 cell array B 1x1 264 struct array(4)變量的刪除在命令窗中運用clear指令可以刪除內(nèi)存中指定的變量,格式:clear 變量名,若不寫變量名,缺省變量全部被刪除。(

13、5)變量的的保存與獲取把MatLab工作空間中一些有用的數(shù)據(jù)長久保存下來的方法是生成mat數(shù)據(jù)文件。mat文件是標準的二進制文件,還可以以ASCII碼形式保存。用命令save保存變量,用load恢復(fù)已保存的變量。具體格式:save 將工作空間中所有的變量存到MatLab.mat文件中。save data 將工作空間中所有的變量存到data.mat文件中。save data a b將工作空間中a和b變量存到data.mat文件中??捎胠oad指令調(diào)用已生成的mat文件。load 將MatLab.mat文件中的變量恢復(fù)到工作空間中。load data 將data.mat文件中的變量恢復(fù)到工作空間中

14、。load data a b將data.mat文件中的變量a,b恢復(fù)到工作空間中。例6 假定內(nèi)存中已經(jīng)存在變量X,Y,Z(a)保存變量X,Y,X變量在文件saf.mat中。save saf X Y Z保存變量X,Y,X變量在文件saf.mat中dir 顯示當前目錄下的文件 . . saf.mat (b)從文件saf中恢復(fù)變量Zclear 刪除內(nèi)存中所有變量load saf Z 恢復(fù)變量Zwho查看變量Your variables are:Z 1.2.6 MatLab的矩陣和向量MatLab是一種直譯式的高級語言,建立在向量、數(shù)組和矩陣的基礎(chǔ)上,矩陣是MatLab的核心。(1)創(chuàng)建矩陣方法1直接

15、輸入法規(guī)則: j 矩陣元素必須用 括?。?k 矩陣元素必須用逗號或空格分隔; l 在 內(nèi)矩陣的行與行之間必須用分號或回車分隔;矩陣元素可以是任何實數(shù)或復(fù)數(shù),MatLab表達式,復(fù)數(shù)可用特殊函數(shù)i,j 輸入。 例7 生成一個實數(shù)矩陣和復(fù)數(shù)矩陣 輸入指令:a=1, 2 ,3;4 ,5 ,6,x=2, pi/2;sqrt(3) ,3+5i 執(zhí)行結(jié)果:a = 1 2 3 4 5 6x = 2.0000 1.5708 1.7321 3.0000 + 5.0000i方法2 用MatLab函數(shù)創(chuàng)建矩陣空陣 MatLab允許輸入空陣,當一項操作無結(jié)果時,返回空陣。zeros(n,m) 生成n行m列的零矩陣。

16、ones(n,m) 生成n行m列的全1矩陣。 eye(n,m) 生成n行m列對角線元素全為1其它元素為0的矩陣。 rand(n,m) 生成(0,1)均勻分布的n行m列的隨機矩陣。randn(n,m) 生成正態(tài)分布的n行m列的隨機矩陣 magic(n) n階幻方矩陣。n=1,3,4,5.pascal(n) n階楊輝三角形矩陣 diag(v,k) 生成和提取對角陣。diag(v) 當v為矩陣時,提取矩陣的對角元生成一個向量;當v為向量時,用向量的元素單位矩陣eye(n)為對角元生成同維數(shù)的對角矩陣。 triu(v,k) 生成和提取上三角陣。 tril(v,k) 生成和提取下三角陣。repmat(a

17、,m,n) 生成m×n分塊矩陣,每塊元素為a矩陣。方法3在M-文件中用MatLab語句創(chuàng)建一個矩陣。如 創(chuàng)建和保存矩陣 AM的 MyMatrix.m 文件。AM=101,102,103,104,105,106,107,108,109;. 201,202,203,204,205,206,207,208,209;. 301,302,303,304,305,306,307,308,309;方法4從一個外部數(shù)據(jù)文件中裝載并創(chuàng)建一個矩陣。把下面的數(shù)據(jù)保存在一個文本文件a.txt 中1 2 3 2 3 4在命令窗口中輸入load a.txt,則在內(nèi)存中生成2×3矩陣變量a。(2)向量的

18、生成方法j同矩陣的生成;k冒號:運算j:k 生成向量j,j+1,j+2,kj:i:k生成向量j,j+i,j+2i,k-rem(k-j),i),如a1:2:6 生成a1 3 5 llinspace(a,b,n)從a到b的n個線性等分數(shù)組logspace(a,b,n) 從a到b的n個對數(shù)等分數(shù)組(3) 矩陣的標識j元素標識方式:A(i,j),i,j分別代表行數(shù)和列數(shù)k向量標識方式:A(vr,vc)vr,vc是含矩陣行號和列號的單調(diào)向量,如A(1,1,3)表示A(1,1),A(1,3)l0-1向量標識方式:A(vr,vc), A(vr,:)A(:,vc), vr,vc是由0,1組成的長度為矩陣行維和

19、列維的邏輯向量,1表示取,0表示不取。islogical(a)測試矩陣a是否維邏輯變量,若不是可以轉(zhuǎn)換用a&1或A(v),v是按一維存儲的下標向量。如A(2,:)表示矩陣A的第2行元素,A(:,3)表示矩陣A的第3列元素m矩陣表示方式:A(B), B與A同維邏輯矩陣,如果B非0,取當前位置元素,否則不取。(4) 矩陣的修改j矩陣的裁剪.從一個矩陣中提出若干行(列)構(gòu)成新的矩陣成為裁剪。冒號運算符“:”是重要的裁剪工具。設(shè)a為4階方陣, a(2,:) 提出第二行的元素,構(gòu)成行向量。 a(:,4) 提出第四列的元素,構(gòu)成列向量。 a(1:3,:) 提出第1到3行,構(gòu)成3行4列矩陣。 a(:

20、,1:3) 提出第1到3列,構(gòu)成4行3列矩陣。 a(1:2:4,:) 提出第1行,第3行,構(gòu)成2行4列矩陣。 a(:,1:3:4) 提出第1列,第4列,構(gòu)成4行2列矩陣。幾個矩陣接在一起稱為矩陣的拼接,左右拼接時行數(shù)要相同,用逗號隔開,上下拼接時列數(shù)要相同,用分號隔開。例8 a=1 2 3;2 3 4a = 1 2 3 2 3 4a a;a aans = 1 2 3 1 2 3 2 3 4 2 3 4 1 2 3 1 2 3 2 3 4 2 3 4l 指令修改,可以用A(*,*)= * 來修改。 例9 把矩陣a的第3行第3列元素修改位為0輸入指令: a=1 2 0;3 0 5;7 8 9,a(

21、3,3)=0執(zhí)行結(jié)果:a =1 2 0 3 0 5 7 8 9a =1 2 0 3 0 5 7 8 0m矩陣的擴充。方法1用小矩陣生成大矩陣。例10 A=ones(2,4);B=zeros(1,2);C=2,3;D=A;B,CD = 1 1 1 1 1 1 1 1 0 0 2 3方法2對超出矩陣維數(shù)的元素直接賦值,其余元素補0。例11把矩陣a由2行3列擴充成3行4列,且第3行第4列元素為1,其余為0,輸入指令:a=1,2,3;4,5,6;a(3,4)=1執(zhí)行結(jié)果:a = 1 2 3 0 4 5 6 0 0 0 0 1n矩陣的部分刪除。按行或列賦空值即可,但刪除行或列的部分元素則會出錯。例12

22、a(2,:)= 刪除a的第2行。o矩陣結(jié)構(gòu)的改變a(:)表示把矩陣a排成1列(按列的次序),a(:)在賦值左邊,a的維數(shù)不變,會把右邊數(shù)據(jù)重組,要求右邊數(shù)據(jù)個數(shù)與左邊數(shù)據(jù)個數(shù)相等。函數(shù)reshape(a,m,n) 在總元素數(shù)不變的前提下,將矩陣a改變成m行n列的矩陣。例13 把a矩陣元素排成1排,輸入指令:a=1,2,3;2,3,4;b=a(:)執(zhí)行結(jié)果:b = 1 2 2 3 3 4把自然數(shù)作為元素,按列順序修改矩陣a,矩陣a的型不變,輸入指令:a(:)=1:6執(zhí)行結(jié)果:a = 1 3 5 2 4 6 (5)矩陣的運算(a) 矩陣加、減(,)運算規(guī)則:相加、減的兩矩陣必須有相同的行數(shù)和列數(shù),

23、兩矩陣對應(yīng)元素相加減。允許參與運算的兩矩陣之一是標量,標量與矩陣的所有元素分別進行加減操作。(b) 矩陣乘(*)運算A*B規(guī)則:A與B相乘,A矩陣的列數(shù)必須等于B矩陣的行數(shù),標量可與任何矩陣相乘。例14 a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =14 32 23 d=-1;0;2;f=pi*df = -3.1416 0 6.2832(c)矩陣數(shù)組乘法(.*)X. *Y,規(guī)則:X,Y必須有相同的維數(shù),除非其中一個為1×1矩陣。運算結(jié)果為兩個矩陣的相應(yīng)元素相乘,得到的結(jié)果與X,Y同維。例15 a=1 2;4 5 ;b=2,1;2,3;c=a.*bc =2 2

24、 8 15(d) 矩陣除的運算(/,)在線性代數(shù)中沒有矩陣除的運算,有矩陣逆運算,在MatLab中有兩種矩陣除運算a/b,aba/b相當于,ab相當于(e) 矩陣數(shù)組除的運算(./,.)a. /b, a. b a./b=b.a,a.b=b./aa./b=b.a 都是a的元素被b的對應(yīng)元素除a.b=b./a 都是b的元素被a的對應(yīng)元素除規(guī)則:a,b必須有相同的維數(shù),除非其中一個為1×1矩陣。運算結(jié)果為兩個矩陣的相應(yīng)元素相除,得到的結(jié)果與a,b同維。例16 a=1 2;4 5 ;b=2,1;2,3;c=a./bc = 0.5000 2.0000 2.0000 1.6667(f) 矩陣轉(zhuǎn)置

25、Am×n運算結(jié)果為n×m矩陣,對應(yīng)元素由矩陣A行列互換得到。例17 a=1 2 4;8 3 5 ;c=ac=1 8 2 34 5 (g) 矩陣乘方 例18 a=1,2,3;4,5,6;7,8,9;a2 ans =30 36 42 66 81 96 102 126 150(h) 矩陣關(guān)系運算符及關(guān)系函數(shù) A小于B: A<B, lt(A,B) A小于或等于B: A<=B, le(A,B) A大于B: A>B, gt(A,B) A大于或等于B: A>=B, ge(A,B) A等于B: A=B, equ(A,B) A不等于B: A=B, ne(A,B) 結(jié)果

26、是01矩陣,1表示真,0表示假。 例19 :A=1:9,B=10-A,r0=(A<4),r1=(A=B) A = 1 2 3 4 5 6 7 8 9B = 9 8 7 6 5 4 3 2 1r0 = 1 1 1 0 0 0 0 0 0r1 = 0 0 0 0 1 0 0 0 0 (i) 矩陣的邏輯運算符及邏輯函數(shù)在判別一個量是否為真時,以0代表假,以任意非零值代表真。邏輯運算符:“&”,and(A,B); 代表邏輯運算中的與“|”,or(A,B); 代表邏輯運算中的或“”,not(A); 代表邏輯運算中的非 “xor” 代表邏輯運算中的異或注意 邏輯運算和關(guān)系運算之間的優(yōu)先級次序

27、,其中邏輯與和或有相同的優(yōu)先級,非的優(yōu)先級最高。規(guī)則:要求運算兩矩陣維數(shù)相同,標量和矩陣運算等于標量和矩陣的每一個元素都進行運算。例20 A=-3:3,L1=(A>0),L2=A>0,L3=A,L4=A>-2&A<1 a = -3 -2 -1 0 1 2 3L1 = 1 1 1 1 0 0 0L2 = 0 0 0 1 0 0 0L3 = 0 0 0 1 0 0 0L4 = 0 0 1 1 0 0 0 邏輯函數(shù):y=all(x) 判斷是否所有元素為非零數(shù),若x為向量,當所有元素非零時y=1,否則y=0;若x為矩陣,all作用于列元素,y為行向量。y=any(x)

28、判斷是否有一個向量元素為非零,若x為向量,當有一元素非零時y=1,否則y=0;若x為矩陣,all作用于列元素,y為行向量。exist(x) 查看變量或函數(shù)是否存在。find(a) 找出a矩陣或向量中非零元素的位置標識。按維數(shù)的先后把多維位置排成一維。如a=1 2 ;0 3,a(find(a)=5;把a陣中非0元素變成5。格式:k=find(a),i,j=find(a),i,j,v=find(a)finite(a) 確認矩陣a元素是否為有限數(shù)isempty(a) 確認矩陣a是否為空矩陣isequal(A,B,C,) 判斷幾個對象是否相等isnumeric(a) 判斷對象a是否為數(shù)據(jù)isspars

29、e(a) 判斷矩陣a是否為稀疏矩陣isstr(a) 判斷矩陣a是否為字符串islogical(a) 判斷矩陣a是否為邏輯矩陣例21 找出數(shù)組中所有絕對值大于3的元素。方法1:A=zeros(2,5);A(:)=-4:5L=abs(A)>3islogical(L)X=A(L) A = -4 -2 0 2 4 -3 -1 1 3 5L = 1 0 0 0 1 0 0 0 0 1ans = 1X = -4 4 5 方法2:A(find(abs(A)>3)ans = -4 4 51.2.7 MatLab的內(nèi)部函數(shù)函 數(shù)名 稱函 數(shù)名 稱Sin(x)正弦函數(shù)max(x)最大值Cos(x)余弦

30、函數(shù)min(x)最小值Tan(x) 正切函數(shù)sqrt(x)開平方cot(x) 余切函數(shù)exp(x)以e為底的指數(shù)sec(x)正割函數(shù)log(x)以e為底的對數(shù)csc(x) 余割函數(shù)log10(x)以10為底的對數(shù)asin(x)反正弦函數(shù)abs(x)絕對值,復(fù)數(shù)取模acos(x)反余弦函數(shù)round(x)四舍五入取整atan(x)反正切函數(shù)floor(x)向負無窮取整acot(x)反余切函數(shù)ceil(x)向正無窮取整sinh(x)雙曲正弦函數(shù)fix(x)向0方向取整cosh(x)雙曲余弦函數(shù)sign(x)符號函數(shù)real(x)取實部rats(x)有理逼近imag(x)取虛部rem(a,b),mo

31、d(a,b)a除以b取余angle(x)取幅角sum(x)元素的總和length(x)向量的長度mean(x)向量的平均值sqrt(x)向量從小到大排序size(x)矩陣x的大小det(x)方陣x的行列式inv(x)方陣x的逆矩陣注 用help、lookfor 兩個幫助指令可以查詢MatLab的函數(shù)和指令詳細信息.1.2.8 MatLab的符號(1) MatLab的字符型變量MatLab軟件用單引號來定義字符串,例22 在命令窗口輸入ss=hello則執(zhí)行后顯示ss=hello %表示定義了長度為5的字符型變量(2) MatLab的符號變量的定義符號變量在參與運算時,可在沒有提前賦值的情況下合

32、法地出現(xiàn)在表達式中,而數(shù)值變量在參與運算時,必須提前賦值.方法1 sym(變量名) 單個符號變量定義例23 A=sym(2*x+y) % 定義了符號變量A方法2 syms var1 var2 定義多個符號變量,不同的變量名之間用空格隔開例24 syms a b c x % 定義了4個符號變量(3) MatLab符號表達式的定義在具體創(chuàng)建一個符號表達式之前,就將這個表達式所包含的全部符號變量創(chuàng)建完畢.在創(chuàng)建表達式時,只需按給其賦值時的格式輸入即可.例25 syms a b c xf=a*x2+b*x+cf-a運行結(jié)果為f = a*x2+b*x+cans = a*x2+b*x+c-a(4) Mat

33、Lab符號方程的創(chuàng)建equ=sym(EQUATION)例26 e1=sym(a*x2+b*x+c=0) %定義了2個符號變量,代表2個方程e2=sym(x*y+e=0)(5) 利用元素的通式生成符號矩陣例27 創(chuàng)建下面矩陣A = sin(1+x) sin(2+x) sin(3+x) sin(4+x) sin(5+x) sin(6+x)sin(7+x) sin(8+x) sin(9+x)創(chuàng)建矩陣 A的 MyMatrix.m 文件:syms x c ra=sin(c+(r-1)*3+x);for i=1:3 for j=1:3 c=sym(i); r=sym(j); A(i,j)=subs(a);

34、endend(6) 字符表達式和符號表達式轉(zhuǎn)換為數(shù)值表達式命令numeric(S) 將變量S轉(zhuǎn)換為數(shù)值量x,不管S是字符變量還是符號變量.例28 format longs1=sym(3/23);x1=numeric(s1)s2=3.14225;x2=numeric(s2)運行結(jié)果為:x1 = 0.13043478260870x2 = 3.14225000000000(7)計算符號表達式的值 eval()例29 a=sym(2*x+y); x=2;y=3;zhi=eval(a)顯示結(jié)果為 zhi=7 %說明當x=2,y=3時2*x+y等于71.3 上機實驗內(nèi)容1. 分別使用WINDOWS中的計算

35、器和MatLab的命令方式計算表達式的值.2. 使用funtool函數(shù)計算器完成正弦函數(shù),其導(dǎo)函數(shù)和原函數(shù)的圖形顯示.3. 生成矩陣A,通過修改矩陣A的第1行第3列元素為2,把矩陣擴充為4行5列,其中第4行第3列元素為7,其余列為0,刪除第2列元素的操作生成矩陣B, 按行的逆順序取A的1,2,4,5列,且第四行為自然數(shù)1到4,生成新的矩陣C;計算B*C,B.* C, B+C,2*B, B和C的行列式,BC, B/C,并找出A中大于3的元素,且將其替換為1。 A= 0 1 0 2 1 3 4 6 8 4 9 7 3 2 2 4. 觀察幻方矩陣和楊輝三角形矩陣各元素的規(guī)律。5. 創(chuàng)建符號矩陣A,計

36、算x=1.1,y=2.3時對應(yīng)的矩陣B,并計算矩陣A,B的行列式.A= x+y 2*x+5*y 3*x+9*y 4*x+13*y 4*x+2*y 5*x+6*y 6*x+10*y 7*x+14*y 7*x+3*y 8*x+7*y 9*x+11*y 10*x+15*y 10*x+4*y 11*x+8*y 12*x+12*y 13*x+16*y 1.4 上機實驗步驟1. (1) 在windows窗口,點擊開始>附件>計算器,打開計算器,(2) 按如下順序點擊各鍵:(注:下面說明中各鍵之間用,隔開)選中十進制,弧度,C , 3, ln, *, (, 2, xy, 8, ), =, MS,

37、 C, 3, /, 4, *, pi, =, sin, *, (, 3, ., 5, 9, xy, 0, ., 5 , ), /, 4, ., 2, =, M+ , MR 記錄結(jié)果 。(3) 在桌面單擊MatLab圖標,打開MATLAB軟件,(4) 在命令窗口輸入>> log(3)*28+sin(3/4*pi)*sqrt(3.59)/4.2顯示結(jié)果為: 2. (1) 在桌面單擊MatLab圖標,打開MatLab軟件,(2) 在命令窗口輸入>> funtool則打開函數(shù)計算器的三個圖形窗口;(3) 在第3個圖形窗口中,在f后面的文本框內(nèi)輸入sin(x)回車,則在第1個圖形

38、窗口顯示正弦函數(shù)的圖形;(4) 在第3個圖形窗口中,點擊df/dx鍵,則在第1個圖形窗口顯示正弦函數(shù)的導(dǎo)數(shù)余弦函數(shù)的圖形;(5) 在第3個圖形窗口中,在f后面的文本框內(nèi)輸入sin(x)回車,再點擊int鍵,則在第1個圖形窗口顯示正弦函數(shù)的一個原函數(shù)負余弦函數(shù)的圖形;3. 在MatLab命令窗口中輸入:>>A=0,1,0,2,1; 3,4,6,8,4; 9,7,3,2,2;B=A;>>B(1,3)=2;B(4,3)=7;B(:,2)=運行結(jié)果:B >>C=A(3:-1:1,1,2,4,5);>>C(4,:)=1:4運行結(jié)果:C >>B*

39、C運行結(jié)果: >>B.*C運行結(jié)果: >>B+C運行結(jié)果: >>2*B運行結(jié)果: >>det(B)運行結(jié)果: 根據(jù)矩陣B的行列式,可判別矩陣B 可逆矩陣。>>BC運行結(jié)果: >>det(C)運行結(jié)果: 根據(jù)矩陣C的行列式,可判別矩陣C 可逆矩陣。>>B/C運行結(jié)果: >>A(find(A>3)=1運行結(jié)果: 4. (1) 在桌面單擊MatLab圖標,打開MatLab軟件,(2) 在命令窗口輸入:>>magic(1) 生成1階幻方矩陣運行結(jié)果: >>magic(3)運行結(jié)

40、果: 3階幻方矩陣元素的特點是: >>magic(4)運行結(jié)果: 4階幻方矩陣元素的特點是: 由此可推知,n階幻方矩陣的特點是: 。(3) 在命令窗口輸入:>>pascal(1) 生成1階楊輝三角矩陣運行結(jié)果: >>pascal(2)運行結(jié)果: >>pascal(3)運行結(jié)果: >>pascal(6)運行結(jié)果: 由此可推知,n階楊輝三角矩陣各元素的特點是: 。5. (1)在桌面單擊MatLab圖標,打開MatLab軟件,在MatLab命令窗口中,點擊菜單File>New->M-file,打開M文件編輯窗口,輸入創(chuàng)建矩陣 A

41、的 MyMatrix.m 文件:syms x y c ra=(r+(c-1)*3)*x+(c+(r-1)*4)*y;for i=1:4 for j=1:4 c=sym(i); r=sym(j); A(i,j)=subs(a);endendA(2)在M文件編輯窗口中,點擊File>Save,在默認路徑下存盤,文件名為MyMatrix.m(3) 在MatLab命令窗口輸入>>MyMatrix >>x=1.1;y=2.3;B=eval(A)運行結(jié)果: >>det(A)運行結(jié)果: >> det(B)運行結(jié)果: 第2章 MatLab作圖本章學(xué)習(xí)的主要

42、目的:1熟練掌握二維、三維圖形的繪制;2掌握簡單動畫的制作;3了解分形幾何學(xué),繪制Koch雪花曲線和Minkowski“香腸”曲線。2.1 圖形輸出窗口的創(chuàng)建與控制figure 創(chuàng)建一個名為Figure N0.n1的新空白圖形窗口figure(n) 創(chuàng)建一個名為Figure N0.n的新空白圖形窗口,不管前面的窗口Figure N0.n-1是否存在。但如窗口Figure N0.n已經(jīng)存在,則將此窗口設(shè)置為當前窗口。clf 清除當前窗口的圖形get (n) 返回圖形窗口Figure N0.n的所有圖像參數(shù)的名稱和當前值set(n) 返回關(guān)于圖形窗口Figure N0.n的所有圖像參數(shù)的名稱和其可

43、能取的值subplot(m,n,i) 將當前窗口分割成m×n個子圖,并將第i個子圖作為當前視圖,返回值為當前視圖的句柄值。其中每個子圖都完全等同于一個完整的圖形窗口,可在其中完成所有圖形操作命令。hold on 可以在當前窗口繼續(xù)畫圖,而不覆蓋窗口中已存在的圖形hold off 釋放當前窗口,在當前窗口繼續(xù)畫圖將覆蓋原來的圖形zoom on 為當前圖形打開縮放模式,單擊鼠標左鍵,則在當前圖形窗口中,以鼠標點中的點為中心的圖形放大2倍;單擊鼠標右鍵,則縮小2倍。zoom off 關(guān)閉縮放模式grid on 在當前圖上加格柵 grid off 在當前圖上刪除格柵xlabel(string

44、) 在當前圖形的x軸上加圖例stringylabel(string) 在當前圖形的y軸上加圖例stringzlabel(string) 在當前圖形的z軸上加圖例stringtitle(string) 在當前圖形的頂端上加圖例stringgtext(string) 在當前圖形上出現(xiàn)一個交叉的十字,該十字隨鼠標的移動而移動,當按下鼠標左鍵時,該標注string放在當前十字交叉處axis(xmin xmax ymin ymax zmin zmax) 定制圖形坐標,xmin xmax ymin ymax zmin zmax分別為x、y、z的最小、最大值。axis auto 將坐標軸返回到自動缺省值。a

45、xis square 圖框成方形axis off 清除坐標刻度例1 將圖形窗口分為兩個子圖,在第一個子圖中,在區(qū)間0,2*pi上畫sin(x),cos(x)的圖形,加格柵,并加注圖例“自變量x”“函數(shù)y”、“示意圖”,”sin(x)”,圖1圖2”cos(x)”,在第二個子圖中,顯示sin(x)在區(qū)間pi/2,pi的部分圖形。輸入命令:(見圖1,圖2)subplot(1,2,1)x=linspace(0,2*pi,30);y=sin(x);plot(x,y, 'k')grid ontitle('示意圖');ylabel('函數(shù)y');title(&

46、#39;示意圖');hold onplot(x,cos(x), 'k')axis(0 2*pi -1.2 1.2)gtext('sin(x)')gtext('cos(x)')subplot(1,2,2)fplot('sin(x) ',0,2*pi, 'k')axis(pi/2 pi 0 1.2)2.2 二維曲線作圖Matlab作圖是通過描點、連線來實現(xiàn)的。故在畫一個曲線圖形之前,必須先取得該圖形上的一系列的點的橫坐標和縱坐標,然后將該點集的坐標傳給函數(shù)作圖。作二維和三維圖形是同樣的道理。調(diào)用格式:plot(

47、X,Y,S)plot(X,Y)plot(X1,Y1,S1, Xn,Yn,Sn)其中X,Y是向量,分別表示點集的橫坐標和縱坐標,S表示線型,規(guī)定如下:線型 線方式 - 實線 :點線 -.虛點線;-波折線 線型 點方式: .圓點 +加號 *星號 x x形 o小圓 顏色:y黃 r紅 g綠 b藍 w白 k黑 m紫 c青命令plot(X,Y)畫實線;命令plot(X1,Y1,S1, Xn,Yn,Sn)將多條線畫在一起。例2 在區(qū)間0,2*pi用藍點線畫正弦函數(shù)sin(x)的圖形,用描點,用綠虛點線畫余弦函數(shù)cos(x)的圖形,用*描點。(見圖3)命令序列:x=0:pi/15:2*pi;y1=sin(x)

48、;y2=cos(x);plot(x,y1,'b',x,y2,'g-.',x,y1,'+',x,y2,'*')圖32.3二維符號函數(shù)作圖可以通過“ezplot”或“fplot”函數(shù)作顯函數(shù),隱函數(shù)和參數(shù)方程確定的函數(shù)的圖形。fplot(fun,lims) 表示繪制字符串fun指定的函數(shù)在lims=xmin,xmax的圖形,fun必須是M文件的函數(shù)名或獨立變量為x的字符串,此字符串被送入函數(shù)eval。不能畫參數(shù)方程和隱函數(shù)的圖形,但在一個圖上可以畫多個圖形。函數(shù)fun(x)必須對向量中的每一個元素x返回一行向量。ezplot(f) 表示在區(qū)間2*pi<x<2*pi繪制f=f(x)的函數(shù)圖ezplot(f,a,b) 表示在a<x<b繪制顯函數(shù)f=f(x)的函數(shù)圖ezplot(f,xm

溫馨提示

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

評論

0/150

提交評論