資源描述:
《matlab符號運(yùn)算》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三講MATLAB的符號運(yùn)算科學(xué)與工程技術(shù)中的數(shù)值運(yùn)算固然重要,但自然科學(xué)理論分析中各種各樣的公式、關(guān)系式及其推導(dǎo)就是符號運(yùn)算要解決的問題。在Matlab7.0中,符號計(jì)算雖以數(shù)值運(yùn)算的補(bǔ)充身份出現(xiàn),但它們都是科學(xué)計(jì)算研究的重要內(nèi)容。Matlab開發(fā)了實(shí)現(xiàn)符號計(jì)算的工具包SymbolicMathToolbox。符號數(shù)學(xué)工具箱中的工具是建立在功能強(qiáng)大的Maple的基礎(chǔ)上。它最初是由加拿大的滑鐵盧(Waterloo)大學(xué)開發(fā)出來的。如果要求Matlab7.0進(jìn)行符號運(yùn)算,那么首先由Maple計(jì)算并將結(jié)果返回到Matlab7.0命令窗口。兩個(gè)數(shù)學(xué)分析的可視化界面圖示化符號計(jì)算器(由命令funtoo
2、l引出)泰勒級數(shù)逼近分析界面(由命令taylortool引出)圖示化符號計(jì)算器由三個(gè)獨(dú)立的窗口構(gòu)成,通過函數(shù)運(yùn)算控制窗口來演示另外兩個(gè)圖形窗口,任何時(shí)候,只有一個(gè)窗口屬于激活狀態(tài)。而被激活的函數(shù)圖像可隨運(yùn)算控制窗口的操作而做相應(yīng)的變化。下面給出運(yùn)算控制窗口的鍵位功能。前兩行是函數(shù)f和g的具體解析式,第三行是自變量x的取值范圍和常數(shù)a的值。第四行只對f起作用,如求導(dǎo)、積分、簡化、提取分子和分母、倒數(shù)、反函數(shù)。第五行是處理f和a的加減乘除等運(yùn)算。第六行前四個(gè)進(jìn)行f和g之間的運(yùn)算,后三個(gè)分別是:求復(fù)合函數(shù);把f傳遞給;swap是實(shí)現(xiàn)f和g功能的交換。最后一行是對計(jì)算器自身進(jìn)行操作。Funtool計(jì)
3、算器存有一張函數(shù)列表fxlist這7個(gè)功能鍵分別是:Insert:把當(dāng)前激活窗的函數(shù)寫入列表Cycle:依次循環(huán)顯示fxlist中的函數(shù)Delete:從fxlist列表中刪除激活窗的函數(shù)Reset:使計(jì)算器恢復(fù)到初始調(diào)用狀態(tài)Help:獲得關(guān)于界面的在線提示說明Demo:自動演示Close:關(guān)閉整個(gè)計(jì)算器泰勒級數(shù)逼近分析該界面用于觀察函數(shù)f(x)在給定區(qū)間被N階泰勒多項(xiàng)式Tn(x)逼近的情況。f(x)的輸入可由命令taylortool(fx)引入,或者在欄中直接輸入表達(dá)式,回車確定。N默認(rèn)值為7,a是級數(shù)的展開點(diǎn)。函數(shù)的觀察區(qū)間默認(rèn)為(-2pi,2pi)。符號運(yùn)算的功能符號表達(dá)式、符號矩陣的創(chuàng)
4、建符號線性代數(shù)因式分解、展開和簡化符號代數(shù)方程求解符號微積分符號微分方程一、符號運(yùn)算的基本操作什么是符號運(yùn)算與數(shù)值運(yùn)算的區(qū)別※數(shù)值運(yùn)算中必須先對變量賦值,然后才能參與運(yùn)算?!栠\(yùn)算無須事先對獨(dú)立變量賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號形式表達(dá)。特點(diǎn):?運(yùn)算對象可以是沒賦值的符號變量,以推理解析的方式進(jìn)行,因此不受計(jì)算誤差累積所帶來的困擾。?可以給出完全正確的封閉解或任意精度的數(shù)值解(當(dāng)封閉解不存在時(shí))。③符號計(jì)算指令的調(diào)用簡單,和經(jīng)典教科書公式相近。④計(jì)算所需的時(shí)間較長。SymbolicMathToolbox——符號運(yùn)算工具包通過調(diào)用Maple軟件實(shí)現(xiàn)符號計(jì)算的。Maple軟件——主要功能是符號運(yùn)算
5、,它占據(jù)符號軟件的主導(dǎo)地位。2.字符串與符號變量、符號常量字符串對象f='sin(x)+5x'f——字符串名sin(x)+5x——函數(shù)表達(dá)式''——字符串標(biāo)識字符串表達(dá)式一定要用''單引號括起來Matlab才能識別。用class()來返回對象的數(shù)據(jù)類型?!锏膬?nèi)容可以是函數(shù)表達(dá)式,也可以是方程。例:f1='a*x^2+b*x+c'——二次三項(xiàng)式f2='a*x^2+b*x+c=0'——方程f3='Dy+y^2=1'——微分方程※函數(shù)表達(dá)式或方程可以賦給字符串或符號變量,以后方便調(diào)用。符號變量符號變量是內(nèi)容可變的符號對象。符號變量通常是指一個(gè)或幾個(gè)特定的字符,不是指符號表達(dá)式,甚至可以將一個(gè)符
6、號表達(dá)式賦值給一個(gè)符號變量。符號變量有時(shí)也稱自由變量,它的命名規(guī)則和數(shù)值變量的命名規(guī)則相同。相關(guān)指令為:sym()和syms()(symbolic的縮寫)例:用函數(shù)命令sym()和syms()來創(chuàng)建符號對象并檢測數(shù)據(jù)類型。a=sym('a')注意兩個(gè)a的區(qū)別b=sym('c')classa=class(a)classb=class(b)可看出兩個(gè)變量均為符號對象symsabcdefghwhos也可以查看所有變量類型從上述比較來看:當(dāng)需要同時(shí)定義多個(gè)符號變量時(shí),使用syms()更簡潔一些。符號常量當(dāng)數(shù)值常量作為sym()的輸入?yún)⒘繒r(shí),就建立了一個(gè)符號對象——符號常量。雖然看上去是一個(gè)數(shù)值量,但
7、已經(jīng)是一個(gè)符號對象了。例:a=3/4;b='3/4';c=sym(3/4);d=sym('3/4');whos查看變量類型a為實(shí)雙精度浮點(diǎn)數(shù)值類型;b為實(shí)字符類型;c和d都是符號對象類型。由符號變量構(gòu)成的符號函數(shù)和符號方程符號表達(dá)式是由符號常量、符號變量、符號函數(shù)運(yùn)算符以及專用函數(shù)連接起來的符號對象。包括:符號函數(shù)和符號方程。判斷看帶不帶等號。例:symsxyz;f1=x*y/z;f2=x^2+y^2+z^2