資源描述:
《《matlab符號運算》ppt課件》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第5章Matlab符號運算符號運算基礎微分運算積分運算積分變換求解方程——matlab不僅具有數(shù)值運算功能,還開發(fā)了在matlab環(huán)境下實現(xiàn)符號運算的工具包SymbolicMathToolbox要求理解matlab數(shù)值運算與符號運算的不同;學會建立符號對象并應用相應對象進行各種符號運算以求得解析結果;重點:符號表達式的運算,符號方程求解。難點:符號微積分和積分變換。本章要求5.1符號運算基礎符號對象的創(chuàng)建基本的符號運算符號運算的基本操作什么是符號運算?與數(shù)值運算的區(qū)別※數(shù)值運算中必須先對變量賦值,然
2、后才能參與運算?!栠\算無須事先對獨立變量賦值,運算結果以標準的符號形式表達。特點:?運算對象可以是沒賦值的符號變量?可以獲得任意精度的解SymbolicMathToolbox——符號運算工具包通過調(diào)用Maple軟件實現(xiàn)符號計算的。maple軟件——主要功能是符號運算,它占據(jù)符號軟件的主導地位。一.符號對象1.建立符號變量和符號常數(shù)(1)sym函數(shù)sym函數(shù)用來建立單個符號量,例如,a=sym('a')建立符號變量a,此后,用戶可以在表達式中使用變量a進行各種運算??疾旆栕兞亢蛿?shù)值變量的差別在M
3、ATLAB命令窗口,輸入命令:a=sym(‘a(chǎn)’);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的行列式比較符號常數(shù)與數(shù)值在代數(shù)運算時的差別。在MATLAB命令窗口,輸入命令:pi1=sym('pi');k1=sym('8');k2=sym('2');k3=sym('
4、3');%定義符號變量pi2=pi;r1=8;r2=2;r3=3;%定義數(shù)值變量A1=sin(pi1/3)%計算符號表達式值A2=sin(pi2/3)%計算數(shù)值表達式值A3=sqrt(k1)%計算符號表達式值A4=sqrt(r1)%計算數(shù)值表達式值A5=sqrt(k3+sqrt(k2))%計算符號表達式值A6=sqrt(r3+sqrt(r2))%計算數(shù)值表達式值(2)syms函數(shù)syms函數(shù)的一般調(diào)用格式為:symsvar1var2…varn函數(shù)定義符號變量var1,var2,…,varn等。用這種
5、格式定義符號變量時,變量間用空格而不要用逗號分隔。2.建立符號表達式建立符號表達式有以下2種方法:(1)用sym函數(shù)建立符號表達式。(2)使用已經(jīng)定義的符號變量組成符號表達式?;镜姆栠\算(1).符號表達式的四則運算符號表達式的四則運算和其他表達式的運算并無不同,但要注意,其運算結果依然是一個符號表達式。(2).符號表達式的提取分子和分母運算如果符號表達式是一個有理分式或可以展開為有理分式,可利用numden函數(shù)來提取符號表達式中的分子或分母。其一般調(diào)用格式為:[n,d]=numden(s)該函數(shù)
6、提取符號表達式s的分子和分母,分別將它們存放在n與d中。(3).因式分解與展開collect(f)對f合并同類項,f是符號表達式或符號矩陣。collect(f,v)對f按變量v合并同類項,f是符號表達式或符號矩陣。expand(f)對f進行展開,f是符號表達式或符號矩陣。factor(f)對f分解因式,f是符號表達式或符號矩陣。(4).符號表達式與數(shù)值表達式之間的轉換利用函數(shù)sym可以將數(shù)值表達式變換成它的符號表達式。函數(shù)eval可以將符號表達式變換成數(shù)值表達式。(5).符號矩陣transpose(
7、s)返回s矩陣的轉置矩陣。det(s)返回s矩陣的行列式值。colspace(s)返回s矩陣列空間的基。5.2微分運算符號函數(shù)的極限符號函數(shù)的微分符號泰勒級數(shù)展開limit函數(shù)的調(diào)用格式為:limit(f,x,a)f:函數(shù)x:變量a:逼近值limit函數(shù)的另一種功能是求單邊極限,其調(diào)用格式為:limit(f,x,a,'right')或limit(f,x,a,'left')求極限例子在MATLAB命令窗口,輸入命令:symsamx;f=(x^(1/m)-a^(1/m))/(x-a);limit(f,x
8、,a)%求極限f=(sin(a+x)-sin(a-x))/x;limit(f)%求極限limit(f,inf)%求f函數(shù)在x→∞(包括+∞和-∞)處極限limit(f,x,inf,'left')%求極限f=(sqrt(x)-sqrt(a)-sqrt(x-a))/sqrt(x*x-a*a);limit(f,x,a,'right')%求極限符號函數(shù)的微分MATLAB中的微分函數(shù)為:diff(f,x,n)diff函數(shù)求函數(shù)f對變量x的n階導數(shù)。參數(shù)x的用法同求極限函數(shù)lim