資源描述:
《matlab符號運算3》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章MATLAB符號運算3.1符號運算基礎(chǔ)3.2符號矩陣3.3微積分3.4方程求解3.5級數(shù)3.6符號積分變換3.7符號函數(shù)繪圖3.8圖示化函數(shù)計數(shù)器3.1符號運算基礎(chǔ)3.1.1數(shù)值運算與符號運算數(shù)值運算在運算前必須先對變量賦值,然后才能參加運算。例如:>>clear>>f=x^2+4*x+4??undefinedfunctionorvariable‘x’.數(shù)值運算具有簡單、實用等優(yōu)點,適用于工程實踐及科學(xué)研究等各個方面,但也有缺點,如無法得到無誤差的最終解,不適用于非數(shù)值計算的場合等。引入符號運算就能很好地解決這方面的問題。例如:>>clear>>f=sym('x^2+4*x+4'
2、)f=x^2+4*x+4符號運算不需要對變量賦值就可運算,運算結(jié)果以標(biāo)準(zhǔn)的符號形式表達。3.1.2建立符號對象符號運算同數(shù)值運算一樣,也要有符號常量、符號變量、符號函數(shù)和符號操作符等元素。與數(shù)值運算不同的是:符號變量和符號表達式在使用前必須說明,在創(chuàng)建了相關(guān)的符號變量和表達式后,才能對其進一步進行操作。1.建立符號變量和符號常量1)用sym函數(shù)來創(chuàng)建單個變量格式:符號變量名=sym(符號字符串)功能:該函數(shù)可以建立一個符號量,符號字符串可以是常量、變量或表達式例如:>>x=sym('a')%創(chuàng)建符號變量x>>f1=sym('a*x^2+b*x+c')%創(chuàng)建符號變量f1和一個符號表達式2
3、)syms函數(shù)格式:syms符號變量名1符號變量名2…功能:該函數(shù)一次可以定義多個符號變量,從而克服函數(shù)sym一次只能定義一個符號變量的不足。注意:定義時不要在符號變量名上加字符串分界符('),變量間用空格而不要用逗號分隔。例如:>>clear>>symsabcx>>whosNameSizeBytesClassa1x1126symobjectb1x1126symobjectc1x1126symobjectx1x1126symobject【例3.1】符號變量(常量)與數(shù)值變量(常量)的區(qū)別>>a=sym('a');b=sym('b');>>x=5;y=-3;>>v=a*a+b*bv=a^
4、2+b^2>>w=x*x+y*yw=34>>p1=sym('pi');c=sym('4');>>p2=pi;z=4;>>s=sin(p1/c)s=1/2*2^(1/2)>>t=sin(p2/z)t=0.70712.建立符號表達式含有符號對象的表達式稱符號表達式,建立方法有:1)利用單引號來建立符號表達式例如:>>f='log(x)';%創(chuàng)建符號函數(shù)>>equation='a*x^2+b*x+c=0';%創(chuàng)建符號方程>>diffeq='Dy-y=x';%創(chuàng)建符號微分方程說明:這種方法創(chuàng)建的符號表達式對空格是敏感的,因此不要在字符間亂加空格。2)利用sym函數(shù)來建立符號表達式例如:>>f1
5、=sym('a*x^2+b*x+c')%創(chuàng)建符號變量f1和一個符號表達式>>f2=sym('[a,b;c,d]')%創(chuàng)建符號矩陣此時不需要定義變量x、y和a、b、c、d。3)使用已經(jīng)定義的符號變量組成符號表達式例如:>>clear>>symsxy;>>v=3*x^2+5*y+2*x*y+3v=3*x^2+5*y+2*x*y+3一旦定義好了符號變量和符號表達式就可以方便地用它們進行符號運算了?!纠?.2】符號表達式的使用>>clear>>f=sym('a*x^2+b*x+c')%創(chuàng)建符號變量f和一個符號表達式>>df=diff(f)%微分df=2*a*x+b>>nf=int(f)%積分n
6、f=1/3*a*x^3+1/2*b*x^2+c*x>>solve(f)%對應(yīng)一元二次方程的根1/2/a*(-b+(b^2-4*a*c)^(1/2))1/2/a*(-b-(b^2-4*a*c)^(1/2))在上面的符號表達式中,系統(tǒng)自動將x作為自變量來處理(默認的自變量),若含有多個符號變量時,MATLAB會基于如下規(guī)則:除i和j外在字母表上最接近x的小寫字母。3.1.3符號表示式的運算1.算術(shù)運算(加、減、乘、除)>>clear>>f1=sym('1/(a-b)');>>f2=sym('2*a/(a+b)');>>f3=sym('(a+1)*(b-1)*(a-b)');>>f1+f2%
7、符號和ans=1/(a-b)+2*a/(a+b)>>f1*f3%符號積ans=(a+1)*(b-1)>>f1/f3%符號商ans=1/(a-b)^2/(a+1)/(b-1)2.函數(shù)運算1)合并、展開、化簡等函數(shù)collect函數(shù):將表達式中相同次冪的項合并;expand函數(shù):將表示式展開;simplify函數(shù):利用代數(shù)中的函數(shù)規(guī)則對表達式進行化簡;factor函數(shù):將表達式因式分解;【例3.3】合并、展開、化簡>>f1=sym('(exp(x)