版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章MATLAB的符號(hào)運(yùn)算功能3.1符號(hào)對(duì)象的創(chuàng)建3.2變量間的相互轉(zhuǎn)換3.5符號(hào)方程的求解3.4常用符號(hào)運(yùn)算功能的實(shí)現(xiàn)3.3
符號(hào)表達(dá)式的操作和轉(zhuǎn)換第4章MATLAB的符號(hào)運(yùn)算功能符號(hào)計(jì)算可以對(duì)未賦值的符號(hào)對(duì)象(常數(shù)、變量、表達(dá)式)進(jìn)行運(yùn)算和處理,是MATLAB處理數(shù)值功能的自然擴(kuò)展。數(shù)值運(yùn)算中必須先對(duì)變量賦值,然后才能參與運(yùn)算。符號(hào)運(yùn)算無(wú)須事先對(duì)獨(dú)立變量賦值,運(yùn)算結(jié)果以標(biāo)準(zhǔn)的符號(hào)形式表達(dá)。符號(hào)運(yùn)算不產(chǎn)生數(shù)值運(yùn)算產(chǎn)生的運(yùn)算誤差,可以在運(yùn)算最后將數(shù)字代入結(jié)果,因此避免了中間運(yùn)算的誤差,能夠以指定的精度返回結(jié)果。3.1符號(hào)對(duì)象的創(chuàng)建在數(shù)值計(jì)算過(guò)程中,參與運(yùn)算的變量都是被賦了值的數(shù)值變量。而在符號(hào)運(yùn)算的整個(gè)過(guò)程中,參與運(yùn)算的是符號(hào)變量。在符號(hào)運(yùn)算中所出現(xiàn)的數(shù)字都是當(dāng)做符號(hào)來(lái)處理的。符號(hào)對(duì)象是一種數(shù)據(jù)結(jié)構(gòu),包括符號(hào)常數(shù)、符號(hào)變量和符號(hào)表達(dá)式,用來(lái)存儲(chǔ)代表符號(hào)的字符串。在符號(hào)運(yùn)算中,凡是由符號(hào)表達(dá)式所生成的對(duì)象也都是符號(hào)對(duì)象。
3.1.1創(chuàng)建符號(hào)常量符號(hào)常量是不含變量的符號(hào)表達(dá)式,可用sym命令來(lái)創(chuàng)建。3.1.2創(chuàng)建符號(hào)變量MATLAB中創(chuàng)建符號(hào)變量是利用命令sym和syms來(lái)實(shí)現(xiàn)的。sym命令用創(chuàng)建單個(gè)符號(hào)變量,而syms命令則可以一次創(chuàng)建任意多個(gè)符號(hào)變量。因此,在符號(hào)運(yùn)算中syms命令比sym命令常用。3.1.3創(chuàng)建符號(hào)表達(dá)式創(chuàng)建符號(hào)表達(dá)式有兩種方法:一是用sym命令直接創(chuàng)建符號(hào)表達(dá)式;二是按普通書(shū)寫(xiě)形式創(chuàng)建符號(hào)表達(dá)式。1.用sym命令創(chuàng)建符號(hào)表達(dá)式創(chuàng)建時(shí)不需在前面進(jìn)行任何說(shuō)明,但是需要注意的是:表達(dá)式內(nèi)的符號(hào)變量并未得到說(shuō)明,它們不會(huì)存在于MATLAB的工作空間。2.按普通書(shū)寫(xiě)形式創(chuàng)建符號(hào)表達(dá)式在創(chuàng)建符號(hào)表達(dá)式之前,必須把符號(hào)表達(dá)式所包含的全部符號(hào)變量都創(chuàng)建完畢。創(chuàng)建符號(hào)表達(dá)式時(shí),只需按照賦值格式輸入即可。3.1.4創(chuàng)建符號(hào)方程符號(hào)方程的創(chuàng)建方法與符號(hào)表達(dá)式創(chuàng)建的第一種方法類似,不能采用創(chuàng)建符號(hào)表達(dá)式的第二種方法。3.1.5創(chuàng)建符號(hào)矩陣創(chuàng)建符號(hào)矩陣有以下幾種方法:用sym命令直接創(chuàng)建符號(hào)矩陣;用類似創(chuàng)建普通數(shù)值矩陣的方法創(chuàng)建符號(hào)矩陣;由數(shù)值矩陣轉(zhuǎn)換為符號(hào)矩陣。1.用sym命令直接創(chuàng)建符號(hào)矩陣矩陣的元素可以是任何符號(hào)變量或符號(hào)表達(dá)式甚至是符號(hào)方程,并且元素的長(zhǎng)度允許不等。輸入符號(hào)矩陣時(shí),矩陣行與行之間用“;”隔開(kāi),各矩陣元素之間用“,”或“空格”隔開(kāi)。2.用類似創(chuàng)建普通數(shù)值矩陣的方法創(chuàng)建符號(hào)矩陣在創(chuàng)建符號(hào)矩陣之前要將符號(hào)矩陣所包含的全部符號(hào)變量均創(chuàng)建完畢,然后在創(chuàng)建符號(hào)矩陣時(shí)只要按創(chuàng)建普通數(shù)值矩陣的格式輸入即可。3.由數(shù)值矩陣轉(zhuǎn)換為符號(hào)矩陣將數(shù)值矩陣M轉(zhuǎn)化為符號(hào)矩陣S的命令為:S=sym(M)需要注意:這個(gè)轉(zhuǎn)化過(guò)程是在系統(tǒng)內(nèi)部自動(dòng)完成。
3.2數(shù)值變量、符號(hào)變量及字符變量間的相互轉(zhuǎn)換
(1)將其他類型變量轉(zhuǎn)換為符號(hào)變量命令格式:s=sym(f)其中變量f不受類型的限制,只要不是字符矩陣或非法的表達(dá)式,sym(f)命令均可將f轉(zhuǎn)換為符號(hào)變量s。例如:s1=sym('1.234')
s1=1.234s2=sym(1.234)
s2=617/500a='123f'
a=123f(2)將其他類型變量轉(zhuǎn)換為字符變量
(1).s=int2str(x)該命令可以把整數(shù)x轉(zhuǎn)換為字符型變量s。當(dāng)x為有理數(shù)時(shí),將對(duì)x先進(jìn)行四舍五入得到整數(shù)后,再把它轉(zhuǎn)換為字符型變量。當(dāng)x為虛數(shù)時(shí),將只對(duì)x的實(shí)部進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換時(shí),按照將有理數(shù)轉(zhuǎn)換為字符變量的相同規(guī)則進(jìn)行。(2).S=num2str(x)該命令可以把普通的數(shù)值型變量x轉(zhuǎn)換為字符型變量s,對(duì)x無(wú)任何限制。執(zhí)行下面的命令,觀察這兩條命令之間的區(qū)別:x1=-123;s1=int2str(x1)s1=-123x2=-11.8+4i;s2=int2str(x2),s3=num2str(x2)s2=-12s3=-11.8+4i(3)將其他類型變量轉(zhuǎn)換為數(shù)值變量
(1).x=double(s)當(dāng)s為符號(hào)變量時(shí),該命令將s轉(zhuǎn)換為數(shù)值變量x;如果s中含有非數(shù)字的符號(hào),則系統(tǒng)將給出出錯(cuò)信息;當(dāng)s為字符變量時(shí),該命令將s轉(zhuǎn)換為數(shù)值矩陣x,矩陣中元素的值為s中相應(yīng)字符的ASCII碼值。(2).x=str2num(s)該命令專用于將字符變量s轉(zhuǎn)換為數(shù)值變量x。當(dāng)s是一個(gè)包含非數(shù)字字符的變量時(shí),該命令將返回一個(gè)空矩陣。(3).x=numeric(s)該命令可將變量s轉(zhuǎn)換為數(shù)值變量x。這里s既可以是字符變量也可以是符號(hào)變量,但s不能是矩陣,否則將給出出錯(cuò)信息。3.3符號(hào)表達(dá)式的操作和轉(zhuǎn)換3.3.1符號(hào)表達(dá)式中自由變量的確定(1).自由變量的確定原則小寫(xiě)字母i和j不能作為自由變量。符號(hào)表達(dá)式中如果有多個(gè)字符變量,則按照以下順序選擇自由變量:首先選擇x作為自由變量;如果沒(méi)有x,則選擇在字母順序中最接近x的字符變量;如果與x相同距離,則在x后面的優(yōu)先。除去i和j的小寫(xiě)字母,表達(dá)式中如果沒(méi)有其它字母,則選擇x作為獨(dú)立變量。大寫(xiě)字母比所有小寫(xiě)字母都靠后。當(dāng)變量是詞組時(shí),比較第一個(gè)字母,第一個(gè)字母一樣時(shí),比較第二個(gè)字母,以此類推。(2).findsym命令如果不確定符號(hào)表達(dá)式中的自由符號(hào)變量,可以用findsym命令來(lái)自動(dòng)確定。其調(diào)用格式有以下兩種:findsym(s):其中s為一個(gè)符號(hào)表達(dá)式或者是符號(hào)矩陣,執(zhí)行該命令后返回一個(gè)字符串,該字符串包含s中出現(xiàn)的所有符號(hào)變量,并且符號(hào)變量是以字母順序排列的(分別用“,”隔開(kāi));如果s中沒(méi)有找到符號(hào)變量,則findsym將返回一個(gè)空的字符串。findsym(s,n):返回字母表中最靠近字母x的n個(gè)字符變量。3.3.2符號(hào)表達(dá)式的化簡(jiǎn)(1).pretty命令該命令不會(huì)對(duì)原表達(dá)式進(jìn)行任何化簡(jiǎn)或展開(kāi),只是以類似于數(shù)學(xué)課本上的形式(如有理分式)來(lái)顯示符號(hào)表達(dá)式。本節(jié)所有的簡(jiǎn)化命令都不支持字符定義。該命令可以合并同類項(xiàng),給出降冪排列形式。其調(diào)用格式有:collect(A):按默認(rèn)變量對(duì)表達(dá)式A進(jìn)行降冪排列。collect(A,v):按指定變量v對(duì)表達(dá)式A進(jìn)行降冪排列。(2).collect命令(3).expand命令該命令將符號(hào)表達(dá)式展開(kāi)成多項(xiàng)式,給出降冪排列形式。在多項(xiàng)式、三角函數(shù)、對(duì)數(shù)函數(shù)和指數(shù)函數(shù)中經(jīng)常用到該命令。其調(diào)用格式為:expand(S),其中S為符號(hào)表達(dá)式。該命令可將降冪排列的多項(xiàng)式符號(hào)表達(dá)式寫(xiě)成嵌套的形式。(4).horner命令(5).factor命令該命令可將符號(hào)表達(dá)式分解成因式。(6).simplify命令該命令充分考慮了符號(hào)表達(dá)式的各種運(yùn)算法則,并充分考慮了各種特殊函數(shù)的運(yùn)算性質(zhì),經(jīng)計(jì)算機(jī)比較后給出認(rèn)為表達(dá)式相對(duì)簡(jiǎn)單的一種化簡(jiǎn)方法。3.3.3符號(hào)表達(dá)式的替換subs命令可用來(lái)進(jìn)行對(duì)符號(hào)表達(dá)式中符號(hào)變量的替換。其調(diào)用格式為:
subs(s):用給定值替換符號(hào)表達(dá)式s中的所有變量。
subs(s,new):用new替換符號(hào)表達(dá)式s中的自由變量。
subs(s,old,new):用new替換符號(hào)表達(dá)式s中的old變量。3.3.4求反函數(shù)和復(fù)合函數(shù)(1).求反函數(shù)對(duì)于函數(shù)f(x),存在另一個(gè)函數(shù)g(x)使得g(f(x))=x成立,則函數(shù)g(x)稱為函數(shù)f(x)的反函數(shù)。在MATLAB中,finverse命令可以求得符號(hào)函數(shù)的反函數(shù)。其調(diào)用格式為:finverse(f,v):對(duì)指定自變量v的函數(shù)f(v)求反函數(shù)。當(dāng)v省略時(shí),則對(duì)默認(rèn)的自由符號(hào)變量求反函數(shù)。(2).求復(fù)合函數(shù)運(yùn)用命令compose可以求符號(hào)函數(shù)f(x)和g(y)的復(fù)合函數(shù)。其調(diào)用格式為:compose(f,g):求f(x)和g(y)的復(fù)合函數(shù)f(g(y))。compose(f,g,z):求f(x)和g(y)的復(fù)合函數(shù)f(g(z))。compose(f,g,x,z):以x為自變量構(gòu)成復(fù)合函數(shù)。compose(f,g,x,y,z):以x為自變量構(gòu)成復(fù)合函數(shù),并用z替換y。說(shuō)明:x是f的自變量,y是g的自變量;當(dāng)函數(shù)f有多個(gè)自變量時(shí),可以通過(guò)設(shè)置來(lái)選擇以某個(gè)自變量構(gòu)成復(fù)合函數(shù)。已知:f=f(x),g=g(y),compose(f,g)返回f(g(y))已知:f=f(x),g=g(y),compose(f,g,’z’)返回f(g(z))finverse和compose命令都不支持字符定義方式,必須用符號(hào)定義方式(sym)。3.3.5符號(hào)表達(dá)式的轉(zhuǎn)換(1).符號(hào)表達(dá)式與多項(xiàng)式的轉(zhuǎn)換MATLAB提供了sym2poly和poly2sym兩條命令來(lái)實(shí)現(xiàn)構(gòu)成多項(xiàng)式的符號(hào)表達(dá)式與多項(xiàng)式系數(shù)構(gòu)成的行向量之間的相互轉(zhuǎn)換。sym2poly命令用來(lái)將構(gòu)成多項(xiàng)式的符號(hào)表達(dá)式轉(zhuǎn)換為按降冪排列的行向量,該命令只能對(duì)含有一個(gè)變量的符號(hào)表達(dá)式進(jìn)行轉(zhuǎn)換。poly2sym與sym2poly相反,用來(lái)將按降冪排列的行向量轉(zhuǎn)換為符號(hào)表達(dá)式。sym2poly命令不支持字符定義格式(2).提取分子和分母如果表達(dá)式是一個(gè)有理分式(兩個(gè)多項(xiàng)式之比),可以利用numden命令來(lái)提取分子或分母,必要時(shí)還可以進(jìn)行通分。其調(diào)用格式為:[n,d]=numden(S):將符號(hào)表達(dá)式S轉(zhuǎn)換為分子分母都是整系數(shù)的最佳多項(xiàng)式,返回結(jié)果n為分子,d為分母。當(dāng)?shù)仁阶筮呏挥幸粋€(gè)變量時(shí),返回的是分子多項(xiàng)式。
注意顯示格式numden命令只支持符號(hào)定義,不支持字符定義3.4常用符號(hào)運(yùn)算功能的實(shí)現(xiàn)3.4.1符號(hào)的代數(shù)運(yùn)算符號(hào)表達(dá)式的代數(shù)運(yùn)算與普通數(shù)值運(yùn)算基本一致,只是在使用時(shí)要注意符號(hào)定義方式與字符定義方式的處理。命令symadd,symsub,symmul和symdiv可以進(jìn)行兩個(gè)表達(dá)式的加、減、乘、除運(yùn)算。這類命令支持字符定義方式sympow可將一個(gè)表達(dá)式表示為另一個(gè)表達(dá)式的冪次,該命令也支持字符定義方式。symop命令可以將兩個(gè)或多個(gè)表達(dá)式合并為一個(gè),被合并的表達(dá)式由多個(gè)單引號(hào)括起來(lái)的運(yùn)算符號(hào)連接,各單引號(hào)之間用逗號(hào)隔開(kāi)。該命令也支持字符定義方式。3.3.3符號(hào)的極限運(yùn)算假定符號(hào)表達(dá)式的極限存在,MATLAB提供了直接求表達(dá)式極限的命令limit,命令limit的基本用法如
P79表4-1limit命令的用法
表達(dá)式命令格式說(shuō)明limit(f)對(duì)默認(rèn)變量求趨近于0的極限limit(f,x,a)對(duì)x求趨近于a的極限,當(dāng)左右極限不相等時(shí)極限不存在。limit(f,x,a,left)對(duì)x求左趨近于a的極限limit(f,x,a,right)對(duì)x求右趨近于a的極限極限不存在時(shí),返回結(jié)果為NaN。該命令不支持字符定義方式3.3.3符號(hào)的微積分運(yùn)算(1).符號(hào)微分命令diff是用來(lái)求符號(hào)表達(dá)式的微分。其調(diào)用格式為:diff(f):求f對(duì)自由變量的一階微分。diff(f,t):求f對(duì)符號(hào)變量t的一階微分。diff(f,n):求f對(duì)自由變量的n階微分。diff(f,t,n):求f對(duì)符號(hào)變量t的n階微分。diff(f)
:對(duì)缺省變量求一階微分diff(f,’t’)
:對(duì)指定變量t求一階微分diff命令對(duì)符號(hào)定義及字符定義方式都支持diff(f,n)
:
對(duì)自由變量進(jìn)行n階微分diff(f,’t’,n)
:對(duì)指定變量t求n階微分命令diff還可以用于對(duì)數(shù)組中的元素進(jìn)行逐項(xiàng)求差值,計(jì)算出的差值比原來(lái)的向量少一列。2.符號(hào)積分命令int(f)可以求得符號(hào)表達(dá)式的積分,即找出一個(gè)符號(hào)表達(dá)式g使得diff(g)=f,也可以說(shuō)是求微分的逆運(yùn)算。其調(diào)用格式為:int(f,’t’):求符號(hào)變量t的不定積分。int(f,’t’,a,b):求符號(hào)變量t的定積分。int(f,’t’,’m’,’n’):求符號(hào)變量t的定積分。說(shuō)明:t為符號(hào)變量,當(dāng)t省略則為默認(rèn)自由變量;a和b為數(shù)值,[a,b]為積分區(qū)間;m和n為符號(hào)對(duì)象,[m,n]為積分區(qū)間。當(dāng)MATLAB不能找到積分時(shí),它將給出警告提示并返回該函數(shù)的原表達(dá)式。int(f):對(duì)缺省變量求積分int(f,’t’):對(duì)指定變量t求積分int命令對(duì)符號(hào)定義及字符定義方式都支持int(f,a,b)和int(f,’t’,a,b):對(duì)缺省或指定變量求從a到b的定積分,a,b是數(shù)值。int(f,m,n)和int(f,’t’,m,n):對(duì)缺省或指定變量求從m到n的定積分,m,n是符號(hào)變量。3.3.5符號(hào)的級(jí)數(shù)運(yùn)算1.symsum命令當(dāng)符號(hào)表達(dá)式的級(jí)數(shù)和存在時(shí),MATLAB提供了symsum和taylor命令來(lái)進(jìn)行求級(jí)數(shù)的運(yùn)算。symsum(s,x,a,b):計(jì)算表達(dá)式s的級(jí)數(shù)和。說(shuō)明:x為自變量,x省略則默認(rèn)為對(duì)自由變量求和;s為符號(hào)表達(dá)式;[a,b]為參數(shù)x的取值范圍,省略時(shí)為0~x-1。命令symsum不支持字符定義方式2.taylor命令taylor(F,x,n):求泰勒級(jí)數(shù)展開(kāi)。說(shuō)明:x為自變量,F(xiàn)為符號(hào)表達(dá)式,對(duì)F進(jìn)行泰勒級(jí)數(shù)展開(kāi)至n項(xiàng),n為數(shù)值,省略時(shí)默認(rèn)為6。命令taylor不支持字符定義方式3.4符號(hào)方程的求解3.3.1代數(shù)方程的求解利用MATLAB提供的solve命令可以方便地求解涉及符號(hào)的一般代數(shù)方程(組)。其調(diào)用格式為:solve(f):f為符號(hào)方程,該命令可以求f關(guān)于系統(tǒng)默 認(rèn)變量為自變量的符號(hào)方程的解。solve(f,v):求出的解是關(guān)于指定變量v的解。[a1,a2,…,an]=solve(f1,f2,…,fn)[a1,a2,…,an]=solve(f1,f2,…,fn,’v1,v2,…,vn’)如果表達(dá)式不是一個(gè)方程式(不含等號(hào)),則在求解之前自動(dòng)將表達(dá)式置成0。solve命令也支持字符定義方式3.3.2常微分方程的求解MATLAB的符號(hào)工具箱中提供了求解常微分方程(組)的命令:dsolve
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度新能源發(fā)電項(xiàng)目開(kāi)發(fā)與建設(shè)合同帶眉腳
- 二零二五年度體育場(chǎng)館運(yùn)營(yíng)與管理承包合同3篇
- 二零二四年度印刷廠印刷設(shè)備租賃與技術(shù)支持合同6篇
- 二零二四年建筑材料供應(yīng)與質(zhì)量檢測(cè)合同3篇帶眉腳
- 企業(yè)債券擔(dān)保合同范本(2024年修訂版)版B版
- 2025年專業(yè)協(xié)商解除勞動(dòng)合同協(xié)議范文(2篇)
- 2025產(chǎn)品銷售合同書(shū)
- 2025年品牌合作合同
- 2025產(chǎn)品經(jīng)銷買(mǎi)賣合同
- 2025學(xué)管師勞動(dòng)合同(標(biāo)準(zhǔn)版)
- 道路瀝青工程施工方案
- 2025年度正規(guī)離婚協(xié)議書(shū)電子版下載服務(wù)
- 《田口方法的導(dǎo)入》課件
- 春節(jié)后安全生產(chǎn)開(kāi)工第一課
- 內(nèi)陸?zhàn)B殖與水產(chǎn)品市場(chǎng)營(yíng)銷策略考核試卷
- 電力電纜工程施工組織設(shè)計(jì)
- 2024年重慶市中考數(shù)學(xué)試題B卷含答案
- 醫(yī)生給病人免責(zé)協(xié)議書(shū)(2篇)
- 票據(jù)業(yè)務(wù)居間合同模板
- 承包鋼板水泥庫(kù)合同范本(2篇)
- 頸椎骨折的護(hù)理常規(guī)課件
評(píng)論
0/150
提交評(píng)論