資源描述:
《MATLAB_符號運算.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、MATLAB符號運算12符號運算什么是符號運算?直接對抽象的符號對象進行計算,結(jié)果以標(biāo)準(zhǔn)的符號形式來表示??梢垣@得比數(shù)值計算更一般的結(jié)果。符號運算的特點:運算以推理解析的方式進行,因此不受計算誤差積累問題困擾;計算結(jié)果或給出完全正確的封閉解,或給出任意精度的數(shù)值解(當(dāng)封閉解不存在時);符號計算指令的調(diào)用比較簡單,經(jīng)典教科書公式相近;計算所需時間較長,有時難以忍受。MATLAB符號運算是通過集成在MATLAB中的符號運算工具箱(symbolicmathtoolbox)來實現(xiàn)的。符號數(shù)學(xué)工具箱中的工具是建立在功能強大的稱作Maple軟件的基礎(chǔ)上。它最初是由加拿大的滑鐵盧(Waterloo
2、)大學(xué)開發(fā)的。當(dāng)要求MATLAB進行符號運算時,它就請求Maple去計算并將結(jié)果返回到MATLAB命令窗口。符號數(shù)學(xué)工具箱是操作和解決符號表達式的符號數(shù)學(xué)工具箱(函數(shù))集合,有符號表達式的運算,復(fù)合、簡化、微分、積分以及求解代數(shù)方程和微分方程的工具。3主要內(nèi)容符號計算基礎(chǔ)符號函數(shù)及其應(yīng)用符號積分級數(shù)符號方程求解其他常用命令4符號計算基礎(chǔ)MATLAB定義了一種符號數(shù)據(jù)類型運算對象為符號對象符號常量:無變量的符號表達式稱作符號常量符號變量符號表達式建立符號對象x=sym(‘x’)創(chuàng)建單個符號常量/變量x符號常量:x不為變量符號變量:x為字符、字符串、表達式或字符表達式syms用于方便地一
3、次創(chuàng)建多個符號變量,調(diào)用格式為:symsabcd.這種格式定義符號變量時不需要在變量名上加字符分界符('),變量間用空格而不要用逗號分隔。書寫簡潔意義清楚,建議使用。5符號計算基礎(chǔ)(續(xù))符號表達式含有符號對象的表達式稱為符號表達式MATLAB在內(nèi)部把符號表達式表示成字符串,以與數(shù)字變量或運算相區(qū)別;否則,這些符號表達式幾乎完全象基本的MATLAB命令。符號表達式例子以及MATLAB等效表達式符號表達式MATLAB表達式'1/(2*x^n)'y='1/sqrt(2*x)''cos(x^2)-sin(2*x)'M=sym('[a,b;c,d]')6符號計算基礎(chǔ)(續(xù))考察符號變量和數(shù)值變量
4、的差別例a=sym('a');b=sym('b');c=sym('c');d=sym('d');%定義4個符號變量w=10;x=5;y=-8;z=11;%定義4個數(shù)值變量A=[a,b;c,d]%建立符號矩陣AB=[w,x;y,z]%建立數(shù)值矩陣Bdet(A)%計算符號矩陣A的行列式det(B)%計算數(shù)值矩陣B的行列式7符號計算基礎(chǔ)(續(xù))比較符號常數(shù)與數(shù)值在代數(shù)運算時的差別例pi1=sym('pi');k1=sym('8');k2=sym('2');k3=sym('3');%定義符號變量pi2=pi;r1=8;r2=2;r3=3;%定義數(shù)值變量sin(pi1/3)%計算符號表達式值si
5、n(pi2/3)%計算數(shù)值表達式值sqrt(k1)%計算符號表達式值sqrt(r1)%計算數(shù)值表達式值sqrt(k3+sqrt(k2))%計算符號表達式值sqrt(r3+sqrt(r2))%計算數(shù)值表達式值8基本的符號運算(續(xù))基本的符號運算符號表達式的四則運算+,-,*,/。符號表達式的提取分子和分母運算numden因式分解與展開factor,expand表達式化簡simplify,simple符號表達式與數(shù)值表達式之間的轉(zhuǎn)換sym,numeric,eval9基本的符號運算(續(xù))符號表達式的四則運算符號表達式的四則運算和其他表達式的運算并無不同,但要注意,其運算結(jié)果依然是一個符號表
6、達式。10基本的符號運算(續(xù))例f=sym('2*x^2+3*x-5')g=sym('x^2-x+7')f+gf-gf*gf/gf^311基本的符號運算(續(xù))符號表達式的提取分子和分母運算(分式通分)如果符號表達式是一個有理分式或可以展開為有理分式,可利用numden函數(shù)來提取符號表達式中的分子或分母。其一般調(diào)用格式為:[n,d]=numden(s)該函數(shù)提取符號表達式s的分子和分母,分別將它們存放在n與d中。例對表達式f=x/y+y/x進行通分。symsxyf=x/y+y/x;[n,d]=numden(f)n=x^2+y^2d=y*x12基本的符號運算(續(xù))因式分解與展開facto
7、r(S)對S分解因式,S是符號表達式或符號矩陣。expand(S)對S進行展開,S是符號表達式或符號矩陣。collect(S)對S合并同類項,S是符號表達式或符號矩陣。collect(S,v)對S按變量v合并同類項,S是符號表達式或符號矩陣例1:對表達式f=x9-1進行因式分解。symsxf=factor(x^9-1)例2:對大整數(shù)12345678901234567890進行因式分解factor(sym('12345678901234567890'))13