資源描述:
《《MATLAB的符號(hào)運(yùn)算》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第六章MATLAB符號(hào)計(jì)算及工具箱電子科技大學(xué)王洪MathWorks公司在1993年收購(gòu)了主要針對(duì)符號(hào)計(jì)算的MAPLIEV軟件的使用,以MAPLIE內(nèi)核為符號(hào)計(jì)算的引擎,開發(fā)了符號(hào)數(shù)學(xué)工具箱(SymbolicMathToolbox)。MAPLIE占據(jù)符號(hào)軟件的主導(dǎo)地位,符號(hào)運(yùn)算工具包通過調(diào)用Maple軟件實(shí)現(xiàn)符號(hào)計(jì)算的。在符號(hào)計(jì)算中,參與運(yùn)算的是符號(hào)變量而不是數(shù)值,使用字符串進(jìn)行分析。數(shù)值運(yùn)算中必須先對(duì)變量賦值,然后才能參與運(yùn)算。符號(hào)運(yùn)算無須事先對(duì)獨(dú)立變量賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號(hào)形式表達(dá),可以獲得任意精度的解。MATLAB的符號(hào)數(shù)學(xué)工具箱包括
2、基本符號(hào)數(shù)學(xué)工具箱和擴(kuò)展數(shù)學(xué)工具箱。符號(hào)數(shù)學(xué)工具箱有三個(gè)通道與MAPLIE交換信息:基本符號(hào)數(shù)學(xué)工具箱、專門的M文件和函數(shù)計(jì)算器。SupposeyouwanttouseasymbolicvariabletorepresentthegoldenratioThecommandrho=sym('(1+sqrt(5))/2')achievesthisgoal.Nowyoucanperformvariousmathematicaloperationsonrho.Forexample,f=rho^2-rho-1returnsf=(1/2+1/2*5^(1/
3、2))^2-3/2-1/2*5^(1/2)Thensimplify(f)returns0符號(hào)常量、符號(hào)變量、符號(hào)表達(dá)式、符號(hào)矩陣的創(chuàng)建符號(hào)表達(dá)式的代數(shù)運(yùn)算符號(hào)表達(dá)式的操作和轉(zhuǎn)換符號(hào)極限、符號(hào)微分、符號(hào)積分、符號(hào)級(jí)數(shù)符號(hào)積分變換§6.1符號(hào)表達(dá)式的建立1.創(chuàng)建符號(hào)常量符號(hào)常量是不含變量的符號(hào)表達(dá)式。語法:sym(‘常量’)%創(chuàng)建符號(hào)常量例如,創(chuàng)建符號(hào)常量,這種方式是絕對(duì)準(zhǔn)確的符號(hào)數(shù)值表示:>>a=sym('sin(2)')a=sin(2)sym命令也可以把數(shù)值轉(zhuǎn)換成某種格式的符號(hào)常量語法:sym(常量,參數(shù))%把常量按某種格式轉(zhuǎn)換為符號(hào)常量參數(shù)作
4、用d返回最接近的十進(jìn)制數(shù)值(默認(rèn)位數(shù)為32位)f返回該符號(hào)值最接近的浮點(diǎn)表示r返回該符號(hào)值最接近的有理數(shù)型(為系統(tǒng)默認(rèn)方式),可表示為p/q、p*q、10^q、pi/q、2^q和sqrt(p)形式之一e返回最接近的帶有機(jī)器浮點(diǎn)誤差的有理值2.創(chuàng)建符號(hào)變量和符號(hào)表達(dá)式S=sym(arg)從表達(dá)式arg創(chuàng)建一個(gè)sys對(duì)象S,如果arg是數(shù)值標(biāo)量或矩陣,應(yīng)當(dāng)作數(shù)值對(duì)應(yīng)的符號(hào)。x=sym(‘x‘)建立符號(hào)變量x,其值為單引號(hào)內(nèi)的內(nèi)容。x=sym(‘x‘,’real’)設(shè)定符號(hào)變量為實(shí)型變量。x=sym(‘x‘,’unreal’)取消符號(hào)變量的實(shí)型屬性,
5、成為純粹的形式變量。sym(‘表達(dá)式’)例:f1=sym('a*x^2+b*x+c')3.定義多個(gè)符號(hào)變量symsarg1arg2...symsarg1arg2...realsymsarg1arg2...unrealsymsarg1arg2...isshort-handnotationforarg1=sym('arg1');arg2=sym('arg2');...symsarg1arg2...realisshort-handnotationforarg1=sym('arg1','real');arg2=sym('arg2','real');..
6、.4.創(chuàng)建符號(hào)矩陣用sys命令:矩陣元素是不帶等號(hào)的符號(hào)表達(dá)式,矩陣元素長(zhǎng)度可以不同。例:A=sym('[4+xx^2x;x^35*x-3x*a]')或先創(chuàng)建符號(hào)變量symsxaA=[4+xx^2x;x^35*x-3x*a]結(jié)果:A=[4+x,x^2,x][x^3,5*x-3,x*a]5.數(shù)字矩陣轉(zhuǎn)化為符號(hào)矩陣數(shù)值變量與符號(hào)變量不能進(jìn)行運(yùn)算,需要將數(shù)值矩陣轉(zhuǎn)化為符號(hào)矩陣,數(shù)值矩陣中的小數(shù)按最近的有理數(shù)轉(zhuǎn)化。例:A=[1/3,2.5;1/0.7,2/5]A=0.33332.50001.42860.4000sym(A)ans=[1/3,5/2][1
7、0/7,2/5]6.將符號(hào)矩陣轉(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三種數(shù)據(jù)類型之間的轉(zhuǎn)換:MATLAB有三種數(shù)值型、字符型和符號(hào)型,優(yōu)先級(jí)符號(hào)型最高,混合運(yùn)算時(shí)將自動(dòng)轉(zhuǎn)換為高級(jí)數(shù)據(jù)類型。轉(zhuǎn)換指令:1)轉(zhuǎn)化為符號(hào)型:S=sym(f);2)轉(zhuǎn)化為字符變量:S=int2str(x)整數(shù)轉(zhuǎn)化為字符變量,x為有理數(shù)先四舍五入,x為虛數(shù),只轉(zhuǎn)化實(shí)部。S=num2str(x)普通數(shù)值類型轉(zhuǎn)化為字符變量。3)轉(zhuǎn)化為
8、數(shù)值型:X=double(s);X=numeric(s);X=srt2num(s):字符型轉(zhuǎn)化為數(shù)值型,若s中含有非字符型變量,返回空矩陣。7符號(hào)表達(dá)