




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講:鄭雪飛2013.2.20MATLAB語(yǔ)言與應(yīng)用MATLAB7.0課程介紹目標(biāo):了解MATLAB,能夠熟練掌握數(shù)學(xué)(矩陣)運(yùn)算,簡(jiǎn)單編程,簡(jiǎn)單的數(shù)據(jù)處理及基本圖形繪制.了解常用工具箱。學(xué)習(xí)內(nèi)容
MATLAB概述
MATLAB基本命令與基本函數(shù)
MATLAB符號(hào)運(yùn)算
MATLAB的數(shù)值運(yùn)算
MATLAB的數(shù)據(jù)圖形表示
一、前言1、簡(jiǎn)介:MATLAB是美國(guó)Mathworks公司生產(chǎn)的一個(gè)可以完成各種精確計(jì)算和數(shù)據(jù)處理的、可視化的、強(qiáng)大的計(jì)算工具。
2、名稱的由來(lái):MATLAB是matrixlaboratory的前三個(gè)字母組成,矩陣實(shí)驗(yàn)室的意思。一開始它是一種專門用于矩陣數(shù)值計(jì)算的軟件。自MATLAB4.0版本問(wèn)世以來(lái),該軟件成為最具有吸引力,應(yīng)用最為廣泛的科學(xué)計(jì)算語(yǔ)言。我們這個(gè)課就拿MATLAB7.0版本來(lái)講。
應(yīng)用于數(shù)值計(jì)算、算法開發(fā)、數(shù)學(xué)建模、應(yīng)用仿真、數(shù)據(jù)分析及可視、工程繪圖以及應(yīng)用開發(fā)方面。3、
主要包括以下六部分:MATLAB語(yǔ)言
MATLAB工作環(huán)境
MATLAB函數(shù)庫(kù)MATLAB繪圖MATLAB工具箱與simulinkMATLAB應(yīng)用程序接口。二、matlab能在各領(lǐng)域做什么工業(yè)研究與開發(fā)數(shù)學(xué)教學(xué),特別是線性代數(shù)數(shù)值分析和科學(xué)計(jì)算方面的教學(xué)與研究電子學(xué)、控制理論和物理學(xué)等工程和科學(xué)學(xué)科方面的教學(xué)與研究經(jīng)濟(jì)學(xué)、化學(xué)和生物學(xué)等計(jì)算問(wèn)題的所有其他領(lǐng)域中的教學(xué)與研究例、用一個(gè)簡(jiǎn)單命令求解線性系統(tǒng)
3x1+x2-x3=3.6x1+2x2+4x3=2.1-x1+4x2+5x3=-1.4A=[31-1;124;-145];b=[3.6;2.1;-1.4];x=A\bx=1.4818-0.46060.3848對(duì)于線性系統(tǒng)有Ax=b例、用簡(jiǎn)短命令計(jì)算并繪制在0x6范圍內(nèi)的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;plot(x,y1,x,y2,x,y3)階梯圖用四種方法描述cos(x)*sin(y)圖形二、
MATLAB7.0的啟動(dòng)與工作界面歷史命令窗口工作空間窗口開始按鈕命令窗口MATLAB菜單MATLAB工具欄2.1MATLAB的啟動(dòng)和退出
啟動(dòng):雙擊MATLAB圖標(biāo)在開始菜單中找到MATLAB程序MATLAB.exe退出:使用簡(jiǎn)捷鍵命令窗口中輸入quit主窗口文件菜單中選擇File/ExitMATLAB2.2通用窗口MATLAB7.0工作界面中的常用窗口包括命令窗口、歷史命令窗口、當(dāng)前工作目錄窗口、工作空間瀏覽器窗口、變量編輯窗口、M文件編輯/調(diào)試窗口、幫助窗口和程序性能剖析窗口等。所有窗口都可以單獨(dú)顯示,使用Undock和Dock可使窗口單獨(dú)出來(lái)和返回到MATLAB工作界面中。1.命令窗口(CommandWindow)在命令窗口中輸入MATLAB的命令和數(shù)據(jù)后按回車鍵,立即執(zhí)行運(yùn)算并顯示結(jié)果。MATLAB在命令窗口中的語(yǔ)句形式為:>>變量=表達(dá)式;說(shuō)明:命令窗口中的每個(gè)命令行前會(huì)出現(xiàn)提示符“>>”,沒(méi)有“>>”符號(hào)的行則是顯示的結(jié)果。例1-1
在命令窗口中輸入不同的命令和數(shù)值,并查看其顯示方式。>>a=0.5a=0.5000>>b='sin'b=sin>>ifa<1c=true%如果a<1則c為trueendc=1
練習(xí)2.歷史命令窗口(CommandHistory)歷史命令窗口默認(rèn)地出現(xiàn)在MATLAB界面的左下側(cè),用來(lái)記錄并顯示已經(jīng)運(yùn)行過(guò)的命令、函數(shù)和表達(dá)式。在默認(rèn)設(shè)置下,該窗口會(huì)顯示自安裝以來(lái)所有使用過(guò)命令的歷史記錄,并標(biāo)明每次開啟MATLAB的時(shí)間。3.當(dāng)前目錄瀏覽器窗口(CurrentDirectoryBrowser)用來(lái)設(shè)置當(dāng)前目錄,并顯示當(dāng)前目錄下的M文件、MAT文件、MDL文件等文件信息,窗口中包括文件類型(FileType)、文件大?。⊿ize)、最后修改(LastModified)時(shí)間和文件的說(shuō)明信息(Description)等。4.工作空間瀏覽器窗口(Workspace)工作空間瀏覽器窗口用于顯示內(nèi)存中所有的變量名、數(shù)據(jù)結(jié)構(gòu)、類型、大小和字節(jié)數(shù),不同的變量類型使用不同的圖標(biāo)。在MATLAB7.0的命令窗口中也可以通過(guò)命令來(lái)查看工作空間的變量,以下是常用的命令:Who:查閱MATLAB內(nèi)存變量名。Whos:查閱MATLAB內(nèi)存變量名、大小、類型和字節(jié)數(shù)。clear變量名1變量名2…:刪除內(nèi)存中的變量,變量名1變量名2可省略,省略時(shí)表示刪除所有變量。5.M文件編輯/調(diào)試器窗口(Editor/Debugger)打開M文件編輯/調(diào)試器窗口的方法有:?jiǎn)螕鬗ATLAB工作界面工具欄上的圖標(biāo);單擊菜單“File”→“New”→“M-file”創(chuàng)建新M文件;1.2MATLAB的基本命令與基本函數(shù)1)基本的系統(tǒng)函數(shù)例如cdD:\MATLAB7\work\處理數(shù)據(jù)loadff(文件名)2)工作區(qū)和變量的基本命令clearclc(清除窗口命令)format輸出格式命令formatlonge:將系統(tǒng)默認(rèn)的5位數(shù)字的顯示格式轉(zhuǎn)換位16位數(shù)字加3位指數(shù)位的顯示格式。formatshort-----恢復(fù)系統(tǒng)默認(rèn)設(shè)置以4位小數(shù)的浮點(diǎn)格式輸出。>>formatlonge>>pp=Column1-1.000000000000000e+000Column20Column31.000000000000000e+000Column40Column5-9.093000000000000e-001p=[-1,0,1,0,-0.9093];3)MATLAB中的預(yù)定義變量4)算數(shù)表達(dá)式和基本數(shù)學(xué)函數(shù)MATLAB的算數(shù)表達(dá)式由字母或數(shù)字用運(yùn)算符號(hào)聯(lián)結(jié)而成。MATLAB的語(yǔ)法舉例:
例:在MATLAB中可寫為:在執(zhí)行本句之前首先要對(duì)a、b、c賦值。MATLAB的語(yǔ)法舉例:
1-d*c^(x+2)d*c^x
或2+d*c^x
(d*c^x+2)/g^2.7
sqrt(d*c^x+2)或(d*c^x+2)^0.5
y=sqrt(abs(pi-sin(x)/cosh(a)-ln(x+a)))例:一個(gè)長(zhǎng)管,其內(nèi)表面半徑為a,溫度為Ta;外表面半徑為Tb;則其徑向和切向應(yīng)力可分別表示為:式中r為管子的徑向坐標(biāo),E為管子材料的彈性模量,ɑ為熱膨脹系數(shù)。沿徑向管壁的溫度分布為:用MATLAB表達(dá)形式寫出該方程并用如下值進(jìn)行驗(yàn)證:ɑ=1.2x10-5,E=3x107,v=0.3,Ta=500,Tb=300,a=0.25,b=0.5,r=0.375。=-8011.5=5231.9,=383.0075]
壓力為po的氣體在可逆絕熱條件下從容器中溢出,其質(zhì)量與流量之比如下:式中pe為容器出口的外部壓力,k為可逆絕熱的氣體常數(shù)。用MATLAB表達(dá)形式寫出該方程并用如下給出值進(jìn)行驗(yàn)證:k=1.4,pe/p0=0.3。
=0.4271]{2.基本賦值和運(yùn)算
1簡(jiǎn)單的數(shù)學(xué)計(jì)算:>>3721+7428/24ans=4.0305e+003>>abs(-27)ans=27>>sin(29)小括號(hào)ans=-0.6636>>3^4,6^3*(3+2)一行輸入多個(gè)表達(dá)式用逗號(hào)(顯示結(jié)果)
隔開ans=81ans=10802)簡(jiǎn)單賦值運(yùn)算:>>x=18將18賦值給變量xx=18>>y=3*x^2-78將3*x^2-78賦值給變量yy=894命令行尾為分號(hào)則屏幕上不顯示計(jì)算信息2.2向量、向量運(yùn)算MATLAB是一門語(yǔ)言,它的運(yùn)算指令和語(yǔ)法基于一系列基本的矩陣運(yùn)算以及它們的擴(kuò)展運(yùn)算。2.2.1向量的創(chuàng)建第一種方法是使用冒號(hào)來(lái)指定數(shù)值范圍和相鄰值的步長(zhǎng);第二種方法是指定數(shù)值的范圍和期望的數(shù)值個(gè)數(shù)
第一種方法:x=s:d:f其中,s=初值,d=增量或減量值,f=結(jié)束值或終值。可產(chǎn)生如下的行向量x:x=[s+d,s+2d,…,s+nd]其中,s+nd〈=f
。當(dāng)d省略時(shí),MATLAB默認(rèn)d=1。即:x=s:f
產(chǎn)生向量:x=[s+1,s+2,…,s+n]向量或矩陣賦值方式:變量名=[變量值]
直接輸入:如A=(1,2,3,4,5)]>>A=[12345]行向量數(shù)字之間用空格隔開A=12345>>B=[1;2;3;4]列向量數(shù)字之間用分號(hào)隔開B=1234例1:若想創(chuàng)建[-2,1,3,5,7,9,10]的向量x。
x=[-2,1:2:9,10]或x=[-2,1,3,5,7,9,10]若z=x-1
→z=[-3,0,2,4,6,8,9]
若z=x;z(2)=z(2)/2;→z=[-2,0.5,3,5,7,9,10]
若:z=x;z(2)=z(2)/2;z(3:4)=z(3:4)*3-1;其中z(3:4)為z的第三個(gè)和第四個(gè)元素z=[-2,0.5,8,14,7,9,10]例2:確定sin(x)的值,其中x在-π≤x≤π的區(qū)間內(nèi)以π/5的步長(zhǎng)變化。x=-pi:pi/5:pi;y=sin(x)y→[0.0000-0.5878-0.9511-0.9511-0.58780.00000.58780.95110.58780.0000]第二種方法:(指定n個(gè)從s到f的等間隔值)s=linspace(s,f,n)其中,增量或減量值d由MATLAB通過(guò)下式計(jì)算得出:如果沒(méi)有指定n的值,MATLAB則默認(rèn)n=100。例如:linspace(1,3,3)ans=1232.2.2向量的基本運(yùn)算(1)向量的加減:用+、-。
同維向量才可以加、減。相應(yīng)元素加減
(2)向量與數(shù)可以加、減。用+、-。
數(shù)與向量的每個(gè)元素進(jìn)行作用。
(3)向量與數(shù)可以相乘。用*。
(4)向量與數(shù)可以相除。向量/數(shù),數(shù)./向量。
(5)兩個(gè)向量點(diǎn)積。必須是同維向量。用dot(a,b)。
(6)兩個(gè)向量叉積。cross(a,b),a,b必須有是3維且次序不能顛倒,。
(7)混合積。由以上兩個(gè)函數(shù)實(shí)現(xiàn)。dot(a,cross(b,c))算術(shù)操作符:
+、-:加,減;可以通用。*,^,\,/:分別為矩陣乘,乘方,左除,右除;.*,.^,.\,./:分別為數(shù)組乘,乘方,左除,右除;小結(jié)MATLAB概述MATLAB基本命令與基本函數(shù)第二講數(shù)值運(yùn)算的功能創(chuàng)建矩陣矩陣運(yùn)算多項(xiàng)式運(yùn)算
2.1、矩陣的創(chuàng)建
直接輸入:如:a=[1,3,4;4,3,2].a=134432(2)第二種方法:1直接輸入法例子2-7用直接輸入矩陣元素的方法創(chuàng)建矩陣。在MATLAB的命令行窗口中鍵入下面的指令:>>A=[123;456;789]A=123456789>>whosNameSizeBytesClassA3x372doublearrayGrandtotalis9elementsusing72bytes圖2-1MATLAB的工作空間瀏覽器在上面的例子中創(chuàng)建了一個(gè)3×3的矩陣,在創(chuàng)建矩陣的時(shí)候,需要注意:*整個(gè)矩陣的元素必須在“[]”中鍵入;*矩陣的元素行與行之間需要使用分號(hào)“;”間隔,也可以在需要分行的地方用回車鍵間隔;*矩陣的元素之間可以使用逗號(hào)“,”或者空格間隔。其實(shí)創(chuàng)建上面的矩陣時(shí)還可以這么做>>B=[1:3;4:6;7:9]B=1234567892.1.1函數(shù)生成矩陣表2-2MATLAB的矩陣生成函數(shù)函數(shù)的格式(1)zeros(n):生成n×n階0矩陣。(2)zeros(m,n):生成m×n階0矩陣。(3)zeros(size(a)):生成與a階數(shù)相同的0矩陣。(4)eye(n):生成n階單位矩陣。(5)eye(m,n):生成m×n階單位矩陣。(6)eye(size(a)):生成與a階數(shù)相同的單位矩陣。(7)ones(n):生成n階全1矩陣。(8)ones(m,n):生成m×n階全1矩陣。(9)ones(size(a)):生成與a階數(shù)相同的全1矩陣。(10)rand(n):生成n×n階隨機(jī)矩陣,其元素值在0和1之間。
(11)rand(m,n):生成m×n階隨機(jī)矩陣。(12)rand:生成一個(gè)隨機(jī)數(shù)。(13)rand(size(a)):生成與a階數(shù)相同的隨機(jī)矩陣。例子2-12
函數(shù)生成矩陣的示例。在MATLAB命令行中鍵入下面的指令:>>%創(chuàng)建三階帕斯卡矩陣>>A=pascal(3)A=111123136>>%從矩陣A生成下三角矩陣>>tril(A)ans=100120136>>%獲取矩陣A的對(duì)角線元素>>diag(A)ans=126>>%利用向量生成對(duì)角矩陣>>diag(ans)ans=100020006兩個(gè)非常有用的函數(shù)可以生成矩陣的元素。1、創(chuàng)建一個(gè)元素為1的(rc)階矩陣:其中r,c分別為行數(shù)與列數(shù)
one=ones(r,c)2、創(chuàng)建一個(gè)元素為0的(rc)階矩陣:
zero=zeros(r,c)c=eye(3)c=100010001
d=ones(3)d=111111111試創(chuàng)建如下矩陣a=[3:2:11;linspace(20,21,5);ones(1,5)]a(1,1)→3,a(3,4)→1,a(:,2)→[520.251]‘a(chǎn)(2,:)→[2020.2520.520.7521]a(1:3,3:5)→[7911;20.520.7521;111]例:已知A2=[1,2,3,4,5]>>B1=[sqrt(A2)]利用函數(shù)(p29)B1=1.00001.41421.73212.00002.2361>>B2=[sin(A2)]B2=0.84150.90930.1411-0.7568-0.95892.2基本矩陣運(yùn)算針對(duì)矩陣的運(yùn)算MATLAB提供了若干函數(shù)和基本的運(yùn)算規(guī)則,這些規(guī)則和函數(shù)都分別和線性代數(shù)的基本概念和運(yùn)算規(guī)則對(duì)應(yīng)。矩陣的基本運(yùn)算參見表2-2。表2-2矩陣的基本運(yùn)算>>A=[136;489;102578]A=136489102578>>det(A)ans=-147>>AN=inv(A)AN=-2.71430.57140.14291.5102-0.1224-0.1020-0.1361-0.03400.0272練習(xí):已知水的黏度隨溫度的變化公式為
μ=μ0/(1+at+bt2)其中μ0=1.785×10-3,
a=0.03368,b=0.000221,
求水在0,20,40,60,80℃時(shí)的黏度。程序如下:miu0=1.785e-3;a=0.03368;b=0.000221;t=0:20:80miu=miu0./(1+a*t+b*t.^2)矩陣的運(yùn)算舉例一、矩陣運(yùn)算(p38)+、-、*:加、減、乘運(yùn)算。
(2)矩陣的除法有兩種形式:左除“\”和右除‘/’。左除是先計(jì)算逆再做乘法;右除不計(jì)算逆直接進(jìn)行除法運(yùn)算,這樣可避免奇異矩陣無(wú)法求逆帶來(lái)的麻煩.如:A=[1,2,3,2;3,2,4,1;3,1,5,6;2,5,3,2],b=[1;3;2;1],求方程組Ax=b的解。
由于rank(A)=rank(B)=4(B為增廣矩陣B=[A,b])
所以有唯一解,x=A\b,或x=inv(A)*b又如:A=[361,625,961,1444,1936;1,1,1,1,1],b=[1;1],求方程組Ax=b的解.由于rank(A)=rank(B)=2(B為增廣矩陣),所以有無(wú)窮多個(gè)解,MATLAB中用除法解方程組時(shí)所得到的解是所有解中范數(shù)最小的一個(gè)x=A\b。求解線性方程組矩陣的特征值函數(shù)eig給出特征值和特征向量的值A(chǔ)=[73-2;34-1;-2-13][X,Y]=eig(A)說(shuō)明:X為特征向量矩陣,Y為特征值矩陣>>A=[73-2;34-1;-2-13][X,Y]=eig(A)A=73-234-1-2-13X=0.5774-0.0988-0.8105-0.57740.6525-0.49080.57740.75130.3197Y=2.00000002.39440009.6056練習(xí)題:A=11121314212223243132333441424344求(1)A(:,1)(2)A(2,:)(3)A(:,2:3)(4)A(2:3,2:3)(5)A(:)(6)A(:,:)(7)ones(2,2)(8)eye(2)(9)diag(A)A=[11,12,13,14;21,22,23,24;31,32,33,34;41,42,43,44]
(1)A(:,1)(2)A(2,:)
(3)A(:,2:3)1213222332334243A(2:3,2:3)22233233>>A(:,1:2:3)ans=1113212331334143A(:)ans=11213141122232421323334314243444>>A(:,:)ans=11121314212223243132333441424344
ones(2,2)ans=1111
eye(2)ans=1001
diag(A)ans=112233442.3、多項(xiàng)式、多項(xiàng)式運(yùn)算2.3.1多項(xiàng)式表示方法
在MATLAB中多項(xiàng)式p(x)=anxn+an-1xn-1+…+a0是以向量p=[an,an-1,…,a0]的形式儲(chǔ)存的(從高次冪到低次冪)。(1)系數(shù)向量直接輸入:例輸入多項(xiàng)式x^3-5x^2+6x-33.p=[1,-5,6,-33];
poly2sym(p)%polynomial多項(xiàng)式,將系數(shù)向量表示成符號(hào)多項(xiàng)式>>p=[1,-5,6,-33];>>poly2sym(p)
ans=
x^3-5*x^2+6*x-33
(2)矩陣的特征多項(xiàng)式輸入
例
a=[1,2,3;2,3,4;3,4,5];
p=poly(a);%求a的特征多項(xiàng)式的系數(shù)向量p1=poly2sym(p);%即為a的特征多項(xiàng)式p=1.0000-9.0000-6.0000-0.0000p1=x^3-9*x^2-6*x-8399472656541061/2535301200456458802993406410752(3)由根創(chuàng)建多項(xiàng)式:例
root=[-5,-3+4i,-3-4i];%是某個(gè)多項(xiàng)式的根p=poly(root)%求相應(yīng)的多項(xiàng)式的系數(shù)向量P1=poly2sym(p)%將多項(xiàng)式系數(shù)向量表示成符號(hào)多項(xiàng)式>>a=[1,2,3;2,3,4;3,4,5]p=poly(a)%求a的特征多項(xiàng)式系數(shù)向量
p1=poly2sym(p)a=123234345p=1.0000-9.0000-6.0000-0.0000p1=
x^3-9*x^2-6*x-8399472656541061/2535301200456458802993406410752
2.3.2多項(xiàng)式運(yùn)算:(1)求多項(xiàng)式的值:Polyval(p,x)計(jì)算以向量p為系數(shù)的多項(xiàng)式在變量為x時(shí)的值例
p=[1,11,55,125];a=1.2b=[1,2;2,3]
polyval(p,a)polyvalm(p,b)例
p=[1,11,55,125];a=1.2b=[1,2;2,3]
polyval(p,a)%polynomialvalue求多項(xiàng)式在1.2的值(208.5680)
polyvalm(p,b)%多項(xiàng)式在b的值
256232232488(2)求多項(xiàng)式的根roots(p)
例求多項(xiàng)式
2x^4-5x^3+6x^2-x+9=0的所有根.p=[2,-5,6,-1,9]
roots(p)%得到多項(xiàng)式的根
1.6024+1.2709i1.6024-1.2709i-0.3524+0.9755i-0.3524-0.9755i(3)多項(xiàng)式乘除運(yùn)算分別用conv和deconv:(convolution,deconvolution)例
p1=[2,-5,6,-1,9];p2=[3,-90,18];p=conv(p1,p2)%為p1和p2所相應(yīng)的多項(xiàng)式的乘積多項(xiàng)
式的系數(shù)向量(p=[6-195504-633225-828162])p3=deconv(p,p1)%為p2p4=deconv(p,p2)%為p1poly2sym(p1);poly2sym(p2);poly2sym(p)poly2sym(p3)poly2sym(p4)%觀看這幾個(gè)多項(xiàng)式p3=[3-9018]p4=[2-56-19]poly2sym(p3)3*x^2-90*x+18poly2sym(p4)2*x^4-5*x^3+6*x^2-x+9polyfit(x,y,n)其中x,y為擬合數(shù)據(jù),n為擬合多項(xiàng)式的階數(shù)。例
用最小二乘法擬合數(shù)據(jù)x:0.501.001.502.002.503.00y:1.752.453.814.808.008.60x1=0.5:0.05:3
2.3.3多項(xiàng)式擬合x=[0.5,1,1.5,2,2.5,3],y=[1.75,2.45,3.81,4.80,8.00,8.60]
a=polyfit(x,y,2)%用2次多項(xiàng)式擬合上組數(shù)據(jù),a為擬合多項(xiàng)式的系數(shù)向量x1=0.5:0.05:3(51維)y1=a(1)*x1.^2+a(2)*x1+a(3)
plot(x1,y1,'o')%畫出擬合曲線的圖形
holdon%保留上面的圖形和坐標(biāo),可在該坐標(biāo)系中繼續(xù)作圖
plot(x,y,'*')%用*號(hào)的形式畫出被擬合的數(shù)據(jù)圖形MATLAB進(jìn)行符號(hào)運(yùn)算的主要功能:符號(hào)表達(dá)式和符號(hào)矩陣的基本操作、符號(hào)矩陣的基本運(yùn)算、符號(hào)微積分運(yùn)算、符號(hào)線性方程求解、符號(hào)微分方程求解、特殊數(shù)學(xué)符號(hào)函數(shù)、符號(hào)函數(shù)圖形等。三、符號(hào)運(yùn)算1符號(hào)表達(dá)式的生成(1)創(chuàng)建符號(hào)函數(shù)(用單引號(hào)或sym定義如f='log(x)‘f=log(x)(2)創(chuàng)建符號(hào)方程如g='a*x^2+b*y^2+c=0‘a(chǎn)*x^2+b*y^2+c=0(3)創(chuàng)建微分方程如q='Dy-y=x'或者:f=sym('log(x)')、g=sym('a*x^2+b*y^2+c=0')、q=sym('Dy-y=x')說(shuō)明:符號(hào)函數(shù)也可以用另一方法創(chuàng)建(該方法不能創(chuàng)建方程):symsx%用syms可以定義多個(gè)變量,變量間用空格分開symsxyuv2符號(hào)與數(shù)值之間的轉(zhuǎn)換vpa函數(shù):如
digits(25)%設(shè)置有效數(shù)字的精度為25位有效數(shù)字
vpa(pi+1)%顯示在上述digits函數(shù)設(shè)置下的精度的數(shù)值4.141592653589793115997963或者vpa(pi+1,25)例求函數(shù)f(x)=x-cos(x)在x=2的值。解:
symsxf=x-cos(x);%定義符號(hào)函數(shù)ff1=subs(f,'2',x)%字符替代,在符號(hào)函數(shù)f中用2代替xf1=2-cos(2)digits(20)
vpa(f1)2.4161468365471423870
例求方程3x^2-e^x=0的精確解和各種精度的近似解。解s=solve('3*x^2-exp(x)=0')
vpa(s,32)%顯示32位有效數(shù)字
vpa(s,6)%顯示6位有效數(shù)字
vpa(s,32)
ans=
[.91000757248870906065733829575944][3.7330790286328142006199540298434][-.45896226753694851459857243243408]]3符號(hào)函數(shù)運(yùn)算1復(fù)合函數(shù)運(yùn)算
設(shè)z=g(y),y=f(x)
compose(g,f)%即為g(f(x)),自變量的符號(hào)取為f函數(shù)的自變量符號(hào)。
compose(g,f,t)%即為g(f(x)),自變量的符號(hào)取t。反函數(shù)運(yùn)算:finverse例symsx;symsy;symst;%或者symsxytg=sin(y);f=1/x;compose(g,f)compose(g,f,t)finverse(g)finverse(f)compose(g,f):
sin(1/x)
compose(g,f,t):sin(1/t)finverse(g):asin(y)finverse(f):1/x
collect(s,v)symsxyabF=(x+a)*(x+b)+(x-a)^2F1=collect(F)默認(rèn)變量x,expand(s)將符號(hào)表達(dá)式s展開f=(x-3)^2*(x-1)-(x+1)^2expand(f)ans=
x^3-8*x^2+13*x-10factor(x)將符號(hào)表達(dá)式x因式分解a1=factor(sym('234'))
a1=
(2)*(3)^2*(13)符號(hào)矩陣創(chuàng)立
使用sym函數(shù)直接創(chuàng)建符號(hào)矩陣
例
a=sym('[1/sin(x),cos(x)^2;2*x,1+x^2]')或
symsxa=[1/sin(x),cos(x)^2;2*x,1+x^2]符號(hào)矩陣的運(yùn)算
(1)+、-、*、\、/運(yùn)算
(2)矩陣轉(zhuǎn)置('):a'(3)行列式運(yùn)算
det(a)%determinant的簡(jiǎn)寫計(jì)算符號(hào)矩陣的行列式。
(4)求逆inv(a):求矩陣a的逆。
(5)求矩陣的秩rank(a):求矩陣a的秩。符號(hào)極限limit(f,x,a):求表達(dá)式f在x→a時(shí)的極限。limit(f):求f在x→0時(shí)的極限.imit(f,x,a,'left'):求表達(dá)式f在x→a時(shí)的左極限。limit(f,x,a,'right'):求表達(dá)式f在x→a時(shí)的右極限。例MATLAB標(biāo)點(diǎn)的含義:(1)分號(hào);
區(qū)分行以及取消運(yùn)行顯示等。例:A=[1,2;3,4]與A=[1,2;3,4];的區(qū)別。
(2)逗號(hào),
區(qū)分列及函數(shù)參數(shù)分隔符等。例:A=[1,2;3,4],B=[1,4,3;3,2,1;4,5,6](3)小括號(hào)()
指定運(yùn)算過(guò)程的先后次序等。例:
x=0.5;y=sin(x)/(2+cos(x))z=sin(x)/2+cos(x)(4)方括號(hào)[]矩陣定義標(biāo)志等。見(1)2)
(5)續(xù)行號(hào)...
例:y=sin(x)/(2+cos(x))
也可寫為y=sin(x).../(2+cos(x))(6)百分號(hào)%
注釋標(biāo)記,該行%以后的語(yǔ)句不執(zhí)行。例:%線性規(guī)劃程序%a=0.5;b=sin(x);%正弦函數(shù)(7)等號(hào)
=賦值標(biāo)記。見上。
(8)單引號(hào)
'
'字符串表示符,單引號(hào)里面的內(nèi)容為字符串。單引號(hào)一定在英文狀態(tài)下輸入例:
a='xingtaicollege'(9)冒號(hào)
:有多種應(yīng)用功能,學(xué)習(xí)過(guò)程中注意。如:選取矩陣的所有行、列;矩陣定義特殊矩陣的生成(1)zeros(n):生成n×n階0矩陣。(2)zeros(m,n):生成m×n階0矩陣。(3)zeros(size(a)):生成與a階數(shù)相同的0矩陣。(4)eye(n):生成n階單位矩陣。(5)eye(m,n):生成m×n階單位矩陣。(6)eye(size(a)):生成與a階數(shù)相同的單位矩陣。(7)ones(n):生成n階全1矩陣。(8)ones(m,n):生成m×n階全1矩陣。(9)ones(size(a)):生成與a階數(shù)相同的全1矩陣。(10)rand(n):生成n×n階隨機(jī)矩陣,其元素值在0和1之間。
(11)rand(m,n):生成m×n階隨機(jī)矩陣。(12)rand:生成一個(gè)隨機(jī)數(shù)。(13)rand(size(a)):生成與a階數(shù)相同的隨機(jī)矩陣。矩陣的特殊操作:(1)變維操作reshape(a,m,n):把矩陣a變成n×n階矩陣。如a=1:12,reshape(a,2,6),reshape(a,3,4)。注意變維操作要保證元素個(gè)數(shù)一致。例
s=1:12;c=zeros(3,4);c(:)=s(:);%符號(hào)“:”表示變維操作,這兩個(gè)矩陣必須預(yù)先定義維數(shù),結(jié)果c取的是s的元素。
(2)對(duì)角元素抽取diag(a,k)(注:diagonal為對(duì)角線的意思)
抽取矩陣a的第k條對(duì)角線的元素作為向量,k=0時(shí)為主對(duì)角線,k為正值時(shí)為上方第k條對(duì)角線,k為負(fù)值時(shí)為下方第k條對(duì)角線。
diag(a)相當(dāng)于diag(a,0)例a=rand(3);v=diag(a)
說(shuō)明:如果b是一個(gè)向量,則diag(b)為對(duì)角矩陣,其對(duì)角線元素為b的元素。如:b=1:3,diag(b).(3)tril(a)(注:trianglelow):提取矩a的主下三角。
(4)tril(a,k):提取矩a的第k條對(duì)角線下面部分。k=0時(shí)為主對(duì)角線,k為正值時(shí)為上方第k條對(duì)角線,k為負(fù)值時(shí)為下方第k條對(duì)角線。(5)triu(a,k)(注:triangleup):提取矩a的第k條對(duì)角線上面部分。邏輯運(yùn)算符(1)==:等于。(2)~=:不等于。(3)〈:小于。(4)〉:大于。(5)〈=:小于等于。(6)〉=:大于等于。(7)&:邏輯與。(8)|:邏輯或。(9)~:邏輯非。說(shuō)明:
①在關(guān)系比較中,若雙方為同維數(shù)組(矩陣),則比較的結(jié)果也是同維數(shù)組(矩陣)。它們的元素有0和1組成。對(duì)應(yīng)位置上的元素滿足比較關(guān)系時(shí)為1,否則為0。當(dāng)常數(shù)與數(shù)組(矩陣)比較時(shí),結(jié)果與數(shù)組(矩陣)同維,其值依次為常數(shù)與數(shù)組元素依次比較的結(jié)果。例:a=[1:3;4:6;7:9]x=5y=x<=a運(yùn)行結(jié)果y=000011111y.*a②邏輯運(yùn)算的意義是:
與:當(dāng)運(yùn)算雙方的對(duì)應(yīng)元素值都為非0時(shí),結(jié)果為1,否則為0;
或:當(dāng)運(yùn)算雙方的對(duì)應(yīng)元素值有一非0時(shí),結(jié)果為1,否則為0;
非:當(dāng)運(yùn)算數(shù)組
(矩陣)的對(duì)應(yīng)位置上的元素值為0時(shí),結(jié)果為1,否則為0。例a=[1,2;3,2];b=[0,1;3,0];d=a&b
e=a|b
f=~b
③算術(shù)運(yùn)算、比較運(yùn)算、邏輯與或非運(yùn)算的優(yōu)先級(jí):先比較運(yùn)算、再算術(shù)運(yùn)算、最后邏輯與或非運(yùn)算。4、常用函數(shù)sin(x):正弦函數(shù)
(sine);例:x=-pi:0.1:pi;y=sin(x);plot(x,y)asin(x):反正弦函數(shù)
(anti-sine);cos(x):余弦函數(shù)
(cosine);acos(x):反余弦函數(shù)
(anti-cosine);tan(x):正切函數(shù)
(tangent);atan(x):反正切函數(shù)
(anti-tangent);cot(x):余切函數(shù)
(cotangent);acot(x):反余切函數(shù)
(anti-cotangent);sec(x):正割函數(shù)
(secant);asec(x):反正割函數(shù)
(anti-secant);csc(x):余割函數(shù)
(cosecant);acsc(x):反余割函數(shù)
(anti-cosecant);sinh(x):雙曲正弦
(hyperbolicsine);asinh(x):反雙曲正弦(anti-hyperbolicsine);cosh(x):雙曲余弦
(hyperboliccosine);acosh(x):反雙曲余弦
(anti-hyperboliccosine);tanh(x):雙曲正切函數(shù)
(hyperbolictangent);atanh(x):反雙曲正切函數(shù)
(anti-hyperbolictangent);coth(x):雙曲余切函數(shù)
(hyperboliccotangent);acoth(x):反雙曲余切函數(shù)
(anti-hyperboliccotangent);exp(x):e指數(shù)函數(shù)
(exponent);log(x):自然對(duì)數(shù)函數(shù)
(logarithm);log10(x):以10為底的對(duì)數(shù);log2(x):以2為底的對(duì)數(shù);sqrt(x):平方根函數(shù)
(squareroot);abs(x):求模函數(shù)
(absolute)symsxlimit(sin(x)/x,x,1)limit(sin(x)/x)limit((1+1/x)^(1/x),x,inf)f=atan(1/(1-x))y=limit(f,x,1)%沒(méi)極限
y1=limit(f,x,1,'left')y2=limit(f,x,1,'right')f=1/x,y1=limit(f,x,0,'left')y2=limit(f,x,0,'right')符號(hào)積分(積分:integral)(1)int(f,x):計(jì)算符號(hào)表達(dá)式f,自由變量為x的不定積分.
(2)int(f,x,a,b):計(jì)算符號(hào)表達(dá)式f,自由變量為x,從a到b的定積分說(shuō)明:符號(hào)表達(dá)式可以是符號(hào)函數(shù),也可是符號(hào)矩陣。例
symsx
int(sin(x),x)
int(sin(x),x,0,1)
int(sin(x),x,0,1)說(shuō)明:變量x省略時(shí)默認(rèn)對(duì)x積分。a=sym('[1/sin(x),cos(x)^2;2*x,1+x^2]')
int(a,x)符號(hào)函數(shù)求導(dǎo)(微分:differential)
(1)diff(f,x)%求表達(dá)式f,自由變量為x的導(dǎo)數(shù)。
(2)diff(f,x,n)%求表達(dá)式f,自由變量為x的n階導(dǎo)數(shù)。symsxf=sin(x)^2
diff(f,x)%變量x省略時(shí)默認(rèn)對(duì)x求導(dǎo)diff(f,x,2)%x省略時(shí)默認(rèn)對(duì)x求導(dǎo)線性方程組的符號(hào)解法(linsolve)例a=sym('[10,-1,0;-1,10,-2;0,-2,10]')b=sym('[9;7;6]')x=linsolve(a,b)%x為線性方程ax=b的解。注:這里a,b也可是double型,但得到的x為sym型。vpa(x)%轉(zhuǎn)化為浮點(diǎn)近似解,32位有效數(shù)字。非線性方程(組)的符號(hào)解法符號(hào)微分方程的符號(hào)解(dsolve)
(1)fsolve('f',x0):其中f為被求零點(diǎn)的函數(shù),x0為初值。注:fsolve對(duì)sym型函數(shù)無(wú)效;可用于有函數(shù)文件、字符串、和inline定義的函數(shù)。
(2)slove('方程1','方程2',…)。例、求解下面非線性方程組
x1-0.7sinx1-0.2cosx2=0x2-0.7cosx1+0.2sinx2=0解首先編寫函數(shù)文件f.m如下functiony=fc(x)y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2));y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));y=[y(1);y(2)];在命令窗口中輸入x0=[0.502,0.51];%x0為初始向量fsolve('fc',x0)符號(hào)微分方程的符號(hào)解(dsolve):desolve(‘eq1,eq2,…’,’cond1,cond2,…’,’v’)desolve(‘eq1,eq2’,…,’cond1,cond2,…’,’v’)eq1,eq2指常微分方程的符號(hào)解;v為自變量;參數(shù)cond1,cond2為用來(lái)指定方程的邊界條件或初始條件。例求dy/dt=-ay的解解dsolve('Dy=-a*y')%得到通解。
dsolve('Dy=-a*y','y(0)=1')%給定了初始條件,求特解。方程和初始條件用逗號(hào)分開,都用單引號(hào)引起來(lái)。dsolve(‘Dy=-a*y’,‘y(0)=1’,‘x’)%指定自變量為x求二階常微分方程
的通解。>>symsxyS=dsolve('D2y=cos(2*x)-y','y(0)=1','Dy(0)=0','x');符號(hào)函數(shù)的二維圖形
(1)ezplot(f):繪制f(x)的圖形,x的范圍為[-2π,2π]。如
ezplot('sin(x)')。
(2)ezplot(f,a,b):繪制f(x)的圖形,x的范圍為[a,b]。如
ezplot('sin(x)',0,9)。四、圖形處理圖形可視化是數(shù)學(xué)計(jì)算人員所喜歡和追求的一項(xiàng)技術(shù)。把結(jié)果用圖形描述出來(lái),便于理解、分析。二維繪圖命令基本二維繪圖命令為:plot(u1,v1,c1,u2,v2,c2,…)ui,vi分別為一系列點(diǎn)的x和y坐標(biāo);ci是字符串:如‘s’(用方框畫點(diǎn)),‘*’用*畫點(diǎn)),‘-’(用實(shí)線畫點(diǎn)),‘--’(用虛線畫點(diǎn)),‘b—d’(用藍(lán)色虛線連接藍(lán)色菱形點(diǎn))等等。
(1)plot(y)%若y是向量,就以向量的索引為橫坐標(biāo),以向量的元
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金融學(xué)專業(yè)綜合考試試卷及答案
- 第32屆全國(guó)中學(xué)生物理競(jìng)賽復(fù)賽試題
- 快遞發(fā)貨倉(cāng)庫(kù)合同協(xié)議
- 母嬰服裝進(jìn)貨合同協(xié)議
- 商務(wù)接待車租賃合同協(xié)議
- 商業(yè)房定金合同協(xié)議
- 橙子產(chǎn)地購(gòu)銷合同協(xié)議
- 懷柔區(qū)供暖方案合同協(xié)議
- 快遞業(yè)務(wù)轉(zhuǎn)讓合同協(xié)議
- 商城會(huì)員合同協(xié)議
- 【初中化學(xué)】常見的鹽-2024-2025學(xué)年九年級(jí)化學(xué)科粵版(2024)下冊(cè)
- 中國(guó)教育社會(huì)問(wèn)題
- 特種設(shè)備重大事故隱患判定準(zhǔn)則
- 貝葉斯時(shí)間序列分析-深度研究
- 學(xué)前教育專業(yè)實(shí)習(xí)總結(jié)
- 文藝復(fù)興式跨學(xué)科-深度研究
- 《采油工理論試題庫(kù)》(附答案)
- 以終為始 育夢(mèng)成光-初二上期末家長(zhǎng)會(huì)
- 《哺乳動(dòng)物尿酸酶重組構(gòu)建篩選及Cys殘基結(jié)構(gòu)功能研究》
- 《貨物運(yùn)輸實(shí)務(wù)》課件 7.2大件物品的運(yùn)輸組織
- 2024版中國(guó)質(zhì)量協(xié)會(huì)QC小組基礎(chǔ)教程(課件99)1
評(píng)論
0/150
提交評(píng)論