第二章 符號(hào)計(jì)算_第1頁(yè)
第二章 符號(hào)計(jì)算_第2頁(yè)
第二章 符號(hào)計(jì)算_第3頁(yè)
第二章 符號(hào)計(jì)算_第4頁(yè)
第二章 符號(hào)計(jì)算_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1 第二章第二章 符號(hào)計(jì)算符號(hào)計(jì)算2 MATLAB 不僅具有數(shù)值運(yùn)算功能,還開(kāi)發(fā)不僅具有數(shù)值運(yùn)算功能,還開(kāi)發(fā)了在了在MATLAB環(huán)境下實(shí)現(xiàn)符號(hào)計(jì)算的工具包環(huán)境下實(shí)現(xiàn)符號(hào)計(jì)算的工具包Symbolic Math Toolbox,安裝時(shí)選擇此工具安裝時(shí)選擇此工具包才能使用符號(hào)計(jì)算功能包才能使用符號(hào)計(jì)算功能。 在在MATLAB中,數(shù)值和數(shù)值變量用于數(shù)值的中,數(shù)值和數(shù)值變量用于數(shù)值的存儲(chǔ)和各種數(shù)值計(jì)算,而存儲(chǔ)和各種數(shù)值計(jì)算,而符號(hào)常數(shù)、符號(hào)變符號(hào)常數(shù)、符號(hào)變量、符號(hào)函數(shù)、符號(hào)表達(dá)式量、符號(hào)函數(shù)、符號(hào)表達(dá)式(符號(hào)數(shù)學(xué)表達(dá)(符號(hào)數(shù)學(xué)表達(dá)式、符號(hào)方程和符號(hào)矩陣),嚴(yán)格按照代數(shù)、式、符號(hào)方程和符號(hào)矩陣),嚴(yán)格按

2、照代數(shù)、微積分等課程中的規(guī)則、公式進(jìn)行運(yùn)算,并微積分等課程中的規(guī)則、公式進(jìn)行運(yùn)算,并盡可能給出解析表達(dá)式結(jié)果。盡可能給出解析表達(dá)式結(jié)果。 解算數(shù)學(xué)表達(dá)式、方程時(shí),不是在離散解算數(shù)學(xué)表達(dá)式、方程時(shí),不是在離散化的數(shù)值點(diǎn)上進(jìn)行,而是憑借一系列恒化的數(shù)值點(diǎn)上進(jìn)行,而是憑借一系列恒等式和數(shù)學(xué)定理,通過(guò)推理和演繹,獲等式和數(shù)學(xué)定理,通過(guò)推理和演繹,獲得解析結(jié)果。得解析結(jié)果。符號(hào)計(jì)算建立在數(shù)值完全準(zhǔn)確表達(dá)和推符號(hào)計(jì)算建立在數(shù)值完全準(zhǔn)確表達(dá)和推演嚴(yán)格解析的基礎(chǔ)之上,因此所得結(jié)果演嚴(yán)格解析的基礎(chǔ)之上,因此所得結(jié)果是完全準(zhǔn)確的。是完全準(zhǔn)確的。4 例:例: solve(a*x2+b*x+c=0)ans = -(b

3、 + (b2 - 4*a*c)(1/2)/(2*a) -(b - (b2 - 4*a*c)(1/2)/(2*a) 例:例: solve(x2+2*x+2=0)ans = - i - 1 i - 1符號(hào)運(yùn)算的功能符號(hào)運(yùn)算的功能 符號(hào)表達(dá)式、符號(hào)矩陣的創(chuàng)建符號(hào)表達(dá)式、符號(hào)矩陣的創(chuàng)建 符號(hào)線性代數(shù)符號(hào)線性代數(shù) 因式分解、展開(kāi)和簡(jiǎn)化因式分解、展開(kāi)和簡(jiǎn)化 符號(hào)代數(shù)方程求解符號(hào)代數(shù)方程求解 符號(hào)積分符號(hào)積分 符號(hào)微分方程符號(hào)微分方程 運(yùn)算對(duì)象可以是沒(méi)賦值的符號(hào)變量運(yùn)算對(duì)象可以是沒(méi)賦值的符號(hào)變量 可以獲得任意精度的解可以獲得任意精度的解 符號(hào)運(yùn)算的特點(diǎn)符號(hào)運(yùn)算的特點(diǎn)7舉例舉例:計(jì)算計(jì)算22cos ( ) s

4、in ( )xx8 數(shù)值運(yùn)算中必須先對(duì)變量賦值數(shù)值運(yùn)算中必須先對(duì)變量賦值,然后才能參與運(yùn)算。然后才能參與運(yùn)算。 符號(hào)運(yùn)算無(wú)須事先對(duì)獨(dú)立變量符號(hào)運(yùn)算無(wú)須事先對(duì)獨(dú)立變量賦值賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號(hào)形式,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號(hào)形式表達(dá)。表達(dá)。9 數(shù)值計(jì)算是先給出求解區(qū)間上的離散點(diǎn),然后在數(shù)值計(jì)算是先給出求解區(qū)間上的離散點(diǎn),然后在離散點(diǎn)上計(jì)算結(jié)果,計(jì)算的結(jié)果在該點(diǎn)上是準(zhǔn)確的。離散點(diǎn)上計(jì)算結(jié)果,計(jì)算的結(jié)果在該點(diǎn)上是準(zhǔn)確的。但是在處理導(dǎo)數(shù),極限等問(wèn)題時(shí)遇到問(wèn)題。例如但是在處理導(dǎo)數(shù),極限等問(wèn)題時(shí)遇到問(wèn)題。例如sin(x)/x。 符號(hào)計(jì)算建立在公式化簡(jiǎn),恒等式代換,數(shù)學(xué)定符號(hào)計(jì)算建立在公式化簡(jiǎn),恒等式代換,數(shù)

5、學(xué)定理運(yùn)用上,最終求出來(lái)符號(hào)解理運(yùn)用上,最終求出來(lái)符號(hào)解(可以是公式也可以是可以是公式也可以是數(shù)值數(shù)值)。求出的結(jié)果準(zhǔn)確可信。求出的結(jié)果準(zhǔn)確可信。2.1 符號(hào)對(duì)象和符號(hào)表達(dá)式符號(hào)對(duì)象和符號(hào)表達(dá)式 基本符號(hào)對(duì)象:數(shù)字,參數(shù),變量,表達(dá)式?;痉?hào)對(duì)象:數(shù)字,參數(shù),變量,表達(dá)式。 凡進(jìn)行過(guò)數(shù)值計(jì)算的人都知道:數(shù)值表達(dá)式所用凡進(jìn)行過(guò)數(shù)值計(jì)算的人都知道:數(shù)值表達(dá)式所用的變量必須事先被賦過(guò)值,否則該表達(dá)式無(wú)法計(jì)的變量必須事先被賦過(guò)值,否則該表達(dá)式無(wú)法計(jì)算。算。 Symbolic Math Toolbox 沿用數(shù)值計(jì)算的這種模式,沿用數(shù)值計(jì)算的這種模式,規(guī)定規(guī)定:在進(jìn)行符號(hào)計(jì)算時(shí),首先要定義基本的符:在進(jìn)

6、行符號(hào)計(jì)算時(shí),首先要定義基本的符號(hào)對(duì)象,然后利用這些基本符號(hào)對(duì)象去構(gòu)成新的號(hào)對(duì)象,然后利用這些基本符號(hào)對(duì)象去構(gòu)成新的表達(dá)式,進(jìn)而從事所需的符號(hào)運(yùn)算。表達(dá)式,進(jìn)而從事所需的符號(hào)運(yùn)算。11生成符號(hào)對(duì)象的基本規(guī)則生成符號(hào)對(duì)象的基本規(guī)則: 任何基本符號(hào)對(duì)象都必須借助專門的任何基本符號(hào)對(duì)象都必須借助專門的符號(hào)符號(hào)函數(shù)命令函數(shù)命令sym或或syms定義。定義。 在運(yùn)算中,凡是由包含符號(hào)對(duì)象的表達(dá)式在運(yùn)算中,凡是由包含符號(hào)對(duì)象的表達(dá)式所生成的衍生對(duì)象也都是符號(hào)對(duì)象。所生成的衍生對(duì)象也都是符號(hào)對(duì)象。2.1.1 符號(hào)對(duì)象的創(chuàng)建和衍生符號(hào)對(duì)象的創(chuàng)建和衍生定義格式如下定義格式如下: sym(Num) %創(chuàng)建一個(gè)符號(hào)

7、數(shù)字創(chuàng)建一個(gè)符號(hào)數(shù)字Num sc=sym(Num) %創(chuàng)建一個(gè)符號(hào)常數(shù)創(chuàng)建一個(gè)符號(hào)常數(shù)sc,該常數(shù)值準(zhǔn)確,該常數(shù)值準(zhǔn)確 %等于等于Num說(shuō)明說(shuō)明: 其中其中Num代表一個(gè)具體的數(shù)字。代表一個(gè)具體的數(shù)字。 Num必須處于(英文狀態(tài)下的)單引號(hào)內(nèi)。必須處于(英文狀態(tài)下的)單引號(hào)內(nèi)。 數(shù)值常量作為函數(shù)命令數(shù)值常量作為函數(shù)命令sym()的輸入?yún)⒘?,就建立了一的輸入?yún)⒘?,就建立了一個(gè)符號(hào)常量,看上去的一個(gè)數(shù)值量,但它已是一個(gè)符個(gè)符號(hào)常量,看上去的一個(gè)數(shù)值量,但它已是一個(gè)符號(hào)對(duì)象。號(hào)對(duì)象。 符號(hào)數(shù)字符號(hào)數(shù)字13a=pi+sqrt(5)sa=sym(pi+sqrt(5)Ca=class(a)Csa=clas

8、s(sa)vpa(sa-a)例例2.1-1a = 5.3777sa = pi+sqrt(5)Ca = doubleCsa = symans = .138223758410852e-16 定義基本符號(hào)對(duì)象的指令:定義基本符號(hào)對(duì)象的指令:sym, syms sym的常用使用格式:的常用使用格式:sym(arg) 把數(shù)字、字符串或表達(dá)式把數(shù)字、字符串或表達(dá)式arg轉(zhuǎn)換為符號(hào)對(duì)轉(zhuǎn)換為符號(hào)對(duì)象象f=sym(arg) 把數(shù)字、字符串或表達(dá)式把數(shù)字、字符串或表達(dá)式arg轉(zhuǎn)換為符號(hào)轉(zhuǎn)換為符號(hào)對(duì)象對(duì)象ff=sym(argv, Flagv) 按按Flagv指定的要求把字符串指定的要求把字符串a(chǎn)rgv定義為符號(hào)對(duì)象

9、定義為符號(hào)對(duì)象符號(hào)參數(shù)和符號(hào)變量符號(hào)參數(shù)和符號(hào)變量15 syms的常用使用格式:的常用使用格式:syms argv 定義符號(hào)對(duì)象定義符號(hào)對(duì)象argv syms argv Flagv 定義符號(hào)對(duì)象并指定符號(hào)對(duì)象的定義符號(hào)對(duì)象并指定符號(hào)對(duì)象的屬性為屬性為Flagvsyms(argv1,argv2, argvk ) 定義定義argv1,argv2,argvk為基本符號(hào)對(duì)象為基本符號(hào)對(duì)象syms argv1 argv2 argvk 上述格式的簡(jiǎn)潔形式上述格式的簡(jiǎn)潔形式syms argv1 argv2 argvk Flagv 定義定義argv1,argv2,argvk 為具有為具有Flagv指定屬性的基

10、本符號(hào)對(duì)象指定屬性的基本符號(hào)對(duì)象符號(hào)參數(shù)和符號(hào)變量符號(hào)參數(shù)和符號(hào)變量16 positive: 表示那些符號(hào)對(duì)象取正實(shí)數(shù);表示那些符號(hào)對(duì)象取正實(shí)數(shù); real:表示那些符號(hào)對(duì)象限定為實(shí)數(shù);表示那些符號(hào)對(duì)象限定為實(shí)數(shù); unreal:表示那些符號(hào)對(duì)象為不限定的復(fù)數(shù)。表示那些符號(hào)對(duì)象為不限定的復(fù)數(shù)。Flagv: positive, real, unreal17syms和和sym區(qū)別之一區(qū)別之一 syms可以同時(shí)定義多個(gè)符號(hào)變量,可以同時(shí)定義多個(gè)符號(hào)變量,sym一一次定義一個(gè)符號(hào)變量;次定義一個(gè)符號(hào)變量; sym可以在定義時(shí),同時(shí)把變量賦給另外一可以在定義時(shí),同時(shí)把變量賦給另外一個(gè)符號(hào)變量!如個(gè)符號(hào)變

11、量!如p=sym(q)18 syms是定義符號(hào)變量,是定義符號(hào)變量,sym是將數(shù)字、字符、是將數(shù)字、字符、(字符串)或者表達(dá)式轉(zhuǎn)換為符號(hào)對(duì)象。(字符串)或者表達(dá)式轉(zhuǎn)換為符號(hào)對(duì)象。 比如:比如:syms x y %定了符號(hào)變量定了符號(hào)變量x、y,以后,以后x、y就可以直接使用了,有他們參與運(yùn)算出來(lái)的結(jié)果也就可以直接使用了,有他們參與運(yùn)算出來(lái)的結(jié)果也是符號(hào)變量。是符號(hào)變量。 當(dāng)然上面的也可以當(dāng)然上面的也可以x=sym(x), y=sym(y) 。sym(a+b) %將將a+b轉(zhuǎn)化為符號(hào)表達(dá)式轉(zhuǎn)化為符號(hào)表達(dá)式syms和和sym區(qū)別之二區(qū)別之二19 兩者有不同的使用場(chǎng)合兩者有不同的使用場(chǎng)合 比如符號(hào)變

12、量涉及的個(gè)數(shù)比較少,但是使用頻率比比如符號(hào)變量涉及的個(gè)數(shù)比較少,但是使用頻率比較高,那么就是使用較高,那么就是使用syms;但是如果個(gè)數(shù)多,但;但是如果個(gè)數(shù)多,但是使用頻率比較少則使用是使用頻率比較少則使用sym。syms和和sym區(qū)別之三區(qū)別之三20符號(hào)表達(dá)式中符號(hào)變量(自由變量)的確定符號(hào)表達(dá)式中符號(hào)變量(自由變量)的確定 確定自由符號(hào)變量的規(guī)則:在專門指定變量確定自由符號(hào)變量的規(guī)則:在專門指定變量名的符號(hào)運(yùn)算中,解題一定圍繞指定變量名名的符號(hào)運(yùn)算中,解題一定圍繞指定變量名進(jìn)行進(jìn)行。在沒(méi)有指定變量名的符號(hào)運(yùn)算中,在沒(méi)有指定變量名的符號(hào)運(yùn)算中,MATLATB將按照與小寫字母將按照與小寫字母x

13、的的ASCII碼距離碼距離自動(dòng)識(shí)別出自由符號(hào)變量。自動(dòng)識(shí)別出自由符號(hào)變量。21符號(hào)表達(dá)式中符號(hào)表達(dá)式中符號(hào)變量(自由變量)符號(hào)變量(自由變量)的確定的確定 為符號(hào)操作和計(jì)算的需要,為符號(hào)操作和計(jì)算的需要,MATLAB提供一個(gè)提供一個(gè)findsym和和symvar指令,可實(shí)現(xiàn)對(duì)表達(dá)式中所有自指令,可實(shí)現(xiàn)對(duì)表達(dá)式中所有自由符號(hào)變量或指定數(shù)目的獨(dú)立自變量的自動(dòng)認(rèn)定。由符號(hào)變量或指定數(shù)目的獨(dú)立自變量的自動(dòng)認(rèn)定。 a*x2+b*x+c=0 一共一共4個(gè)參數(shù),圍繞誰(shuí)求解?個(gè)參數(shù),圍繞誰(shuí)求解?findsym(EXPR)或者或者symvar(EXPR)確認(rèn)表達(dá)式確認(rèn)表達(dá)式EXPR中所有中所有“自由自由”符號(hào)符

14、號(hào)“變量變量”findsym(EXPR,N)或者或者symvar(EXPR,N)從表達(dá)式從表達(dá)式EXPR中確認(rèn)出靠中確認(rèn)出靠x最近的最近的N個(gè)獨(dú)立自個(gè)獨(dú)立自 變量。變量。22 注意注意: EXPR可以是符號(hào)矩陣。此時(shí),該指令對(duì)自由變可以是符號(hào)矩陣。此時(shí),該指令對(duì)自由變量的確認(rèn)是對(duì)整個(gè)矩陣進(jìn)行的,而不是對(duì)矩陣元量的確認(rèn)是對(duì)整個(gè)矩陣進(jìn)行的,而不是對(duì)矩陣元素逐個(gè)進(jìn)行的。素逐個(gè)進(jìn)行的。 在在MATLAB符號(hào)計(jì)算中,符號(hào)計(jì)算中,x是首先符號(hào)變量,其是首先符號(hào)變量,其后的次序排列規(guī)則:與后的次序排列規(guī)則:與x的的ASCII碼值之差的絕對(duì)碼值之差的絕對(duì)值小的字母優(yōu)先;差絕對(duì)值相同時(shí),值小的字母優(yōu)先;差絕對(duì)值

15、相同時(shí),ASCII碼值大碼值大的字母優(yōu)先。的字母優(yōu)先。 注意字母的大小寫。在此認(rèn)為大寫字母離小寫注意字母的大小寫。在此認(rèn)為大寫字母離小寫x的的距離總大于所有小寫字母離距離總大于所有小寫字母離x的距離。的距離。 自動(dòng)識(shí)別符號(hào)變量時(shí),字母的優(yōu)先次序?yàn)樽詣?dòng)識(shí)別符號(hào)變量時(shí),字母的優(yōu)先次序?yàn)閤,y,w,z,v等。等。23例例2.1-22.1-2syms u v w z %定義定義4個(gè)符號(hào)參數(shù)和變量個(gè)符號(hào)參數(shù)和變量Eq=u*z2+v*z+w; %構(gòu)成符號(hào)表達(dá)式構(gòu)成符號(hào)表達(dá)式Eqresult_1=solve(Eq) %采用自動(dòng)識(shí)別變量解方程采用自動(dòng)識(shí)別變量解方程 %*z2+v*z+w=0findsym (E

16、q,1) %自動(dòng)識(shí)別出符號(hào)變量,結(jié)果為自動(dòng)識(shí)別出符號(hào)變量,結(jié)果為wresult_2=solve(Eq,z) %對(duì)于指定變量對(duì)于指定變量z解方程解方程符號(hào)表達(dá)式、符號(hào)函數(shù)與符號(hào)方程符號(hào)表達(dá)式、符號(hào)函數(shù)與符號(hào)方程 由符號(hào)常量、符號(hào)參數(shù)、符號(hào)變量、符號(hào)函數(shù)用由符號(hào)常量、符號(hào)參數(shù)、符號(hào)變量、符號(hào)函數(shù)用運(yùn)算符或?qū)S煤瘮?shù)連接而成的符號(hào)對(duì)象。符號(hào)表運(yùn)算符或?qū)S煤瘮?shù)連接而成的符號(hào)對(duì)象。符號(hào)表達(dá)式有兩種:達(dá)式有兩種:符號(hào)函數(shù)和符號(hào)方程符號(hào)函數(shù)和符號(hào)方程。區(qū)別在于后。區(qū)別在于后者有等號(hào)。者有等號(hào)。 syms n x t w c; f1=n*xn/x classf1=class(f1) f2=sym(log(t)2

17、*t) clasf2=class(f2) e1=sym(a*x2+b*x+c=0) class1=class(e1)25符號(hào)表達(dá)式、符號(hào)函數(shù)與符號(hào)方程符號(hào)表達(dá)式、符號(hào)函數(shù)與符號(hào)方程 隱含的生成方式隱含的生成方式提示:提示:Matlab中很少使用雙引號(hào)中很少使用雙引號(hào) ”,更多地使用更多地使用 。符號(hào)矩陣符號(hào)矩陣 元素是符號(hào)對(duì)象(符號(hào)變量和符號(hào)常量)的稱作元素是符號(hào)對(duì)象(符號(hào)變量和符號(hào)常量)的稱作符號(hào)矩陣。符號(hào)矩陣。m1=sym(ab bc cd;de ef fg;h l j)class1=class(m1) m2=sym(1 12;23 34)class2=class(m2)m3=sym(a

18、b;c d)class3=class(m3)符號(hào)矩陣的創(chuàng)建符號(hào)矩陣的創(chuàng)建 數(shù)值矩陣數(shù)值矩陣A=1,2;3,4 A=a,b;c,d 不識(shí)別不識(shí)別用用matlab函數(shù)函數(shù)sym創(chuàng)建矩陣創(chuàng)建矩陣(symbolic 的縮寫的縮寫)命令格式命令格式:A=sym( ) 符號(hào)矩陣內(nèi)容同數(shù)值矩陣符號(hào)矩陣內(nèi)容同數(shù)值矩陣 需用需用sym指令定義指令定義 用用 標(biāo)識(shí)標(biāo)識(shí)例如例如:A = sym(a , 2*b ; 3*a , 0) A = a, 2*b 3*a, 0 這就完成了一個(gè)符號(hào)矩陣的創(chuàng)建。這就完成了一個(gè)符號(hào)矩陣的創(chuàng)建。注意:符號(hào)矩陣顯示每一行的兩端都有方注意:符號(hào)矩陣顯示每一行的兩端都有方 括號(hào),這是與括號(hào)

19、,這是與 matlab數(shù)值矩陣的數(shù)值矩陣的 一個(gè)區(qū)別一個(gè)區(qū)別。2.1.2 符號(hào)計(jì)算中的符號(hào)計(jì)算中的算符算符 基本運(yùn)算符基本運(yùn)算符 算符算符“+”、“-”、“ * ”、“ ”、“ / ”、“ ”: 矩陣的加、減、乘、左除、右除、求冪運(yùn)算。矩陣的加、減、乘、左除、右除、求冪運(yùn)算。 算符算符 “.* ”、“. ”、“./ ”、“. ”:“元素對(duì)元素對(duì)元素元素”的數(shù)組乘、左除、右除、求冪運(yùn)算。的數(shù)組乘、左除、右除、求冪運(yùn)算。 算符算符“ ”、“ . ” :矩陣的共軛轉(zhuǎn)置、非共軛:矩陣的共軛轉(zhuǎn)置、非共軛轉(zhuǎn)置轉(zhuǎn)置。 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 算符算符“ = ”、“ = ” :對(duì)算符兩邊的對(duì)象進(jìn):對(duì)算符兩邊的對(duì)

20、象進(jìn)行行“相等相等”、“不等不等”的比較。當(dāng)事實(shí)為的比較。當(dāng)事實(shí)為“真真”時(shí),比較結(jié)果用時(shí),比較結(jié)果用1表示;當(dāng)事實(shí)為表示;當(dāng)事實(shí)為“假假”時(shí),比時(shí),比較結(jié)果則用較結(jié)果則用0表示表示。2.1.3 符號(hào)計(jì)算中的基本函數(shù)符號(hào)計(jì)算中的基本函數(shù) 借助于重載技術(shù),把具有相同函數(shù)計(jì)算功能借助于重載技術(shù),把具有相同函數(shù)計(jì)算功能的文件采用同一個(gè)函數(shù)名加以保存,從形式的文件采用同一個(gè)函數(shù)名加以保存,從形式上看,數(shù)值運(yùn)算函數(shù)和符號(hào)計(jì)算的函數(shù)沒(méi)有上看,數(shù)值運(yùn)算函數(shù)和符號(hào)計(jì)算的函數(shù)沒(méi)有什么區(qū)別。什么區(qū)別。 符號(hào)計(jì)算函數(shù)庫(kù)分符號(hào)計(jì)算函數(shù)庫(kù)分3個(gè)層次,一般我們掌握個(gè)層次,一般我們掌握基本函數(shù)即可?;竞瘮?shù)即可。 需要注意

21、函數(shù)對(duì)數(shù)據(jù)類型的要求,比如需要注意函數(shù)對(duì)數(shù)據(jù)類型的要求,比如plot不能用符號(hào)類參數(shù)。不能用符號(hào)類參數(shù)。312.1.4 符號(hào)對(duì)象的識(shí)別符號(hào)對(duì)象的識(shí)別 class(var) isa(var,Obj) whos問(wèn)題:?jiǎn)栴}:a=1;b=2;c=3;d=4;Mn=a,b;c,dMc=a,b;c,d %Mc是符號(hào)矩陣嗎?是符號(hào)矩陣嗎?Ms=sym(Mc)察看例程察看例程2.1-52.2 符號(hào)數(shù)字及表達(dá)式操作符號(hào)數(shù)字及表達(dá)式操作 2.2.1.數(shù)值數(shù)字與符號(hào)數(shù)字之間的轉(zhuǎn)換數(shù)值數(shù)字與符號(hào)數(shù)字之間的轉(zhuǎn)換 sym(num, r)即即sym(num) sym(num, d) 在符號(hào)運(yùn)算中,在符號(hào)運(yùn)算中,“雙精度數(shù)字

22、雙精度數(shù)字”都會(huì)自動(dòng)地按都會(huì)自動(dòng)地按sym(num, r)格式轉(zhuǎn)換為符號(hào)數(shù)字。格式轉(zhuǎn)換為符號(hào)數(shù)字。 注意:注意:sym(num)和和sym(num)的差別:在的差別:在sym(num)中中num可能是一長(zhǎng)串?dāng)?shù)字表達(dá)式組合,可能是一長(zhǎng)串?dāng)?shù)字表達(dá)式組合,sym(num)并并不計(jì)算出來(lái);不計(jì)算出來(lái);sym(num)是將是將num數(shù)字以雙精度表示數(shù)字以雙精度表示結(jié)果符號(hào)化,也就是是否立即計(jì)算的問(wèn)題。結(jié)果符號(hào)化,也就是是否立即計(jì)算的問(wèn)題。 如如a=sym(1/3+1/7+sqrt(5)和和b=sym(1/3+1/7+sqrt(5) 數(shù)值、符號(hào)、字符是數(shù)值、符號(hào)、字符是MATLAB中的三種不同的數(shù)中的三種

23、不同的數(shù)據(jù)類型。據(jù)類型。 MATLAB為每種數(shù)據(jù)類型提供了各自特定的生成為每種數(shù)據(jù)類型提供了各自特定的生成指令和操作指令。指令和操作指令。 為實(shí)現(xiàn)不同數(shù)據(jù)類型的交互,為實(shí)現(xiàn)不同數(shù)據(jù)類型的交互,MATLAB提供了一提供了一系列的轉(zhuǎn)換指令。系列的轉(zhuǎn)換指令。 數(shù)值型數(shù)值型符號(hào)結(jié)果符號(hào)結(jié)果符號(hào)常數(shù)符號(hào)常數(shù) 符號(hào)量(表達(dá)式)符號(hào)量(表達(dá)式)數(shù)值數(shù)值字符串(表達(dá)式)字符串(表達(dá)式)ASCII碼碼vpavpadoubledoublesymcharsymdoublecharstr2num str2double sscanfint2str num2str mat2str sprintfv將數(shù)值矩陣轉(zhuǎn)化為符號(hào)矩陣

24、將數(shù)值矩陣轉(zhuǎn)化為符號(hào)矩陣 函數(shù)調(diào)用格式函數(shù)調(diào)用格式:sym(A)A=1/3,2.5;1/0.7,2/5A = 0.3333 2.5000 1.4286 0.4000sym(A)ans = 1/3, 5/210/7, 2/5 符號(hào)矩陣與數(shù)值矩陣的轉(zhuǎn)換符號(hào)矩陣與數(shù)值矩陣的轉(zhuǎn)換v將符號(hào)矩陣轉(zhuǎn)化為數(shù)值矩陣將符號(hào)矩陣轉(zhuǎn)化為數(shù)值矩陣函數(shù)調(diào)用格式函數(shù)調(diào)用格式: double(A)A = sym(1/3, 5/2;10/7, 2/5)double(A)ans = 0.3333 2.5000 1.4286 0.4000 2.2.3 符號(hào)表達(dá)式符號(hào)表達(dá)式的操作的操作 符號(hào)運(yùn)算中有許多操作指令。符號(hào)運(yùn)算中有許多操作

25、指令。collect(合并同類項(xiàng))(合并同類項(xiàng))expand(對(duì)指定項(xiàng)展開(kāi))(對(duì)指定項(xiàng)展開(kāi))factor(進(jìn)行因式或因子分解)(進(jìn)行因式或因子分解)horner(轉(zhuǎn)換成嵌套形式)(轉(zhuǎn)換成嵌套形式)numden(提取公因式)(提取公因式)simplify(恒等式簡(jiǎn)化)(恒等式簡(jiǎn)化)pretty(習(xí)慣方式顯示)(習(xí)慣方式顯示)37 其中最常用的是其中最常用的是simple(EXPR):運(yùn)用包括:運(yùn)用包括simplify在內(nèi)的各種指令把在內(nèi)的各種指令把EXPR轉(zhuǎn)換成最簡(jiǎn)短形式。轉(zhuǎn)換成最簡(jiǎn)短形式。 注注:EXPR可以是符號(hào)表達(dá)式或矩陣。在這種情況可以是符號(hào)表達(dá)式或矩陣。在這種情況下,這些指令將對(duì)該矩陣

26、的元素逐個(gè)進(jìn)行操作。下,這些指令將對(duì)該矩陣的元素逐個(gè)進(jìn)行操作。 f=sym(1/x3+6/x2+12/x+8)(1/3)f =(12/x + 6/x2 + 1/x3 + 8)(1/3) g=simple(f)g =(2*x + 1)3/x3)(1/3)。例:簡(jiǎn)化32381261xxxf382.2.4 表達(dá)式中的表達(dá)式中的置換操作置換操作 公因子法簡(jiǎn)化表達(dá)式公因子法簡(jiǎn)化表達(dá)式 通用置換指令通用置換指令 39 符號(hào)計(jì)算結(jié)果顯得煩冗的一個(gè)重要原因是:有符號(hào)計(jì)算結(jié)果顯得煩冗的一個(gè)重要原因是:有些子表達(dá)式會(huì)多次出現(xiàn)在不同地方。些子表達(dá)式會(huì)多次出現(xiàn)在不同地方。 RS=subexpr(S, w) 從從S中自

27、動(dòng)提取公因子,記它為中自動(dòng)提取公因子,記它為w,并采用,并采用w重寫重寫S為為RS。 把復(fù)雜表達(dá)式中所含的多個(gè)相同子表達(dá)式用一把復(fù)雜表達(dá)式中所含的多個(gè)相同子表達(dá)式用一個(gè)符號(hào)代替,使表達(dá)簡(jiǎn)潔。個(gè)符號(hào)代替,使表達(dá)簡(jiǎn)潔。 置換原則:只有比較長(zhǎng)的子表達(dá)式才被置換。置換原則:只有比較長(zhǎng)的子表達(dá)式才被置換。公因子法簡(jiǎn)化表達(dá)式公因子法簡(jiǎn)化表達(dá)式 40 syms x f=(x+1)2+(x+1)3 f =(x + 1)2 + (x + 1)3 RS=subexpr(f, w) w = x + 1 RS =w3 + w2【例2.2-3】對(duì)符號(hào)矩陣進(jìn)行特征向量分解。 clear allsyms a b c d W

28、V,D=eig(a b;c d)RVD,W=subexpr(V;D,W) 42 通用置換指令通用置換指令RES=subs(ES,old,new)用用new置換置換ES中的中的old后產(chǎn)生后產(chǎn)生RES ,重寫,重寫ES為為RES。RES=subs(ES, new) 用用new置換置換ES中的自由變量中的自由變量后產(chǎn)生后產(chǎn)生RES ,重寫,重寫ES為為RES。【例2.2-4】2.3 符號(hào)微積分符號(hào)微積分 與數(shù)值計(jì)算相比,一般說(shuō)來(lái),符號(hào)計(jì)算需要消與數(shù)值計(jì)算相比,一般說(shuō)來(lái),符號(hào)計(jì)算需要消耗更多的計(jì)算機(jī)資源,但這并不意味著符號(hào)計(jì)耗更多的計(jì)算機(jī)資源,但這并不意味著符號(hào)計(jì)算可有可無(wú)。在某些場(chǎng)合,符號(hào)計(jì)算處理

29、問(wèn)題算可有可無(wú)。在某些場(chǎng)合,符號(hào)計(jì)算處理問(wèn)題反比數(shù)值計(jì)算更為簡(jiǎn)明快捷。反比數(shù)值計(jì)算更為簡(jiǎn)明快捷。 符號(hào)極限符號(hào)極限 符號(hào)微分符號(hào)微分 符號(hào)序列的求和符號(hào)序列的求和 符號(hào)積分符號(hào)積分 Taylor級(jí)數(shù)展開(kāi)級(jí)數(shù)展開(kāi)符號(hào)極限符號(hào)極限 極限是微積分的基礎(chǔ)。在極限是微積分的基礎(chǔ)。在MATLAB中,極限的求解中,極限的求解由由limit函數(shù)實(shí)現(xiàn)。函數(shù)實(shí)現(xiàn)。 limit(F,x,a) 計(jì)算符號(hào)表達(dá)式計(jì)算符號(hào)表達(dá)式F在在xa條件下的極限條件下的極限 limit(F, a) 計(jì)算符號(hào)表達(dá)式計(jì)算符號(hào)表達(dá)式F中默認(rèn)自變量趨向于中默認(rèn)自變量趨向于a條件下條件下 的極限的極限 limit(F)計(jì)算符號(hào)表達(dá)式計(jì)算符號(hào)表達(dá)

30、式F在默認(rèn)自變量趨向于在默認(rèn)自變量趨向于0時(shí)的極限時(shí)的極限 limit(F,x,a,right)和和limit(F,x,a,left) 計(jì)算符號(hào)表達(dá)式計(jì)算符號(hào)表達(dá)式 F在在xa條件下的右極限和左極限條件下的右極限和左極限 例例2.3-1;符號(hào)微分符號(hào)微分 求導(dǎo)數(shù)、高階導(dǎo)數(shù)、偏導(dǎo)數(shù)是數(shù)學(xué)分析的重要求導(dǎo)數(shù)、高階導(dǎo)數(shù)、偏導(dǎo)數(shù)是數(shù)學(xué)分析的重要內(nèi)容。由機(jī)器實(shí)現(xiàn)求導(dǎo)的內(nèi)容。由機(jī)器實(shí)現(xiàn)求導(dǎo)的MATLAB指令如下:指令如下: dfdvn=diff(f,v,n) 注意:注意: f是矩陣時(shí),求導(dǎo)對(duì)元素逐個(gè)進(jìn)行,但自變量定義在是矩陣時(shí),求導(dǎo)對(duì)元素逐個(gè)進(jìn)行,但自變量定義在整個(gè)矩陣上。整個(gè)矩陣上。 v缺省時(shí),自變量會(huì)自

31、動(dòng)缺省時(shí),自變量會(huì)自動(dòng)由由findsym確認(rèn);確認(rèn);n缺省時(shí),缺省時(shí),默認(rèn)默認(rèn)n=1。 注意注意:在數(shù)值計(jì)算中,指令:在數(shù)值計(jì)算中,指令diff是用來(lái)求差分的。是用來(lái)求差分的。 例例2.3-2;例;例2.3-4nndvvfd)(符號(hào)序列的求和符號(hào)序列的求和 通式求和通式求和 問(wèn)題問(wèn)題 s=symsum(f,v,a,b) 求通式求通式f在指定變量在指定變量v取遍取遍a,b中所有整數(shù)時(shí)的和。中所有整數(shù)時(shí)的和。 注意:注意: f是矩陣時(shí),求和對(duì)元素逐個(gè)進(jìn)行,但自變量定義是矩陣時(shí),求和對(duì)元素逐個(gè)進(jìn)行,但自變量定義 在整個(gè)矩陣上。在整個(gè)矩陣上。 v確省時(shí),確省時(shí),f中的自變量中的自變量由由findsym

32、自動(dòng)辨識(shí);自動(dòng)辨識(shí);b可可 以取有限整數(shù),也可以取無(wú)窮大。以取有限整數(shù),也可以取無(wú)窮大。 a,b可同時(shí)缺省,此時(shí)默認(rèn)求和的自變量區(qū)間為可同時(shí)缺省,此時(shí)默認(rèn)求和的自變量區(qū)間為 0,v-1。 例例2.3-8bavvf)(符號(hào)積分符號(hào)積分 積分有不定積分、定積分和重積分等。積分有不定積分、定積分和重積分等。 與數(shù)值積分相比,符號(hào)積分指令簡(jiǎn)單,適應(yīng)性與數(shù)值積分相比,符號(hào)積分指令簡(jiǎn)單,適應(yīng)性強(qiáng),但可能占用機(jī)器時(shí)間很長(zhǎng)。強(qiáng),但可能占用機(jī)器時(shí)間很長(zhǎng)。 intf=int(f,v) 給出給出f對(duì)指定變量對(duì)指定變量v的(不帶積分常數(shù)的(不帶積分常數(shù)的)不定積分的)不定積分 intf=int(f,v,a,b)給出給

33、出f對(duì)指定變量對(duì)指定變量v的定積分的定積分 例例2.3-9;例;例2.3-102.4 微分方程的符號(hào)解法微分方程的符號(hào)解法 求微分方程符號(hào)解的一般指令求微分方程符號(hào)解的一般指令S=dsolve(eq1, eq2, ,eqn,cond1,cond2,condn,v)S=dsolve(eq1,eq2,eqn,cond1,cond2,condn,v)輸入量包括微分方程,初始條件,指定獨(dú)立變量。輸入量包括微分方程,初始條件,指定獨(dú)立變量。微分方微分方程是必不可少的內(nèi)容,其余視需要而定,可有可無(wú)。程是必不可少的內(nèi)容,其余視需要而定,可有可無(wú)。輸入量以字符串形式編寫。輸入量以字符串形式編寫。如果不指定如果

34、不指定v,則默認(rèn)以,則默認(rèn)以t為自為自變量變量(獨(dú)立變量獨(dú)立變量)。 例如:求例如:求dx/dt=y,dy/dt=-x的解。的解。 s=dsolve(Dx=y,Dy=-x)例例2.4-1解微分方程解微分方程求解函數(shù):求解函數(shù):dsolve 注意:當(dāng)注意:當(dāng)y是是“因變量因變量”時(shí),用時(shí),用“Dny”表示表示“y的的n階導(dǎo)數(shù)階導(dǎo)數(shù)”。當(dāng)。當(dāng)t為獨(dú)立變量時(shí),為獨(dú)立變量時(shí),Dy表示表示dy/dt。其中其中的的D表示微分表示微分,D2、D3表示二階、三階導(dǎo)表示二階、三階導(dǎo)數(shù)數(shù)。任何。任何D后面跟的是因變量。后面跟的是因變量。 方程方程d2y/dx2=0表示表示為為D2y=0; 可以給定可以給定初始條件

35、初始條件,如果沒(méi)有初始條件,解中,如果沒(méi)有初始條件,解中有系數(shù)。初始條件寫成有系數(shù)。初始條件寫成y(a)=b,Dy(c)=d等形式。等形式。 輸出量輸出量S是構(gòu)架對(duì)象,如果是構(gòu)架對(duì)象,如果y是因變量,那么關(guān)是因變量,那么關(guān)于它的解在于它的解在S.y中。中。50求( )5*( )6* ( )( ),( )2*, (0)2,(0)1ty ty ty tf tf teyy 的解。dsolve(D2y+5*Dy+6*y=2*exp(-t),Dy(0)=-1,y(0)=2)( )5*( )6* ( )( ),( )10*cos( ), (0)2,(0)0y ty ty tf tf ttyy求的解。dso

36、lve(D2y+5*Dy+6*y=10*cos(t),Dy(0)=0,y(0)=2)2.5 符號(hào)變換和符號(hào)卷積符號(hào)變換和符號(hào)卷積 Fourier變換及其反變換變換及其反變換 Fw=fourier(ft,t,w)求時(shí)域函數(shù)求時(shí)域函數(shù)ft的的fourier變換變換Fw ft=ifourier(Fw,w,t)求頻域函數(shù)求頻域函數(shù)Fw的的Fourier反變換反變換ft例例2.5-1;例;例2.5-2; Laplace變換及其反變換變換及其反變換 Fs=laplace(ft,t,s)求時(shí)域函數(shù)求時(shí)域函數(shù)ft的的laplace變換變換Fs ft=ilaplace(Fs,s,t)求頻域函數(shù)求頻域函數(shù)Fs的的

37、laplace反變換反變換ft例例2.5-4; Z變換及其反變換變換及其反變換ztrans(fn,n,z)和和iztrans(Fz,z,n)符號(hào)卷積符號(hào)卷積dthfty)()()(已知,求)()(tetut輸入下的響應(yīng)syms T t taout=exp(-t);ht=exp(-t/T)/T;uh_tao=subs(ut,t,tao)*subs(ht,t,t-tao);yt=simple(simple(int(uh_tao,tao,0,t)% yt =-(exp(-t)-exp(-t/T)/(T-1) 例2.5-7)(1)(/teTthTt2.6 符號(hào)矩陣分析和代數(shù)方程解符號(hào)矩陣分析和代數(shù)方程

38、解det(A)求行列式的值求行列式的值diag(A)取對(duì)角元構(gòu)成向量,或據(jù)向量構(gòu)成對(duì)角陣取對(duì)角元構(gòu)成向量,或據(jù)向量構(gòu)成對(duì)角陣eig(A)特征值分解。特征值分解。例:求矩陣?yán)呵缶仃嘇=a11 a12;a21 a22的行列式、逆和特征根。的行列式、逆和特征根。syms a11 a12 a21 a22;A= a11 a12 ;a21 a22Da=det(A)Ia=inv(A)EA=eig(A)符號(hào)矩陣分析符號(hào)矩陣分析符號(hào)代數(shù)方程符號(hào)代數(shù)方程的求解的求解 一般代數(shù)方程組的解一般代數(shù)方程組的解 一般代數(shù)方程包括線性一般代數(shù)方程包括線性(Linear)、非線性、非線性(Nonlinear)和超越方程和超越方程(Transcedental equation)等,求解指令等,求解指令是是solve。S=solve(eq1,eq2,,eqn,v1,v2,vn)求方程組求方程組eq1,eq2關(guān)于指定變量關(guān)于指定變量v1,v2的解的解(推薦格式)(推薦格式)eq1,eq2或是符號(hào)表達(dá)的方程,或是字符串表或是符號(hào)表達(dá)的方程,或是字符串表達(dá)式,達(dá)式,v1,v2是字符串表達(dá)的求解變量名。是字符串表達(dá)的求解變量名。S=solve(exp1,exp2,,expn,v1,v2,vn) 求方程組關(guān)于指定變量的解(可用格式)求方

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論