MATLAB經(jīng)典數(shù)學(xué)建模教程Word版_第1頁
MATLAB經(jīng)典數(shù)學(xué)建模教程Word版_第2頁
MATLAB經(jīng)典數(shù)學(xué)建模教程Word版_第3頁
MATLAB經(jīng)典數(shù)學(xué)建模教程Word版_第4頁
MATLAB經(jīng)典數(shù)學(xué)建模教程Word版_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 1 節(jié) Matlab 基本知識 一、 Matlab 的主要功能Matlab是一種功能非常強大的工程語言,誕生于20世紀(jì)70年代,1984年正式推向市場。2002年8月,Matlab6.5開始發(fā)布。是進行科學(xué)研究和產(chǎn)品開發(fā)必不可少的工具。l 數(shù)值和符號計算矩陣(數(shù)組)的四則運算(MatrixLaboratory)、數(shù)值差分、導(dǎo)數(shù)、積分、求解微分方程、微分方程的優(yōu)化等l 數(shù)字圖像、數(shù)字信號處理l 工程和科學(xué)繪圖l 控制系統(tǒng)設(shè)計l 財務(wù)工程l 建模、仿真功能二、 Matlab 的界面1.命令窗口(Command Window):Matlab各種操作命令都是由命令窗口開始,用戶可以在命令窗口中輸入

2、Matlab命令,實現(xiàn)其相應(yīng)的功能。此命令窗口主要包括文本的編輯區(qū)域和菜單欄(如:四則運算;“;”禁止顯示變量的值;遍歷以前的命令)。在命令窗口空白區(qū)域單擊鼠標(biāo)右鍵,打開快捷菜單,各項命令功能如下:Evaluate Selection :打開所選文本對應(yīng)的表達式的值。Open Selection :打開文本所對應(yīng)的MatLab文件。Cut :剪切編輯命令。Paste :粘貼編輯命令。2. M-文件編輯/調(diào)試(Editor/Debugger)窗口Matlab Editor/Debugger窗口是一個集編輯與調(diào)試兩種功能于一體的工具環(huán)境。M-文件(函數(shù)文件)l 什么是M-文件:它是一種和Dos環(huán)境

3、中的批處理文件相似的腳本文件,對于簡單問題,直接輸入命令即可,但對于復(fù)雜的問題和需要反復(fù)使用的則需做成M文件(Script File)。l 創(chuàng)建M-文件的方法:Matlab命令窗的File/New/M-file。在Matlab命令窗口運行edit。l M文件的擴展名: *.ml 執(zhí)行M-文件:F5l M文件的調(diào)試 選擇Debug菜單,其各項命令功能如下: Step :逐步執(zhí)行程序。Step in :進入子程序中逐步執(zhí)行調(diào)試程序。1 / 115Step out :跳出子程序中逐步執(zhí)行調(diào)試程序。run:執(zhí)行M-文件。Go Until Cursor :執(zhí)行到光標(biāo)所在處。Exit Debug Mode

4、 :跳出調(diào)試狀態(tài)。l 函數(shù)文件的創(chuàng)建要求:文件名與函數(shù)名必須相同,如sin(x)必有sin.m函數(shù)文件存在。要求實參和形參位置一一對應(yīng)。形參在工作空間中不會存在。可以編寫遞歸函數(shù),可以嵌套其他函數(shù)。可以用return命令返回,也可以執(zhí)行到終點返回3.工作空間(Workspace)窗口:顯示目前保存在內(nèi)存中的Matlab的數(shù)學(xué)結(jié)構(gòu)、字節(jié)數(shù)、變量名以及類型窗口。保存變量:File菜單Save Workspace as 命令行:save 文件名裝入變量:File菜單Import Data 命令行:Load 文件名4.現(xiàn)在目錄窗口(Current Directory) 5.命令歷史窗口(Command

5、 History ):提供先前使用過的函數(shù),可以復(fù)制或者再次執(zhí)行這些命令。Matlab幫助系統(tǒng) Matlab在命令窗口提供了可以獲得幫助的命令,用戶可以很方便的獲得幫助信息。例如:在窗口中輸入“help fft”就可以獲得函數(shù)“fft”的信息。常用的幫助信息有help ,demo ,doc ,who ,whos ,what ,which ,lookfor ,helpbrowser ,helpdesk ,exit ,web 等。三 、關(guān)于變量變量命名規(guī)則:l 變量名是不包含空格的單個詞l 變量名區(qū)分大小寫l 變量名必須以字母開頭的字母、數(shù)字、下劃線的組合,最多19個字符。l Matlab提供的標(biāo)

6、準(zhǔn)函數(shù)名均以小寫字母開頭特殊變量名:l ans 缺省變量名l pi 圓周率l i,j 虛數(shù)單位l eps 無窮小l inf ,Inf 無窮大 l realmax 最大正實數(shù)l realmin 最小正實數(shù)清除變量的值l clear l clear 變量名1 變量名2顯示駐留內(nèi)存的變量名l whol whos第 2 節(jié) Matlab編程一、 矩陣(數(shù)組)的輸入1、直接輸入直接按行方式輸入每個元素:同一行中的元素用逗號(,)或者用空格符來分隔,且空格個數(shù)不限;不同的行用分號(;)分隔。所有元素處于一方括號( )內(nèi);多維矩陣用多重方括弧??山?fù)數(shù)矩陣如: Null_M = %生成一個空矩陣可建立復(fù)數(shù)

7、矩陣R=1,2,3;4,5,6I=7,8,9;10,11,12Z=R+I*j2. 由M文件方式建立,今后使用鍵入M文件名即可建立相應(yīng)矩陣2、利用函數(shù)輸入 “:”表達式,產(chǎn)生等差行向量 start:step:end 或start:end(step1)如:t1:20產(chǎn)生等距輸入: linspace(a,b,n) 將a,b區(qū)間分成n1個等距小區(qū)間產(chǎn)生隨機排列: randperm(n) 產(chǎn)生1n之間整數(shù)的隨機排列3、特殊矩陣輸入zeros(n) 生成nn全零陣, zeros(a,b) 元素全為0的ab維矩陣, 以下各函數(shù)同理具有該類型。zeros(size(A) 生成與矩陣A相同大小的全零陣, one

8、s(a,b) 元素全為1的ab維矩陣eye(a,b) 對角線上的元素為1的ab維矩陣rand(a,b) 產(chǎn)生ab維均勻分布的隨機矩陣,其元素在(0,1)內(nèi)rand 無變量輸入時只產(chǎn)生一個隨機數(shù)randn(a,b)產(chǎn)生ab維正態(tài)分布的隨機矩陣4.矩陣的轉(zhuǎn)置和逆矩陣n X的轉(zhuǎn)置:X ( 圖像順時針旋轉(zhuǎn)90,并水平鏡像)如:a=imread(D:2-1.bmp);b=a;subplot(1,2,1),subimage(a),subplot(1,2,2),subimage(b)n X的逆矩陣 inv(X)二、 矩陣元素的訪問及其大小的確定訪問第n個元素: X(n)(n=1)訪問多個元素: X (n1,

9、n2,n3) 或 X(1:10)確定元素的個數(shù): numel(X)確定矩陣的大?。?m,n,l=size(X)三、 矩陣的算數(shù)運算l 數(shù)與矩陣的運算:m等價于m.mA : m與A中各元素相加mA : m與A中各元素相減mA : m與A中各元素相乘m. /A : m除以A中各元素 (沒有m/A)m A : A中各元素除以ml 矩陣與矩陣的運算AB: A、B對應(yīng)元素相加AB: A、B對應(yīng)元素相減AB: A、B矩陣按線性代數(shù)中矩陣乘法運算進行相乘(注意維數(shù)匹配)A.*B: A、B對應(yīng)元素相乘(注意維數(shù)相同)A / B: A除以B矩陣 (aAB1)(注意維數(shù)匹配)A./B: A除以B中各元素A B:

10、B除以A矩陣 (aA1B)(注意維數(shù)匹配)A.B: B除以A中各元素Am: 相當(dāng)于矩陣A矩陣A矩陣A.(m為小數(shù)即是矩陣的開方運算)(注意維數(shù)匹配)A.m:矩陣A中各元素的m次方A.B:矩陣A中各元素的進行B中對應(yīng)元素次方(注意維數(shù)相同)四、 關(guān)系運算、=、= =、 = 六種關(guān)系運算符。關(guān)系成立結(jié)果為1,否則為0。五、 邏輯運算設(shè)矩陣A和B都是mn矩陣或其中之一為標(biāo)量,在MATLAB中定義了如下的邏輯運算:&、|、xor(真為1,假為0)(1)矩陣的與運算格式 A&B或and(A, B)說明 A與B對應(yīng)元素進行與運算,若兩個數(shù)均非0,則結(jié)果元素的值為1,否則為0。(2)或運算格式 A|B或or

11、(A, B) 說明 A與B對應(yīng)元素進行或運算,若兩個數(shù)均為0,則結(jié)果元素的值為0,否則為1。(3)非運算格式 A或not (A)說明 若A的元素為0,則結(jié)果元素為1,否則為0。(4)異或運算格式 xor (A,B)說明 A與B對應(yīng)元素進行異或運算,若相應(yīng)的兩個數(shù)中一個為0,一個非0,則結(jié)果為0,否則為1。六、 集合運算1兩個集合的交集 intersect2檢測集合中的元素 ismember3兩集合的差 setdiff4兩個集合交集的非(異或)函數(shù) setxor5兩集合的并集 union6取集合的單值元素 unique七、 MatLab的控制流由各種語句構(gòu)成語句后面加“;”號,不顯示運算結(jié)果開頭

12、表示是注釋語句賦值語句變量表達式表達式 (相當(dāng)于將值付給ans變量)演示(三)for循環(huán)結(jié)構(gòu)【例】一個簡單的for循環(huán)示例。for i=1:10; %i依次取1,2,10,.x(i)=i; %對每個i值,重復(fù)執(zhí)行由該指令構(gòu)成的循環(huán)體,end; x %要求顯示運行后數(shù)組x的值。 x = 1 2 3 4 5 6 7 8 9 10 while循環(huán)結(jié)構(gòu)【例】Fibonacci數(shù)組的元素滿足Fibonacci 規(guī)則: ,;且。現(xiàn)要求計算出該數(shù)組中第一個大于10000的元素。a(1)=1;a(2)=1;i=2;while a(i)8 sums=number*0.95*cost;end,sums sums

13、= 114.0000 【例2】用for循環(huán)指令來尋求Fibonacc數(shù)組中第一個大于10000的元素。n=100;a=ones(1,n);for i=3:n a(i)=a(i-1)+a(i-2); if a(i)=10000 a(i), break; %跳出所在的一級循環(huán)。 end;end,i ans = 10946i =21 switch-case結(jié)構(gòu)【例】學(xué)生的成績管理,演示switch結(jié)構(gòu)的應(yīng)用。clear; %劃分區(qū)域:滿分(100),優(yōu)秀(90-99),良好(80-89),及格(60-79),不及格( diff( cos(x) ) % differentiate cos(x) wit

14、h respect to xans=-sin(x) M=sym( a,b;c,d ) % create a symbolic matrix MM=a,bc,d注意:1.建立符號數(shù)組時,最好用上函數(shù)sym2.許多符號函數(shù)可以自動將字符轉(zhuǎn)變?yōu)榉柋磉_式。例如diff cos(x) 也可以, diff x2+3*x+5 % the argument is equivalent to x2+3*x+5 l 符號變量是符號表達式中的變量,如:x+3*y+z中的x,y,z。l 獨立變量是當(dāng)符號表達式中含有多于一個的變量時,只有一個變量是獨立變量。缺省的獨立變量是x,如果沒有x,則選擇最靠近x的作為獨立變量

15、。如表達式 1/(5+cos(x) 中是 x ;在 3*y+z 中是 y ;在 a+sin(t) 是 t ,而表達式 sin(pi/4)-cos(3/5) 是一個符號常數(shù)無符號變量??衫煤瘮?shù)symvar詢問MATLAB在符號表達式中哪一個變量它認為是獨立變量(系統(tǒng)找不到一個獨立變量,便假定無獨立變量并返回x)。 symvar( a*x+y*) % find the default symbolic variableans=x symvar( a*t+s/(u+3) ) % u is the closest to x ans=u symvar( sin(omega) ) % omega is

16、not a singlee character。ans=x symvar( 3*i+4*j ) % i and j are equel to sqrt(-1)ans=x指定獨立變量: diff( xn ) % differentiate with respect to the default variable x ans=xn*n/x diff( xn , n ) % differentiate xn with respect to n ans=xn*log(x) diff( sin(omega) ) % differentiate using the default variables (x

17、)ans=0 diff( sin(omega) , omega ) % specify the independent variableans=cos(omega)第 2 節(jié) 符號表達式運算(目的:更方便的構(gòu)造符號表達式)標(biāo)準(zhǔn)代數(shù)運算:symadd、symsub、symlnul、symdiv:分別為加、減、乘、除兩個表達式sympow:將一個表達式上升為另一個表達式的冪次例如:給定兩個函數(shù) f= 2*x2+3*x-5 % define the symbolic expressionf=2*x2+3*x-5 g= x2-x+7 g=x2-x+7 symadd(f,g) % find an exp

18、ression for f+g ans=3*x2+2*x+2 symsub(f,g) % find an expression for f-gans=x2+4*x-12 symmul(f,g) % find an expression for f*gans=(2*x2+3*x-5)*(x2-x+7) symdiv(f,g) % find an expression for f/gans=(2*x2+3*x-5)/(x2-x+7) sympow(f,3*x) % find an expression for ans = (2*x2+3*x-5)(3*x)聯(lián)接運算:symop:取由逗號隔開的、多至

19、16個參量。各個參量可為符號表達式、數(shù)值或算子( + 、 - 、*、 / 、 、 ( 或 ) ),然后symop可將參量聯(lián)接起來,返回最后所得的表達式. f= cos(x) % create an expressionf=cos(x) g= sin(2*x) % create another expressiong=sin(2*x) symop(f,/ ,g,+,3) % combine themans=cos(x)/sin(2*x)+3高級運算:compose:把f(x)和g(x)復(fù)合成f(g(x);finverse: 求函數(shù)的逆函數(shù);symsum:求表達式的序列和。l compose給定表

20、達式 syms x y u v f = 1/(1 + x2); g = sin(y); h = 1/(1+u2); k= sin(v);% create the four expression compose(f,g) % find an expression for f(g(x)ans=1/(1+sin(y)2) compose(g,f) % find an expression for g(f(x)ans=sin(1/(1+x2)用于含有不同獨立變量的函數(shù)表達式: compose(h,k,u,v) % given h(u),k(v),find(k(v) compose(h,k) % 結(jié)果一

21、樣ans=1/(1+sin(v)2)l finverse表達式譬如f(x)的函數(shù)逆g(x),滿足g(f(x)=x。例如,的函數(shù)逆是ln(x),因為ln()=x。sin(x)的函數(shù)逆是arcsin(x),函數(shù)的函數(shù)逆是arcsin。函數(shù)finverse返回表達式的函數(shù)逆。如果解不是唯一就給出警告。 syms x a b c d z finverse(1/x) % the inverse of 1/x is 1/x since 1/(1/x)=x ans=1/x finverse(x2 ) % g(x2)=x has more than one solutionWarning: finverse(

22、x2) is not uniqueans=x(1/2) finverse(a*x+b ) % find the solution to g(f(x)=x ans=-(b-x)/a finverse( a*b+c*d-a*z , a ) % find the solution to g(f(a)=a ans=-(c*d-a)/(b-z)l symsum求表達式的序列和有四種形式:symsum(f)返回;symsum(f, s )返回,symsun(f,a,b)返回;symsun(f, s ,a,b)返回。1. ,它應(yīng)返回: 。 syms n x 一定要定義符號變量,即使是x symsum(x2)

23、ans=1/3*x3-1/2* x2+1/6*x2. ,它應(yīng)返回。 symsum(2*n-1)2,1,n)ans=11/3*n+8/3-4*(n+1)2+4/3*(n+1)33.,返回應(yīng)是。 syms n symsum( 1/(2*n-1)2,1,inf)ans=1/8*pi2變量替換:subs 將某個符號變量用另一個符號變量來表示。格式:subs(f,old,new)如: f= a*x2+b*x+c % create a function f(x)f=a*x2+b*x+c subs(f,x,s) % substitute s for x in the expression f ans=a*s

24、2+b*s+c subs(f,a,alpha) % substitute alpha for a in f ans=alpha*x2+b*x+c求符號表達式的函數(shù)值為了得到數(shù)字,需要使用函數(shù)eval 來轉(zhuǎn)換字符串。 syms x f=symsum(x2) x=2 eval(f)第 3 節(jié) 微積分(Calculus)函數(shù)微分和積分廣泛地用在許多工程學(xué)科,這部分的主要函數(shù)有:diff():Differentiate.(微分)Int():Integrate(積分)Jacobian():Jacobian matrix(雅可比行列式)Limit():Limit of an expression.(極限)

25、Symsum():Summation of series(序列和)Taylor():Taylor series expansion(泰勒級數(shù))微分和差分:diff f= a*x3+x2-b*x-c % define a symbolic expressionf=a*x3+x2-b*x-c diff(f) % differentiate with respect to the default variable xans=3*a*x2+2*x-b diff(f,a ) % differentiate with respect to aans=x3 diff(f,2) % differentiate

26、 twice with respect to xans=6*a*x+2 diff(f, a ,2) % differentiate twice with respect to aans=0 m=(1: 8).2) % create a vectorM=1 4 9 16 25 36 49 64 diff(M) % find the differences between elementsans=3 5 7 9 11 13 15 如果diff的表達式或可變參量是數(shù)值,MATLAB就非常巧妙地計算其數(shù)值差分;如果參量是符號字符串或變量,MATLAB就對其表達式進行微分。積分int:格式:int(f)

27、,其中f是一符號表達式,它力圖求出另一符號表達式F使diff(F)=f。注意:積分或逆求導(dǎo)不一定是以封閉形式存在,或存在但軟件也許找不到,或者軟件可明顯地求解,但超過內(nèi)存或時間限制。當(dāng)MATLAB不能找到逆導(dǎo)數(shù)時,它將返回未經(jīng)計算的命令。 int( log(x)/exp(x2) ) % attempt to integrateans=log(x)/exp(x2)積分函數(shù)的多種形式:int(f):相對于缺省的獨立變量x求逆導(dǎo)數(shù)int(f, s ):相對于符號變量s積分int(f,a,b)和int(f, s ,a,b):a,b是數(shù)值,求解符號表達式從a到b的定積分int(f, m , n )和形式

28、int(f, s , m , n ):其中m,n是符號變量,求解符號表達式從m到n的定積分。 f= sin(s+2*x) % crate a symbolic functionf=sin(s+2*x) int(f) % integrate with respect to xans=-1/2*cos(s+2*x) int(f, s ) % integrate with respect to sans=-cos(s+2*x) int(f,pi/2,pi) % integrate with respect to x from /2 to ans=-cos(s) int(f, s ,pi/2,pi)

29、% integrate with respect to s from /2 to ans=2*cos(x)2-1-2*sin(x)*cos(x) int(f, m , n ) % integrate with respect to x from m to nans=-1/2*cos(s+2*n)+1/2*cos(s+2*m)diff 和 int 均可以對符號數(shù)組的每一個元素進行運算。 F=sym( a*x,b*x2;c*x3,d*s ) % create a symbolic array F = a*x, b*x2 c*x3, d*s int(F) % ubtegrate the array

30、elements with respect to xans=1/2*a*x2,1/3*b*x31/4*c*x4, d*s*x第 4 節(jié) 數(shù)字信號處理常用Matlab函數(shù)簡介一、 典型離散信號表示方法1.單位沖擊序列(n)(n)可以用zero函數(shù)來實現(xiàn):x=zeros(1,N);x(1)=1;2.單位階躍序列u(n) 可以用ones函數(shù)來實現(xiàn) X=ones(1,N);3.正弦序列 n=0:N-1;x=A*sin(2*pi*f*n*Ts);4.指數(shù)序列 N=1:N; X=a.*n;5.復(fù)指數(shù)序列n=0:N-1;x=exp(j*w*n);6.隨機序列 Rand(1,N) :產(chǎn)生0,1上的均勻分布的隨

31、機序列; Rand(1,N) :產(chǎn)生均值為0,方差為1的高斯隨機序列,即白噪聲序列。二、 濾波器分析與實現(xiàn) 濾波器分析與實現(xiàn)常用函數(shù)abs求絕對值angle求相角conv求卷積conv2求二維卷積deconv翻卷積f1 filt重疊相加法fft濾波器實現(xiàn)filter直接濾波器實現(xiàn)filter2二位數(shù)字濾波器filtfilt零相位數(shù)字濾波器filticFilter初始條件選擇freqs模擬濾波器頻率響應(yīng)freqspace畫出頻率響應(yīng)曲線freqz數(shù)字濾波器頻率響應(yīng)freqzplot畫出頻率響應(yīng)曲線gGrpdelay平均濾波延遲latcfilt格型濾波實現(xiàn)impz數(shù)字濾波器中的單位沖擊響應(yīng)medf

32、ilt1一維中值濾波sosfilt二次分式濾波器實現(xiàn)zplane離散系統(tǒng)零、極點圖upfirdn上抽樣unwrap去除相位1. absy=abs(x) 計算x的絕對值,當(dāng)x為復(fù)數(shù)時,其算其模值。當(dāng)x為字符串時,計算各個字符的ASCII碼。2. angle = angle(h) 計算復(fù)矢量或者復(fù)矩陣的相角(以弧度為單位),相角介于-之間。convc=conv(a,b) 對序列a,b進行卷積運算。filtery=filter(b,a,x)計算輸入信號x的濾波器輸出,向量a,b分別是所采用的濾波器的分子系數(shù)向量和濾波器的分母向量。y,zf=filter(b,a,x,zi) 參數(shù)zi指定濾波器的初始條

33、件,其大小為zi=max(length(a),length(b)-1y=filter(b,a,x,zi,dim) dim指定濾波器的維數(shù)。zi或表示空集。5. impzh,t=impz(b,a)返回參數(shù)h是沖擊相應(yīng)的數(shù)值;返回t是沖擊相應(yīng)的抽樣時間間隔。h,t=impz(b,a,N) N用來制定沖激信號長度。如果N是一個整數(shù)向量,只返回N元素所對應(yīng)時刻的抽樣數(shù)值的沖擊結(jié)果。N為,表示不制定沖激信號的長度,其長度與濾波器結(jié)構(gòu)保持一致。h,t=impz(b,a,N,fs)Fs用來指定沖擊信號的抽樣頻率,默認值是。三、 信號變換常用變換函數(shù)cztChirp z變換dct離散余弦變換dftmtx離散傅

34、里葉變換fft一維快速傅里葉變換fft2二維快速傅里葉變換fftshift重新排列fft輸出HilbertHilbert變換idct離散余弦反變換ifft一維快速傅里葉反變換ifft2二維快速傅里葉反變換 fftY=fft(X)若X是向量,則采用傅里葉變換求解X離散傅里葉變換;若X是矩陣,則計算該矩陣每一列的離散傅里葉變換。Y=fft(X,N)N是進行離散傅里葉變換的X的數(shù)據(jù)長度,可以通過對X進行補或截取來實現(xiàn)。Y=fft(X,dim)在參數(shù)dim指定的維上進行傅里葉變換。X是矩陣時,dim用來指變換的實施方向:dim,表明變換按列進行;dim,表明變換按行進行。第 5 節(jié) 方程求解一、 求解

35、單個變量的代數(shù)方程:利用 solve函數(shù)1.沒有號的表達式,用solve將其置成等于0。 solve( a*x2+b*x+c ) % solve for the roots of the quadratic equtionans=1/2/a*(-b+(b2-4*a*c)1/2)1/2/a*(-b-(b2-4*a*c)1/2)注:方程有2個解。2.對其他非缺省變量求解,在 solve 中指定出該變量。 solve( a*x2+b*x+c , b ) % solve for bans=-(a*x2+c)/x3.對帶有等號的方程求解。 f=solve( cos(x)=sin(x) ) % solve

36、 for xf=1/4*pi t=solve( tan(2*x)=sin(x) )t = 0 pi atan(1/2*(-2*3(1/2)(1/2),1/2+1/2*3(1/2) atan(-1/2*(-2*3(1/2)(1/2),1/2+1/2*3(1/2) atan(1/2*2(1/2)*3(1/4)/(1/2-1/2*3(1/2)+pi -atan(1/2*2(1/2)*3(1/4)/(1/2-1/2*3(1/2)-pi二、 單個常微分方程求解:利用 dsovle函數(shù)dsovle 函數(shù)的句法:用字母D來表示求微分,D2,D3等等表示二階、三階微分,并以此來設(shè)定方程。任何D后所跟的字母為因

37、變量。方程=0用符號表達式D2y=0來表示。獨立變量可以指定或由symvar規(guī)則選定為缺省。例1,求一階方程dy/dx=1+y2的解,其通解為: dsolve( Dy=1+y2 ) % find the general solutionans=tan(t+C1) C1是積分常數(shù)給定初值y(0)=1的方程的解: dsolve(Dy=1+y2 , y(0)=1 ) % add an initial conditiony=tan(t+1/4*pi)指定獨立變量: dsolve( Dy=1+y2 , y(0)=1 , v ) % find solution to dy/dvans=tan(v+1/4*

38、pi)例2:求二階微分方程的解,方程有兩個初始條件: =cos(2x)-y (0)=0 y(0)=1 y=dsolve(D2y=cos(2*x)-y , Dy(0)=0 , y(0)=1 ,x)y=(1/6*cos(3*x)-1/2*cos(x)*cos(x)+(1/2*sin(x)+1/6*sin(3*x)*sin(x)+4/3*cos(x) y=simple(y) % y looks like it can be simplifiedy=-1/3*cos(2*x)+4/3*cos(x)例3:求解下列形式的微分方程-y=0通解為: y=dsolve( D2y-2*Dy-3*y=0 ,x)y

39、=C1*exp(-x)+C2*exp(3*x)加上初始條件:y(0)=0和y(1)=1可得到: y=dsolve( D2y-2*Dy-3*y=0 ,y(0)=0,y(1)=1,x)y=1/(exp(-1)-exp(3)*exp(-x)-1/(exp(-1)-exp(3)*exp(3*x) y=simple(y) % this looks like a candidate for simplificationy=(exp(-x)-exp(3*x)/(exp(-1)-exp(3) pretty(y) % pretty it up exp(-x)-exp(3 x)- - exp(3) -exp(-1

40、)小結(jié)下列各表綜合了符號數(shù)學(xué)工具箱的特性: 符號表達式的運算eval符號到數(shù)值的轉(zhuǎn)換Pretty顯示悅目的符號輸出Subs替代子表達式Sym建立符號矩陣或表達式Symadd符號加法Symdiv符號除法Symmul符號乘法Symop符號運算Sympow符號表達式的冪運算Symrat有理近似Symsub符號減法Symvar求符號變量符號表達式的簡化Collect合并同類項Expand展開Factor因式Simple求解最簡形式Simplify簡化symsum 和級數(shù)符號多項式Charpoly特征多項式Horner嵌套多項式表示Numden分子或分母的提取poly2sym多項式向量到符號的轉(zhuǎn)換sym2poly符號到多項式向量的轉(zhuǎn)換符號微積分Diff微分Int積分Jordan約當(dāng)標(biāo)準(zhǔn)形Taylor泰勒級數(shù)展開符號可變精度算術(shù)Digits設(shè)置可變精度Vpa可變精度計算求解符號方程Compose函數(shù)的復(fù)合Dsolve微分方程的求解Finverse函數(shù)逆Linsolve齊次線性方程組的求解Solve代數(shù)方程的求解符號線性代數(shù)Charploy特征多項式Determ矩陣行列式的值Eigensys特征值和特征向量Inverse矩陣逆Jordan約當(dāng)標(biāo)準(zhǔn)形Linsolve齊次線性方程組的解Transpose矩陣的轉(zhuǎn)置離散信號的表

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論