資源描述:
《matlab教程符號計算》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、第2章符號計算所謂符號計算是指:解算數(shù)學(xué)表達(dá)式、方程不是在離散化的數(shù)值點(diǎn)上進(jìn)行,而是憑借一系列恒等式,數(shù)學(xué)定理,通過推理和演繹,力求獲得解析結(jié)果。這種計算建立在數(shù)值完全準(zhǔn)確表達(dá)和推演嚴(yán)格解析的基礎(chǔ)之上,因此所得結(jié)果是完全準(zhǔn)確的。本書之所以把符號計算內(nèi)容放在第2章,是出于以下考慮:一,相對于MATLAB的數(shù)值計算“引擎”和“函數(shù)庫”而言,符號計算的“引擎”和“函數(shù)庫”是獨(dú)立的。二,在相當(dāng)一些場合,符號計算解算問題的指令和過程,顯得比數(shù)值計算更自然、更簡明。三,大多數(shù)理工科的本科學(xué)生在學(xué)過高等數(shù)學(xué)和其
2、他專業(yè)基礎(chǔ)課以后,比較習(xí)慣符號計算的解題理念和模式。在編寫本章時,作者在充分考慮符號計算獨(dú)立性的同時,還考慮了章節(jié)的自完整性。為此,本章不但全面地闡述符號計算,而且在最后一節(jié)還詳細(xì)敘述了符號計算結(jié)果的可視化。這樣的安排,將使讀者在閱讀完本章后,就有可能運(yùn)用MATLAB的符號計算能力去解決相當(dāng)一些具體問題。2.1符號對象和符號表達(dá)式2.1.1符號對象的創(chuàng)建和衍生一生成符號對象的基本規(guī)則二符號數(shù)字【例2.1-1】符號(類)數(shù)字與數(shù)值(類)數(shù)字之間的差異。a=pi+sqrt(5)sa=sym('pi+s
3、qrt(5)')Ca=class(a)Csa=class(sa)vpa(sa-a)a=5.3777sa=pi+sqrt(5)Ca=doubleCsa=symans=.138223758410852e-16三符號參數(shù)四符號變量【例2.1-2】用符號計算研究方程的解。(1)symsuvwz37Eq=u*z^2+v*z+w;result_1=solve(Eq)%findsym(Eq,1)result_1=-u*z^2-v*zans=w(2)result_2=solve(Eq,z)result_2=1/2
4、/u*(-v+(v^2-4*u*w)^(1/2))1/2/u*(-v-(v^2-4*u*w)^(1/2))【例2.1-3】對獨(dú)立自由符號變量的自動辨認(rèn)。(1)symsabxXYk=sym('3');z=sym('c*sqrt(delta)+y*sin(theta)');EXPR=a*z*X+(b*x^2+k)*Y;(2)findsym(EXPR)ans=X,Y,a,b,c,delta,theta,x,y(3)findsym(EXPR,1)ans=x(4)findsym(EXPR,2),findsy
5、m(EXPR,3)ans=x,yans=x,y,theta【例2.1-4】findsym確定自由變量是對整個矩陣進(jìn)行的。symsabtuvxyA=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v]findsym(A,1)A=[a+b*x,sin(t)+u][x*exp(-t),log(y)+v]ans=x372.1.1符號計算中的算符2.1.2符號計算中的函數(shù)指令2.1.3符號對象的識別【例2.1-5】數(shù)據(jù)對象及其識別指令的使用。(1)cleara=1;b=2;c=3;d=4;
6、Mn=[a,b;c,d]Mc='[a,b;c,d]'Ms=sym(Mc)Mn=1234Mc=[a,b;c,d]Ms=[a,b][c,d](2)SizeMn=size(Mn)SizeMc=size(Mc)SizeMs=size(Ms)SizeMn=22SizeMc=19SizeMs=22(3)CMn=class(Mn)CMc=class(Mc)CMs=class(Ms)CMn=doubleCMc=charCMs=sym(4)isa(Mn,'double')isa(Mc,'char')isa(Ms,'
7、sym')ans=1ans=1ans=1(5)whosMnMcMsNameSizeBytesClassAttributes37Mc1x918charMn2x232doubleMs2x2312sym2.1符號數(shù)字及表達(dá)式的操作2.1.1數(shù)值數(shù)字與符號數(shù)字之間的轉(zhuǎn)換一數(shù)值數(shù)字向符號數(shù)字的轉(zhuǎn)換二符號數(shù)字向雙精度數(shù)字轉(zhuǎn)換2.1.2符號數(shù)字的任意精度計算【例2.2-1】digits,vpa指令的使用。digitsp0=sym('(1+sqrt(5))/2')pr=sym((1+sqrt(5))/2)%pd=
8、sym((1+sqrt(5))/2,'d')%e32r=vpa(abs(p0-pr))e16=vpa(abs(p0-pd),16)e32d=vpa(abs(p0-pd))Digits=32p0=(1+sqrt(5))/2pr=7286977268806824*2^(-52)pd=1.6180339887498949025257388711907e32r=.543211520368251e-16e16=0.e32d=.543211520368251e-162.1.3符號表達(dá)式的基本操