Matlab學(xué)習(xí)指導(dǎo)第二章-符號運算解讀課件_第1頁
Matlab學(xué)習(xí)指導(dǎo)第二章-符號運算解讀課件_第2頁
Matlab學(xué)習(xí)指導(dǎo)第二章-符號運算解讀課件_第3頁
Matlab學(xué)習(xí)指導(dǎo)第二章-符號運算解讀課件_第4頁
Matlab學(xué)習(xí)指導(dǎo)第二章-符號運算解讀課件_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章符號計算11/27/20231符號計算功能matlab自產(chǎn)生起就在數(shù)值計算上功能卓著,深受各專業(yè)計算人員的歡迎.但由于在數(shù)學(xué),物理等各種科研和工程應(yīng)用中經(jīng)常會遇到符號運算的問題.為此,公司于1993年購買了Maple軟件的使用權(quán),并在此基礎(chǔ)上,開發(fā)了符號計算工具箱(SymbolicToolbox)MATLAB中實現(xiàn)符號計算功能的三種途徑1)調(diào)用matlab自己開發(fā)的各種功能函數(shù)進行常用的符號運算.包括符號表達式與符號矩陣的基本操作,符號矩陣的運算,符號微積分,符號線性方程求解,符號微分方程求解等.2)為了特殊專業(yè)人員提供方便,matlab還保留mpa.m和maple.m兩個函數(shù)與Maple接口.3)符號函數(shù)計算器功能.11/27/20232符號運算與數(shù)值運算的區(qū)別:符號運算中,解算數(shù)學(xué)表達式、方程時,不是在離散化的數(shù)值點上進行,而是憑借一系列恒等式和數(shù)學(xué)定理,通過推理和演繹,獲得解析結(jié)果。這種計算建立在數(shù)值完全準確表達和推演嚴格解析的基礎(chǔ)上,所得結(jié)果是完全準確的。符號運算----代數(shù)運算,公式推導(dǎo)數(shù)值運算---算術(shù)運算代值11/27/202332.1符號對象和符號表達式在matlab中,數(shù)值和數(shù)值變量用于數(shù)值的存儲和各種數(shù)值計算.而符號常量,符號變量,符號函數(shù),符號操作等則是用來形成符號表達式,嚴格按照代數(shù),微積分等課程中的規(guī)則,公式進行運算,并盡可能給出解析表達式.2.1.1符號對象的生成和使用●

數(shù)值計算---變量先賦值,再使用.●

符號計算---先定義基本的符號對象(可以是常量,變量,表達式),然后用這些基本符號對象去構(gòu)成新的表達式,再進行所需的符號運算.11/27/20234符號對象的創(chuàng)建和衍生1.生成符號對象的基本規(guī)則①任何基本符號對象(數(shù)字、參數(shù)、變量、表達式)都必須借助專門的符號函數(shù)指令sym或syms定義。②任何包含符號對象的表達式或方程,將繼承符號對象的屬性。即任何包含符號對象的表達式、方程也一定是符號對象。11/27/20235符號對象的定義:f=sym(arg)---把數(shù)字,字符串或表達式arg轉(zhuǎn)為符號對象f=sym(argn,flagn)---把數(shù)值或數(shù)值表達式轉(zhuǎn)換為flagn格式的符號對象f=sym(1/2),s=sym(1/3),y=sym(pi),a=sym('b*c')f=1/2,s=1/3,y=pi,a=b*cf=sym(1/2,'d'),s=sym(1/3,'d'),y=sym(pi,'d')f=sym(1/2,'r')=sym(1/2)f=.50000000000000000000000000000000s=.3333333333333333148296162562473911/27/20236syms(‘a(chǎn)rgv1’,‘a(chǎn)rgv2’,‘a(chǎn)rgvk’)---把字符argv1,argv2,argvk定義為基本符號對象symsargv1argv2argvk---上述格式的簡潔形式,各符號對象間不得有逗號argv=sym(‘a(chǎn)rgv’,flagv)---按flagv指定的要求把字符串‘a(chǎn)rgv’定義為符號對象argvf=sym('pi'),s=sym('2*pi+sin(60*pi*180)+exp(2)')f=pi,s=2*pi+sin(60*pi*180)+exp(2)syms('a','b','c')a=a,b=b,c=csymsabca=a,b=b,c=c只能定義符號變量11/27/20237說明:?f=sym(argn,flagn)中的argn是數(shù)值或數(shù)值表達式時,flagn可選:‘d’---最接近的十進制浮點精確表示.‘r’---最接近的有理表示,缺省選項.有理是指用兩個正整數(shù)p,q構(gòu)成的p/q,p*pi/q,sqrt(p),2^q,10^q的形式之一.?argv=sym(‘a(chǎn)rgv’,flagv)中的‘a(chǎn)rgv’是字符時,flagv可取限定選項‘positive’---限定argv是“正,實”符號變量‘real’---限定argv是“實”符號變量.‘unreal’---argv是非實符號變量.11/27/202382符號數(shù)字的定義格式:sc=sym('num')

%sc為值為num的符號數(shù)字注意:i)單引號必須在英文狀態(tài)下輸入,構(gòu)成字符串ii)num為一個具體的數(shù)字如:

sc=sym(‘2/3')sb=sym('pi+sqrt(5)')sc=2/3sb=pi+sqrt(5)11/27/202393符號參數(shù)定義格式:i)symspara

para=sym('para')

symsa;a=sym('a')ii)symsparaflagpara=sym('para','flag')

symsapositive;a=sym('a','positive')iii)symsabcsymsabcflagflag為參數(shù)屬性:positive----參數(shù)取正實數(shù)real-----參數(shù)為實數(shù)unreal-----參數(shù)為限定的復(fù)數(shù)4符號變量表達式中的自變量無逗號11/27/202310推薦格式:◆定義符號變量:syms變量名symsabc◆定義符號常數(shù):常數(shù)名=sym(‘常數(shù)值’)K=sym(‘2/3’);◆定義符號常數(shù):表達式名=sym(‘表達式’);f=sym(‘a(chǎn)*sin(x)+b’);11/27/202311例2.1.1-1符號對象的生成a1=[1/3,pi/7,sqrt(5),sqrt(9),5.1,pi+sqrt(5)]<1>a2=sym([1/3,pi/7,sqrt(5),sqrt(9),5.1,pi+sqrt(5)])<2>a3=sym(‘[1/3,pi/7,sqrt(5),sqrt(9),5.1,pi+sqrt(5)]’)<3>a1=0.33330.44882.23613.00005.10005.3777a2=[1/3,pi/7,sqrt(5),3,51/10,q*2^(-50)]a3=[1/3,pi/7,sqrt(5),sqrt(9),5.1,pi+sqrt(5)]q=6054707603575008a23=a2-a3a23=[0,0,0,0,0,189209612611719/35184372088832-pi-5^(1/2)]11/27/202312例5.1.1-2把字符表達式轉(zhuǎn)換為符號變量y=sym('2*sin(x)*cos(x)')y=simple(y)

y=sin(2*x)說明:1)<1>是數(shù)值常數(shù),<2>是最接近的有理表示,<3>是絕對準確的符號數(shù)值表示2)<2><3>部分元素相同,是因為<2>中的那幾個元素是有理表示的基本形式,所以也是絕對準確的.3)<3>指令產(chǎn)生的符號數(shù)值總是絕對準確的,因此建議:在產(chǎn)生符號常量時應(yīng)優(yōu)先使用這種輸入方式,把數(shù)值放入單引號對中,數(shù)組元素間一定要采用逗號分隔在符號運算中,如果事先沒有對表達式中的獨立變量進行定義,那么系統(tǒng)將自動檢查哪些字符是符號函數(shù),哪些是符號變量,并且總是把在英文字母表中離x最近的字母認做獨立符號變量11/27/202313例2.1.1-3用符號計算驗證三角等式symsphi1phi2;y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2));y=sin(phi1-phi2)例2.1.1-4求矩陣的行列式,逆和特征值symsa11a12a21a22;A=[a11,a12;a21,a22];DA=det(A),IA=inv(A),EA=eig(A)A=[a11,a12][a21,a22]DA=a11*a22-a12*a2111/27/202314例2.1.1-4驗證積分symsAttaow;yf=int(A*exp(-i*w*t),t,-tao/2,tao/2);yf=simple(yf)yf=2*A*sin(1/2*tao*w)/w練習(xí):展開sin(4x)(expand)

11/27/2023152.1.2符號計算中的算符和基本函數(shù)由于新版matlab采用了重載技術(shù),使得用來構(gòu)成符號計算表達式的算符和基本函數(shù),無論在形狀,名稱,還是使用方法上,都與數(shù)值計算中的算符和基本函數(shù)幾乎完全相同,這給編程帶來極大的方便.(2)關(guān)系運算符在符號對象的比較中,沒有大于,大于等于,小于,小于等于的概念,而只有是否等于的概念.”==““~=“分別用來對算符兩邊的對象進行相等和不等的比較,返回為邏輯量(1)基本運算符算符”+”,”-”,”*”,”\”,“/”,“^”分別構(gòu)成矩陣的加,減,乘,左除,右除,求冪運算.算符”.*”,“./”,“.\”,“.^”分別實現(xiàn)元素對元素的數(shù)組乘,除,求冪運算.算符”'”,“.'”分別實現(xiàn)矩陣的共軛轉(zhuǎn)置,非共軛轉(zhuǎn)置11/27/202316(4)指數(shù),對數(shù)函數(shù)函數(shù)sqrt,exp,expm在兩者中用法相同.符號計算中只有自然對數(shù),而沒有數(shù)值計算中的log2,log10(5)復(fù)數(shù)函數(shù)conj,imag,real,abs在兩者中用法相同.但在符號計算中沒有求相角的指令.(6)矩陣代數(shù)指令在符號計算中,matlab提供的常用矩陣代數(shù)指令有:diag,triu,tril,inv,det,rank,rref,null,colspace,expm,poly,eig,svd(3)三角函數(shù),雙曲線函數(shù)以及他們的反函數(shù)除atan2只能用于數(shù)值計算外,另外的在兩種運算中使用方法相同.11/27/202317數(shù)值計算對象,符號計算對象,字符串是MATALB中最常用的數(shù)據(jù)對象.他們遵循各自不同的運算法則,但有時在外形上卻十分相似.MATLAB提供了一些識別不同數(shù)據(jù)對象的指令,常用的有class,isa,whos例2.1.3-1數(shù)據(jù)對象及其識別指令的使用(1)生成三種不同類型的矩陣,給出不同的顯示形式clear,a=1;b=2;c=3;d=4%產(chǎn)生四個數(shù)值變量Mn=[a,b,c,d]%利用已賦值變量構(gòu)成數(shù)值矩陣Mc=‘[a,b,c,d]’%字符串中的a,b,c,d與前面輸入的數(shù)值變量無關(guān)Ms=sym(Mc)%符號變量,與前面的各變量無關(guān)Mn=1234Mc=[a,b;c,d]Ms=[a,b][c,d]2.1.3對象類別的識別11/27/202318(2)三個矩陣的大小不同SizeMn=size(Mn),SizeMc=size(Mc),SizeMs=size(Ms)SizeMn=22SizeMc=19SizeMs=22(3)用class獲得每種矩陣的類別CMn=class(Mn),CMc=class(Mc),CMs=class(Ms)CMn=doubleCMc=charCMs=sym(4)用isa判斷每種矩陣的類別isa(Mn,‘double’),isa(Mc,'char'),isa(Ms,'sym')ans=1ans=1ans=111/27/202319(5)利用whos觀察內(nèi)存變量的類別和其他屬性

NameSizeBytesClassMc1x918chararrayMn2x232doublearrayMs2x2312symobjecta=0:1:6;theta=sym('30*pi/180*a')alfa=sym('30*pi/180')*atheta=30*pi/180*aalfa=[0,1/6*pi,1/3*pi,1/2*pi,2/3*pi,5/6*pi,pi]a與數(shù)組a無關(guān)11/27/2023202.1.4符號表達式中自由變量的確定findsym(expr)---確認表達式expr中所有自由符號變量findsym(expr,n)---從expr中確認出靠x最近的n個獨立自變量例2.1.4-1對獨立自由符號變量的自動辨認(1)生成符號變量symsabxXY;k=sym('3');z=sym('c*sqrt(delta)+y*sin(theta)');expr=a*z*X+(b*x^2+k)*Y;(2)找出expr中的全部自由符號變量findsym(expr)ans=X,Y,a,b,c,delta,theta,x,y11/27/202321(3)從expr中確定1,2,3個自由變量findsym(expr,1),findsym(expr,2),findsym(expr,3)ans=xans=x,yans=x,y,thetafindsym確認的是表達式中的”自由”,”獨立”的符號變量,由于k不是自由的,z不是獨立的,所以該指令不將其作為自由變量。該指令把expr表達式中n個最靠近x的自由符號變量確認為“獨立自由變量”,并且認為大寫字母離x的距離總大于所有小寫字母離x的距離.作用:在符號函數(shù)調(diào)用中,當沒有明確指定所針對的變量時,系統(tǒng)自動確定所操作的自由變量11/27/2023222.2符號對象的操作與轉(zhuǎn)換2.2.1符號表達式的操作collect合并同類項numden提取公因式expand展開指定項simplify恒等式簡化factor因式分解pretty習(xí)慣方式顯示horner轉(zhuǎn)換為嵌套形式simple簡化例2.2.1-1簡化symx;f=(1/x^3+6/x^2+12/x+8)^(1/3);g1=simple(f)g2=sinple(g1)g1=(2*x+1)/xg2=2+1/x驗證:f2=g2^3;expand(f2)11/27/202323例2.2.1-2因式分解9876542fx=sym('9876542');factor(fx)ans=(2)*(13)*(19)*(19993)

例2.2.1-3因式分解x12-1symsx;f=x^12-1;factor(f)例2.2.1-4pretty,horner的使用symsx;f=exp(-x);f1=taylor(f);pretty(f1)fh=horner(f1)ans=(x-1)*(x^2+x+1)*(x+1)*(1-x+x^2)*(x^2+1)*(x^4-x^2+1)11/27/202324f1=1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5

23451-x+1/2x-1/6x+1/24x-1/120x

fh=1+(-1+(1/2+(-1/6+(1/24-1/120*x)*x)*x)*x)*xexpand的使用symsxy;f=sin(x+y)u=expand(f)f=

sin(x+y)u=

sin(x)*cos(y)+cos(x)*sin(y)11/27/2023252.2.2置換操作作用:把復(fù)雜表達式中所含的多個相同子表達式用一個符號代替,使表達簡潔[RS,ssub]=subexpr(S,ssub)---運用符號變量ssub置換子表達式,重寫S為RS例2.2.2-1表達式置換symsabcdW;[V,D]=eig([a,b;c,d]);[RVD,W]=subexpr([V;D],W)說明:被置換的子表達式是機器自動尋找的,置換原則為,只有比較長的子表達式才被置換,比較短的子表達式,即使出現(xiàn)多次,也不被置換.1)子表達式置換操作指令格式:11/27/2023262)通用置換指令RES=subs(ES,old,new)---用new置換ES中的old后產(chǎn)生RESRES=subs(ES,new)---用new置換ES中的自由變量后產(chǎn)生RES例2.2.2-2subs置換規(guī)則示例(1)產(chǎn)生符號函數(shù)symsax;f=a*sin(x)+5;(2)符號變量置換f1=subs(f,'sin(x)',sym('y'))(3)符號常數(shù)置換f2=subs(f,{a,x},{2,sym(pi/3)})f1=a*y+5a=2x=pi/3,符號數(shù)字f2=3^(1/2)+5double(f2)代值11/27/202327(4)雙精度數(shù)值轉(zhuǎn)換(所有自由變量被雙精度數(shù)值取代)自定義函數(shù)的賦值f3=subs(f,[a,x],[2,pi/3])f3=6.7321(5)數(shù)值數(shù)組置換一(取a=2,x=0:pi/6:pi)f4=subs(subs(f,a,2),x,0:pi/6:pi)f4=5.006.006.737.006.736.005.00(6)數(shù)值數(shù)組置換二(取a=0:6,x=0:pi/6:pi)f5=subs(f,{a,x},{0:6,0:pi/6:pi})f5=5.005.506.738.008.467.505.0011/27/202328f6=subs(f,[a,x],{0:6,0:pi/6:pi})f6=5.005.506.738.008.467.505.00比較:f7=subs(f,[a,x],[2,pi/6])f8=subs(f,[a,x],[2,sym(pi/6)])6.732050807568883^(1/2)+5●subs指令的屬性取決于new的屬性,當new中全部為數(shù)值數(shù)字時,所得結(jié)果為雙精度數(shù)據(jù),當new中有符號數(shù)字時,所得結(jié)果也為字符數(shù)字?!駈ew可以是數(shù)組【說明】11/27/202329求n^0.5(n=1,2,….10)之值symsx;f=sqrt(x);res=subs(f,x,[1:1:10])?思考:如何求f=a*n^0.5+b(其中(a=2,3,4…11,n=1,2,3,…10,b=0.1,0.2,0.3,…1))的值11/27/202330例2.2.2-2猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個,第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

symsr;f=2*(r+1);u=f;fork=1:1:8u=subs(f,r,u);endtotal=subs(u,r,1)u=512*r+1022total=1534a(1)=1534;%驗算fork=2:1:10a(k)=a(k-1)/2-1;end11/27/2023312.2.3符號數(shù)值精度控制和任意精度的計算數(shù)值計算受計算機字長的限制,每次數(shù)值操作都帶有截斷誤差,因此任何數(shù)值計算不管采用什么算法都將產(chǎn)生積累誤差.在matlab中,每個算術(shù)操作結(jié)果的相對精度約為16位數(shù)字.但是符號計算的結(jié)果是絕對準確的,不包含任何計算誤差.符號計算中與數(shù)值精度計算有關(guān)的指令有:double(x)---把符號常數(shù)轉(zhuǎn)化為16位相對精度的浮點數(shù)值對象digits(n)---設(shè)置以后的數(shù)值計算以n位相對精度進行xs=vpa(x)---在digits指定精度下,給出x的數(shù)值型符號結(jié)果xsxs=vpa(x,n)---在n位相對精度下,給出x的數(shù)值型符號結(jié)果xs11/27/202332說明:●double指令運作所得結(jié)果一定是雙精度數(shù)值對象●除了vpa(x,n)對特定符號對象指定具體精度外,所有vpa(x)的精度都受到其前面的digits指令控制,digits指令缺省精度為32位●x可以是符號對象或數(shù)值對象,但運行后所得結(jié)果xs一定是符號對象11/27/2023332.2.4符號對象與其他數(shù)據(jù)對象間的轉(zhuǎn)換數(shù)值,符號,字符是matlab中三種不同的數(shù)據(jù)類型,matlab為每種數(shù)據(jù)類型提供了各自特定的生成指令和操作指令.為實現(xiàn)不同數(shù)據(jù)類型間的交互,matlab提供了一系列的轉(zhuǎn)換指令.

數(shù)值型符號結(jié)果符號常數(shù)數(shù)值符號量(表達式)字符串(表達式)

ASCII碼vpadoublevpasymdoublestr2num,str2double,sscanfint2str,num2str,mat2strcharsymcharabsdouble11/27/202334數(shù)值數(shù)字和符號數(shù)字之間的相互轉(zhuǎn)換1)數(shù)值數(shù)字

符號數(shù)字sk=sym(num,'flag')flag:r----數(shù)值類數(shù)字的廣義有理表達d---十進制浮點近似表達e---帶誤差的理性近似表達f---十六進制浮點近似表達PI=sym(pi,'r');PI=pi注意:在符號運算中,數(shù)值類數(shù)字會自動轉(zhuǎn)換為符號數(shù)字symst;y=1/3*sin(t)+2/4y=1/3*sin(t)+1/2sk=sym('num')sk=sym(num)11/27/202335PI=sym(pi,'d');PI=3.14159265358979311599796346854422)符號數(shù)字數(shù)值數(shù)字double(num_sym)PI=sym('pi');double(PI)ans=3.141611/27/2023362.2.5符號表達式的復(fù)合函數(shù)和反函數(shù)1)復(fù)合函數(shù)運算●compose(f,g)---返回復(fù)合函數(shù)f(g(y)),這里f=f(x),g=g(y)●compose(f,g,z)---返回自變量為z的復(fù)合函數(shù)f(g(z)),這里2)反函數(shù)●g=finverse(f)---返回符號函數(shù)f的反函數(shù)g,滿足g(f(x))=x●g=finverse(f,v)---返回自變量為v的符號函數(shù)f的反函數(shù)使得f=f(x),g=g(y)g(f(v))=v,當f包含不止一個符號變量時,使用這種格式.11/27/202337例2.2.5-1復(fù)合函數(shù)和反函數(shù)示例symsxy;f=1/x^3;g=tan(y);fg=compose(f,g)fin=finverse(fg)fg=1/tan(y)^3fin=atan(1/y^(1/3))11/27/2023382.3符號微積分1)符號極限limit(F,x,a)---計算F在xa時的極限limit(F,x,a,'left/right')---計算左/右極限例5.3-1極限示例symsx;f=3/(x^2+6);val1=limit(f,x,inf)val2=limit(f,x,0)val1=0val2=1/211/27/202339例已知f(x)=sin(|x|),求f'x(0),f'x(x)f(x)=sin(|x|)曲線圖11/27/202340symsx;symsdxpositive;x0=sym('0');f_p=sin(x);df_p=limit((subs(f_p,x,x+dx)-f_p)/dx,dx,0)df_p0=limit((sin(x0+dx)-sin(x0))/dx,dx,0)數(shù)學(xué)分析:f(x)=sin(|x|)11/27/202341繪圖要繪制原函數(shù)在x>0時的導(dǎo)函數(shù)曲線,應(yīng)先將導(dǎo)函數(shù)離散化,采用通用置換指令進行離散化deltx=pi/200;xx=0:deltx:2*pi;y=subs(df_p,x,xx);plot(xx,y);11/27/2023422)符號序列求和對于數(shù)學(xué)上的求和可用matlab的求和指令解決.其指令為:s=symsum(f,v,a,b)---求通式f字指定變量v取遍[a,b]中所有整數(shù)時的和.說明:●f是矩陣時,對矩陣的元素逐個求和,但自變量定義在整個矩陣上●v缺省時f中的自變量由findsym自動辨認;b可以取有限整數(shù),也可以取無窮大inf●a,b可同時缺省,此時默認求和的自變量區(qū)間為[0,v-1]11/27/202343例2.3-2求symsn;f=[n^2,1/n^2];s1=symsum(f(1),1,100)s2=symsum(f(2),1,inf)s1=338350s2=1/6*pi^211/27/202344例2.3-3求symskt;f1=[t,k^3];f2=[1/(2*k-1)^2,(-1)^k/k];s1=simple(symsum(f1));s2=simple(symsum(f2,1,inf))3)符號微分和Jacobian矩陣求導(dǎo)數(shù),高階導(dǎo)數(shù),偏導(dǎo)數(shù)和多元向量函數(shù)的Jacobian矩陣是數(shù)學(xué)分析的重要內(nèi)容,有機器實現(xiàn)求導(dǎo)的指令有:dfdvn=diff(f,v,n)--->求fjac=jacobian(f,v)--->求多元向量函數(shù)的Jacobian矩陣11/27/202345●f是矩陣時,求導(dǎo)對矩陣的元素逐個進行,但自變量定義在整個矩陣上.●v缺省時,自變量會自動由findsym確認,n缺省時,默認n=1●在數(shù)值計算中,指令diff是用來求差分的.●如f的Jacobian矩陣為說明:11/27/202346例2.3-4求symsatx;f=[a,t^3;t*cos(x),log(x)];df=diff(f),dfdt2=diff(f,t,2),dfdxdt=diff(diff(f,x),t)11/27/2023474)符號積分與數(shù)值積分相比,符號積分指令簡單,適應(yīng)性強,但可能占用機器時間很長.intf=int(f,v)--->f對v的不定積分intf=int(f,v,a,b)--->f對v的定積分說明:●當f是矩陣時,積分對矩陣的元素逐個進行●v缺省時,積分對findsym確認的變量進行●a,b分別是積分的上下限.例2.3-5求symsabx;f=[a*x,b*x^2;1/x,sin(x)];int(f)11/27/202348例2.3-6求積分symsxyz;f=x^2+y^2+z^2;s=int(int(int(f,z,sqrt(x*y),x^2*y),y,sqrt(x),x^2),x,1,2)第一重積分第二重積分11/27/202349ft=ilaplace(Fs,s,t)--->求頻域函數(shù)Fs的Laplace反變換ftFZ=ztrans(fn,n,z)--->求時域系列fn的Z變換FZfn=iztrans(FZ,z,n)--->求頻域系列FZ的Z變換fn5)符號積分變換傅立葉變換,拉普拉斯變換,Z變換在信號處理和系統(tǒng)動態(tài)特性研究中起著重要作用.Fw=fourier(ft,t,w)--->求時域函數(shù)ft的傅立葉變換Fwft=ifourier(Fw,w,t)--->求頻域函數(shù)Fw的傅立葉反變換ftFs=laplace(ft,t,s)--->求時域函數(shù)ft的Laplace變換Fs11/27/202350symsAttaoxw;Fw1=int(A*exp(-i*w*t),t,-tao/2,tao/2);Fw1=simple(Fw1)ft=exp(x-t)*exp(-i*w*t);Fw2=int(ft,t,x,inf)%被積變量不能省略11/27/2023512.4符號代數(shù)方程求解1)線性方程組的符號解矩陣計算是求解線性方程組最簡單有效的方法,在matlab中,不管數(shù)據(jù)對象是數(shù)值還是符號,實現(xiàn)矩陣運算的指令形式幾乎完全相同.例2.4-1求:d+n/2+p/2=q,n+d+q-p=10,q+d-n/4=p,q+p-n-8d=1線性方程組的解A=sym([1,1/2,1/2,-1;1,1,-1,1;1,-1/4,-1,1;-8,-1,1,1]);b=sym([0;10;0;1])x=A\b11/27/2023522)一般代數(shù)方程組的解這里所講的一般代數(shù)方程包括線性,非線性和超越方程等,求解指令為solve.S=solve('

eq1','

eq2',…,‘eqn’,‘v1’,‘v2’,…,’vn’)--->方程組指定變量的解(推薦格式)S=solve(exp1,exp2,…,expn,v1,v2,…,vn)--->方程組指定變量的解(可用格式)11/27/202353說明:●‘eq1’,‘eq2’,…,‘eqn’或是字符串表達的方程,或是字符串表達式.‘v1’,‘v2’,…,’vn’是字符串表達的求解變量名.●exp1,exp2,…,expn只能是符號表達式.v1,v2,…,vn是求解的符號變量.●如eq1,eq2,…,eqn是不含等號的表達式,則指令是對eq1=0,

eq2=0,…,eqn=0求解.●S是一個結(jié)構(gòu)數(shù)組,如要顯示求解結(jié)果,必須采用S.V1,S.V2,…,S.Vn的援引方式.11/27/202354例2.4-1求(x+2)x=2的解symsx;S=solve('(x+2)^x=2','x')解方程組:x+sin(y)=3/2x*sin(y)=1/2S=solve('x+sin(y)=3/2','x*sin(y)=1/2');S.x=[1][1/2]S.y=[1/6*pi][1/2*pi]11/27/2023552.5符號微分方程求解S=dsolve(‘eqn1’,‘eqn2’,…)--->符號微分方程組求解指令格式.說明:●輸入宗量包括三部分內(nèi)容:微分方程,初始條件,指定獨立變量.其中微分方程是必不可少的.其余可以沒有.●對于獨立變量,若要指定獨立變

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論