資源描述:
《matlab與數(shù)值分析課件:matlab符號計算(5).ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、補充:MATLAB的符號運算——matlab不僅具有數(shù)值運算功能,還開發(fā)了在matlab環(huán)境下實現(xiàn)符號計算的工具包SymbolicMathToolbox符號運算的功能符號表達式、符號矩陣的創(chuàng)建符號線性代數(shù)因式分解、展開和簡化符號代數(shù)方程求解符號微積分符號微分方程一、符號運算的基本操作什么是符號運算與數(shù)值運算的區(qū)別數(shù)值運算中必須先對變量賦值,然后才能參與運算。符號運算無須事先對獨立變量賦值,運算結(jié)果以標準的符號形式表達。特點:?運算對象可以是沒賦值的符號變量?可以獲得任意精度的解SymbolicMathT
2、oolbox——符號運算工具包通過調(diào)用Maple軟件實現(xiàn)符號計算的。maple軟件——主要功能是符號運算,它占據(jù)符號軟件的主導(dǎo)地位。2.符號矩陣的創(chuàng)建數(shù)值矩陣A=[1,2;3,4]A=[a,b;c,d]——不識別?用matlab函數(shù)sym創(chuàng)建符號變量(symbolic的縮寫)命令格式:A=sym(‘a(chǎn)rg‘):絕對準確的符號數(shù)值表示A=sym(arg):轉(zhuǎn)換,最接近的有理表示A=sym(‘a(chǎn)rg‘,flag)flag:限制性選項‘positive’正、實符號變量‘real’實符號變量‘unreal’非實
3、符號變量A=sym(arg,flag)flag:數(shù)值或數(shù)值矩陣轉(zhuǎn)化為符號的形式‘d’最接近的十進制浮點表示’r‘最接近的有理表示‘f’最接近的十六進制浮點表示‘e’估計誤差例如:A1=[1/3,pi/7,sqrt(5),pi+sqrt(5)]A2=sym(A1)A3=[sym('1/3'),sym('pi/7'),sym('sqrt(5)'),sym('pi+sqrt(5)')]A23=A2-A3多個符號變量的創(chuàng)建syms(‘符號變量1’,‘符號變量2’,…)syms符號變量1符號變量2…例:syms(
4、'x','y')y=simple(sin(x)*cos(y)-cos(x)*sin(y))err=sin(x)*cos(y)-cos(x)*sin(y)-sin(x-y)符號表達式的創(chuàng)建f=sym(‘表達式’)例如:f=sym('a*x^2+b*x+c')syms符號變量1符號變量2…f=表達式例如:symsabcxf1=a*x^2+b*x+c符號表達式的自由變量的確定:缺省時,以x為自由變量。在英文字母排列中,最靠近x的字母為自由變量。大寫字母比小寫字母離x更遠。用findsym(表達式)確認自由變量
5、。3符號表達式或矩陣的修改重新賦值。指令修改用A1=subs(A,‘old’,‘new’)來修改。用‘new’置換符號表達式A中的’old’得到新的符號表達式A1。例:symsab;A=[a,2*b;3*a,0]A(2,2)=4*bA=[a,2*b][3*a,4*b]A2=subs(A,'b','c')A2=[a,2*(c)][3*a,4*(c)]將數(shù)值矩陣轉(zhuǎn)化為符號矩陣函數(shù)調(diào)用格式:sym(A)A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.42860.4000sym(A)a
6、ns=[1/3,5/2][10/7,2/5]4符號矩陣與數(shù)值矩陣間的轉(zhuǎn)換將符號矩陣轉(zhuǎn)化為數(shù)值矩陣函數(shù)調(diào)用格式:double(A)numeric(A)A=[1/3,5/2][10/7,2/5]numeric(A)ans=0.33332.50001.42860.4000新版MATLAB采用了重載技術(shù),使得符號運算的算符和基本函數(shù)與數(shù)值運算中的算符和基本函數(shù)幾乎完全相同。所以符號運算操作指令都比較直觀、簡單。例1:f=2*x^2+3*x-5;g=x^2+x-7;symsxf=2*x^2+3*x-5;g=x^2
7、+x-7;h=f+gh=3*x^2+4*x-12二、符號運算例2:f=cos(x);g=sin(2*x);symsxf=cos(x);g=sin(2*x);f/g+f*gans=cos(x)/sin(x)+cos(x)*sin(x)符號運算與數(shù)值運算:關(guān)系運算符在符號對象的比較中,沒有“大于”、“大于等于”、“小于”、“小于等于”的概念,只有“等于”和“不等于”的概念?!埃剑健焙汀啊健比呛瘮?shù)、雙曲函數(shù)及它們的反函數(shù)除atan2不能用于符號運算外,其余均能用于符號運算。指數(shù)、對數(shù)函數(shù)log2,log1
8、0不能用于符號運算;對對數(shù)函數(shù),符號運算只有自然對數(shù)(log)。復(fù)數(shù)函數(shù)在符號運算中,沒有提供求相位的指令。其他的如共軛(conj)、求實部(real)等均可用于符號運算。符號運算中的矩陣函數(shù):ploy——特征多項式det——符號矩陣行列式的值eig——特征值和特征向量inv——逆矩陣jordan——約當(dāng)標準型…只有奇異值分解(svd)與數(shù)值運算稍有不同。(helpsym/svd.m)例:A=sym(magic(4))svd(A)svd(v