資源描述:
《《matlab符號計算》PPT課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第7章符號計算在科學(xué)研究和工程應(yīng)用中,除了存在大量的數(shù)值計算外,還有對符號對象進(jìn)行的運算,即在運算時無須事先對變量賦值,而將所得到結(jié)果以標(biāo)準(zhǔn)的符號形式來表示。MATLAB符號計算是通過集成在MATLAB中的符號運算工具箱(SymbolicMathToolbox)來實現(xiàn)的。應(yīng)用符號計算功能,可以直接對抽象的符號對象進(jìn)行各種計算,并獲得問題的解析結(jié)果?!颈菊聦W(xué)習(xí)目標(biāo)】●掌握符號對象的定義方法以及符號表達(dá)式的運算法則。●掌握微積分的符號計算方法。●掌握級數(shù)求和的方法以及將函數(shù)展開為泰勒級數(shù)的方法。●掌握代數(shù)方程和微分方程符號求解的方法。7.1符號對象及其運算MATLAB為用戶提供
2、了一種符號數(shù)據(jù)類型,相應(yīng)的運算對象稱為符號對象。例如,符號常量、符號變量以及有它們參與的數(shù)學(xué)表達(dá)式等。在進(jìn)行符號運算前首先要建立符號對象。7.1.1建立符號對象1.建立符號對象(1)sym函數(shù)sym函數(shù)用來建立單個符號量,一般調(diào)用格式為符號量名=?sym('符號字符串')該函數(shù)可以建立一個符號量,符號字符串可以是常量、變量、函數(shù)或表達(dá)式。例如:a=sym('a')%建立符號變量a符號變量參與運算前無須賦值,其結(jié)果是一個由參與運算的變量名組成的表達(dá)式。a=sym('a');%定義符號變量aw=a^3+3*a+10%符號運算w=a^3+3*a+10x=5;%定義數(shù)值變量xw=x^
3、3+3*x+10%數(shù)值運算w=150whos%查看內(nèi)存變量NameSizeBytesClassAttributesa1x1126symw1x18doublex1x18double(2)syms函數(shù)函數(shù)sym一次只能定義一個符號變量,使用不方便。MATLAB提供了另一個函數(shù)syms,一次可以定義多個符號變量。syms函數(shù)的一般調(diào)用格式為syms符號變量名1符號變量名2…符號變量名n用這種格式定義符號變量時不要在變量名上加字符串分界符('),變量間用空格而不要用逗號分隔。例如,用syms函數(shù)定義4個符號變量a、b、c、d,命令如下:symsabcd2.建立符號表達(dá)式含有符號對象的
4、表達(dá)式稱為符號表達(dá)式。建立符號表達(dá)式有以下2種方法。(1)用sym函數(shù)建立符號表達(dá)式。例如:U=sym('3*x^2-5*y+2*x*y+6')U=3*x^2-5*y+2*x*y+6F=sym('cos(x^2)-sin(2*x)=0')F=cos(x^2)-sin(2*x)=0M=sym('[a,b;c,d]')M=[a,b][c,d](2)使用已經(jīng)定義的符號變量組成符號表達(dá)式。例如:symsxy;V=3*x^2-5*y+2*x*y+6ans=3*x^2+2*y*x-5*y+61.符號表達(dá)式的四則運算符號表達(dá)式的四則運算與數(shù)值運算一樣,用+、?、*、/、^運算符實現(xiàn),其運算
5、結(jié)果依然是一個符號表達(dá)式。例如:f=sym('2*x^2+3*x-5')%定義符號表達(dá)式g=sym('x^2-x+7')f+gans=3*x^2+2*x+2f^gans=(2*x^2+3*x-5)^(x^2-x+7)2.符號表達(dá)式的提取分子和分母運算如果符號表達(dá)式是一個有理分式或可以展開為有理分式,可利用numden函數(shù)來提取符號表達(dá)式中的分子或分母。其一般調(diào)用格式為[n,d]=numden(s)該函數(shù)提取符號表達(dá)式s的分子和分母,分別將它們存放在n與d中。numden函數(shù)在提取各部分之前,將符號表達(dá)式有理化后返回所得的分子和分母。如果符號表達(dá)式是一個符號數(shù)組,numden返
6、回兩個新數(shù)組n和d,其中n是分子數(shù)組,d是分母數(shù)組。例如:h=sym('[3/2,(2*x+1)/3;a/x+a/y,3*x+4]');[n,d]=numden(h)n=[3,2*x+1][a*x+a*y,3*x+4]d=[2,3][x*y,1]3.符號表達(dá)式的因式分解與展開●factor(s):對符號表達(dá)式s分解因式?!馿xpand(s):對符號表達(dá)式s進(jìn)行展開?!馽ollect(s):對符號表達(dá)式s合并同類項?!馽ollect(s,v):對符號表達(dá)式s按變量v合并同類項。例如:symsxy;s1=x^3-y^3;factor(s1)%對s分解因式ans=(x-y)*(x^
7、2+x*y+y^2)s2=(-7*x^2-8*y^2)*(-x^2+3*y^2);expand(s2)%對s展開ans=7*x^4-13*x^2*y^2-24*y^4s3=(x+y)*(x^2+y^2+1)collect(s3,y)%對s按變量x合并同類項ans=y^3+x*y^2+(x^2+1)*y+x*(x^2+1)factor(sym(630))%對符號整數(shù)分解因式ans=2*3^2*5*74.符號表達(dá)式系數(shù)的提取c=coeffs(s[,x])該函數(shù)返回多項式中按指定變量升冪順序排列的系數(shù),若沒有