資源描述:
《matlab筆記之二---- 符號工具箱應用2》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、符號計算有兩個特點:1.運算對象和運算過程允許存在非數值的符號變量;2.可以獲得任意精度的數值解。A=sym('[a11,a12],[a21,a22]')inv(A)determ(A)eigensys(A)symsabcdA=[abcd;b-ad-c;c-d-ab;dc-b-a]A1=det(A)simple(A1)A1=simple(A1)SymbolicMathToolbox2.1版沿用數值計算的這種模式,規(guī)定:在進行符號計算時,首先要定義基本的符號對象(可以是常數、變量、表達式),然后利用這
2、些基本符號對象去構成新的表達式,進而從事所需的符號運算。在運算中,凡是由包含符號對象的表達式所生成的衍生對象也都是符號對象。定義基本符號對象的命令有兩個:sym,syms。它們常用的使用格式有:f=sym(arg)??把數字、字符串或表達式arg轉換為符號對象f。f=sym(argn,flagn)把數值或數值表達式argn轉換為flagn格式的符號對象。argv=sym(‘argv’,flagv)按flagv指定的要求把字符串‘argv’定義為符號對象argv。syms(‘argv1’,‘argv
3、2’,‘argvk’)把字符argv1argv2argvk定義為基本符號對象。symsargv1argv2argvk上述格式的簡潔形式y(tǒng)=sym('2*sin(x)*cos(x)')y=simple(y)symsfai1fai2y=simple(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2))在符號運算中,倘若事先沒對表達式中的獨立符號變量進行定義,那么MATLAB將會自動檢查哪些字符是符號函數,哪些是變量符號,且總把在英文字母表中離x最近的字母認作為獨立符號變量。
4、MATLAB采用了重載技術,使得用來構成符號計算表達式的算符和基本函數,無論在形狀、名稱上,還是在使用方法上,都與數值計算中的算符和基本函數幾乎完全相同。1基本運算符算符“+”,“-”,“*”,“”,“/”,“^”分別實現(xiàn)矩陣的加、減、乘、左除、右除、求冪運算。算符“.*”,“./”,“.”,“.^”分別實現(xiàn)“元素對元素”的數組乘、除、求冪。算符“’”,“.’”分別實現(xiàn)矩陣的共軛轉置、非共軛轉置。2關系運算符在符號對象的比較中,沒有“大于”、“大于等于”、“小于”、“小于等于”的概念,而只有是
5、否“等于”的概念。算符“==”,“~=”分別對算符兩邊的對象進行“相等”、“不等”的比較。當事實為“真”時,比較結果用1表示;當事實為“假”時,比較結果則用0表示。3三角函數、雙曲函數及它們的反函數除atan2僅能用于數值計算外,其余的三角函數(如sin)、雙曲函數(如cosh)及它們的反函數(如asin,acosh),無論在數值計算還是符號計算中,它們的使用方法相同。4指數、對數函數在數值、符號計算中,函數sqrt,exp,expm的使用方法完全相同。至于對數函數,符號計算中只有自然對數log(
6、即一般教材中用ln),而沒有數值計算中的log2,log10。5復數函數涉及復數的共軛conj、求實部real、求虛部imag和求模abs函數,在符號、數值計算中的使用方法相同。但注意,在符號計算中,MATLAB沒有提供求相角的命令。6??矩陣代數指令在矩陣計算中,MATLAB提供的常用矩陣代數指令有diag,triu,tril,inv,det,rank,rref,null,colspace,poly,expm,eig,svd。它們的用法幾乎與數值計算中的情況完全一樣,只有svd稍微不同。find
7、sym可以實現(xiàn)對表達式中所有自由變量或指定數目的獨立自變量的自動認定。具體如下:findsym(EXPR)確認表達式EXPR中所有“自由”符號“變量”。findsym(EXPR,N)從表達式EXPR中確認出靠x最近的N個獨立自變量。symsabxXYk=sym('3')z=sym('c*sqrt(delta)+y*sin(theta)')EXPR=a*z*X+(b*x^2+k)*Yfindsym(EXPR)findsym(EXPR,1)findsym(EXPR,2)findsym(EXPR,3)s
8、ymsabtuvxyA=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v]findsym(A,1)[RS,ssub]=subexpr(S,ssub)運用符號變量置換子表達式,重寫S為RS。symsabcdW[V,D]=eig([ab;cd])[RVD,W]=subexpr([V;D],W)被置換的子表達式是機器自動尋找的。其置換原則是:只有比較長的子表達式才被置換;至于比較短的子表達式,即便多次重復出現(xiàn),也不被置換。RES=subs(ES,old,new)用ne