




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
MATLAB的符號計算所謂符號計算是指在運算時,無須事先對變量賦值,而將所得到結果以標準的符號形式來表示。MathWorks公司以Maple的內核作為符號計算引擎(Engine),依賴Maple已有的函數(shù)庫,開發(fā)了實現(xiàn)符號計算的兩個工具箱:基本符號工具箱和擴展符號工具箱。一、符號計算基礎一、符號計算基礎(一)定義符號變量參與符號運算的對象可以是符號變量、符號表達式或符號矩陣。符號變量要先定義,后引用??梢杂胹ym函數(shù)、syms函數(shù)將運算量定義為符號型數(shù)據(jù)。引用符號運算函數(shù)時,用戶可以指定函數(shù)執(zhí)行過程中的變量參數(shù);若用戶沒有指定變量參數(shù),則使用findsym函數(shù)默認的變量作為函數(shù)的變量參數(shù)。1、sym函數(shù)
sym函數(shù)的主要功能是創(chuàng)建符號變量,以便進行符號運算,也可以用于創(chuàng)建符號表達式或符號矩陣。用sym函數(shù)創(chuàng)建符號變量的一般格式為:
x=sym(‘x’)其目的是將’x’創(chuàng)建為符號變量,以x作為輸出變量名。每次調用該函數(shù),可以定義一個符號變量。一、符號計算基礎(一)定義符號變量在MATLAB命令窗口,輸入命令:
a=sym('a');b=sym('b');c=sym('c');d=sym('d');%定義4個符號變量w=10;x=5;y=-8;z=11;%定義4個數(shù)值變量A=[a,b;c,d]%建立符號矩陣AB=[w,x;y,z]%建立數(shù)值矩陣Bdet(A)%計算符號矩陣A的行列式det(B)%計算數(shù)值矩陣B的行列式比較符號常數(shù)與數(shù)值在代數(shù)運算時的差別。pi1=sym('pi');k1=sym('8');k2=sym('2');k3=sym('3');%定義符號變量pi2=pi;r1=8;r2=2;r3=3;%定義數(shù)值變量sin(pi1/3)%計算符號表達式值sin(pi2/3)%計算數(shù)值表達式值sqrt(k1)%計算符號表達式值sqrt(r1)%計算數(shù)值表達式值sqrt(k3+sqrt(k2))%計算符號表達式值sqrt(r3+sqrt(r2))%計算數(shù)值表達式值【例1】作符號計算:a,b,x,y均為符號運算量。在符號運算前,應先將a,b,x,y定義為符號運算量一、符號計算基礎(一)定義符號變量a=sym(‘a(chǎn)’);
%定義‘a(chǎn)’為符號運算量,輸出變量名為ay=2/bb=sym(‘b’);x=sym(‘x’);y=sym(‘y”);[x,y]=solve(a*x-b*y-1,a*x+b*y-5,x,y)%以a,b為符號常數(shù),x,y為符號變量即可得到方程組的解:x=3/ay=2/b一、符號計算基礎(一)定義符號變量【例2】已知一復數(shù)表達式z=x+i*y,試求其共軛復數(shù),并求該表達式與其共軛復數(shù)乘積的多項式。為了使乘積表達式x^2+y^2非負,這里,把變量x和y定義為實數(shù)。x=sym(‘x’,’real’);y=sym(‘y’,’real’);一、符號計算基礎(一)定義符號變量z=x+i*y;%定義復數(shù)表達式conj(z);%求共軛復數(shù)expand(z*conj(z))%求表達式與其共軛復數(shù)乘積的多項式ans=x^2+y^2若要去掉’x’的屬性,可以使用下面語句
x=sym(‘x’,’unreal’)將’x’創(chuàng)建為純格式的符號變量。一、符號計算基礎(一)定義符號變量2、syms函數(shù)syms函數(shù)的功能與sym函數(shù)類似。syms函數(shù)可以在一個語句中同時定義多個符號變量,其一般格式為:
symsarg1arg2…argN用于將arg1,arg2,…,argN等符號創(chuàng)建為符號型數(shù)據(jù)。一、符號計算基礎(一)定義符號變量一、符號計算基礎(一)定義符號變量syms函數(shù)的一般調用格式為:symsvar1var2…varn
函數(shù)定義符號變量var1,var2,…,varn等。用這種格式定義符號變量時不要在變量名上加字符分界符('),變量間用空格而不要用逗號分隔。一、符號計算基礎(一)定義符號變量用兩種方法建立符號表達式。在MATLAB窗口,輸入命令:U=sym('3*x^2+5*y+2*x*y+6')%定義符號表達式Usymsxy;%建立符號變量x、yV=3*x^2+5*y+2*x*y+6%定義符號表達式V2*U-V+6%求符號表達式的值計算3階范得蒙矩陣行列式的值。設A是一個由符號變量a,b,c確定的范得蒙矩陣。命令如下:symsabc;U=[a,b,c];A=[[1,1,1];U;U.^2]%建立范得蒙符號矩陣det(A)%計算A的行列式值(二)符號變量的確定在數(shù)學表達式中,一般習慣于使用排在字母表中前面的字母作為變量的系數(shù),而用排在后面的字母表示變量。例如:
f=ax2+bx+c表達式中的a,b,c通常被認為是常數(shù),用作變量的系數(shù);而將x看作自變量。符號表達式中變量的確定MATLAB中的符號可以表示符號變量和符號常數(shù)。findsym可以幫助用戶查找一個符號表達式中的的符號變量。該函數(shù)的調用格式為:findsym(S,n)函數(shù)返回符號表達式S中的n個符號變量,若沒有指定n,則返回S中的全部符號變量。在求函數(shù)的極限、導數(shù)和積分時,如果用戶沒有明確指定自變量,MATLAB將按缺省原則確定主變量并對其進行相應微積分運算??捎胒indsym(S,1)查找系統(tǒng)的缺省變量,事實上,MATLAB按離字符'x'最近原則確定缺省變量。例如,數(shù)學表達式
f=xng=sin(at+b)根據(jù)數(shù)學式中表示自變量的習慣,默認a,b,c為符號常數(shù),x為符號變量。若在MATLAB中表示上述表達式,首先用syms函數(shù)定義a,b,n,t,x為符號對象。在進行導數(shù)運算時,由于沒有指定符號變量,則系統(tǒng)采用數(shù)學習慣來確定表達式中的自變量,默認a,b,c為符號常數(shù),x,t為符號變量。即:對函數(shù)f求導為:df/dx
對函數(shù)g求導為:dg/dt一、符號計算基礎(二)默認符號變量用findsym函數(shù)查詢默認的變量。該函數(shù)的引用格式為:
findsym(f,n)說明:f為用戶定義的符號函數(shù),
n為正整數(shù),表示查詢變量的個數(shù)。
n=i,表示查詢i個系統(tǒng)默認變量。n值省略時表示查詢符號函數(shù)中全部系統(tǒng)默認變量。一、符號計算基礎【例3】查詢符號函數(shù)
f=xng=sin(at+b)中的系統(tǒng)默認變量。symsabntx%定義符號變量f=x^n;%給定符號函數(shù)g=sin(a*t+b);findsym(f,1)%在f函數(shù)中查詢1個系統(tǒng)默認變量ans=x表示f函數(shù)中查詢的1個系統(tǒng)默認變量為x。一、符號計算基礎(二)默認符號變量(三)符號表達式符號表達式由符號變量、函數(shù)、算術運算符等組成。符號表達式的書寫格式與數(shù)值表達式相同。例如,數(shù)學表達式
其符號表達式為:1+sqr(5*x))/2注意,在定義表達式前應先將表達式中的字符x定義為符號變量。一、符號計算基礎基本的符號運算1.符號表達式運算(1)符號表達式的四則運算例符號表達式的四則運算示例。symsxyz;f=2*x+x^2*x-5*x+x^3%符號表達式的結果為最簡形式f=2*x/(5*x)%符號表達式的結果為最簡形式f=(x+y)*(x-y)%符號表達式的結果不是x^2-y^2,而是
(x+y)*(x-y)(2)因式分解與展開factor(S)對S分解因式,S是符號表達式或符號矩陣。expand(S)對S進行展開,S是符號表達式或符號矩陣。collect(S)對S合并同類項,S是符號表達式或符號矩陣。collect(S,v)對S按變量v合并同類項,S是符號表達式或符號矩陣。例6對符號矩陣A的每個元素分解因式。命令如下:symsabxy;A=[2*a^2*b^3*x^2-4*a*b^4*x^3+10*a*b^6*x^4,3*x*y-5*x^2;4,a^3-b^3];factor(A)%對A的每個元素分解因式例6.8計算表達式S的值。命令如下:symsxy;s=(-7*x^2-8*y^2)*(-x^2+3*y^2);expand(s)%對s展開collect(s,x)%對s按變量x合并同類項(無同類項)factor(ans)%對ans分解因式(3)表達式化簡MATLAB提供的對符號表達式化簡的函數(shù)有:simplify(S)應用函數(shù)規(guī)則對S進行化簡。simple(S)調用MATLAB的其他函數(shù)對表達式進行綜合化簡,并顯示化簡過程。例6.9化簡命令如下:symsxy;s=(x^2+y^2)^2+(x^2-y^2)^2;simple(s)%MATLAB自動調用多種函數(shù)對s進行化簡,并顯示每步結果2.符號矩陣運算transpose(S)返回S矩陣的轉置矩陣。determ(S)返回S矩陣的行列式值。colspace(S)返回S矩陣列空間的基。[Q,D]=eigensys(S)Q返回S矩陣的特征向量,D返回S矩陣的特征值。(四)生成符號函數(shù)將表達式中的自變量定義為符號變量后,賦值給符號函數(shù)名,即可生成符號函數(shù)。例如有一數(shù)學表達式:一、符號計算基礎其用符號表達式生成符號函數(shù)fxy的過程為:
symsabcxy%定義符號運算量
fxy=(a*x^2+b*y^2)/c^2%生成符號函數(shù)生成符號函數(shù)fxy后,即可用于微積分等符號計算。一、符號計算基礎(四)生成符號函數(shù)【例4】定義一個符號函數(shù)fxy=(a*x2+b*y2)/c2
,分別求該函數(shù)對x、y的導數(shù)和對x的積分。symsabcxy
%定義符號變量fxy=(a*x^2+b*y^2)/c^2;
%生成符號函數(shù)
diff(fxy,x)
%符號函數(shù)fxy對x求導數(shù)ans=2*a*x/c^2diff(fxy,y)
%符號函數(shù)fxy對y求導數(shù)ans=2*b*y/c^2
%符號函數(shù)fxy對x求積分int(fxy,x)
ans=1/c^2*(1/3*a*x^3+b*y^2*x)一、符號計算基礎(四)生成符號函數(shù)二、微積分(一)微積分函數(shù)1.求極限函數(shù)limit用于求符號函數(shù)f的極限。系統(tǒng)可以根據(jù)用戶要求,計算變量從不同方向趨近于指定值的極限值。該函數(shù)的格式及功能:二、微積分limit(f,x,a):求符號函數(shù)f(x)的極限值。即計算當變量x趨近于常數(shù)a時,f(x)函數(shù)的極限值。
limit(f,a):求符號函數(shù)f(x)的極限值。由于沒有指定符號函數(shù)f(x)的自變量,則使用該格式時,符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認自變量,既變量x趨近于a。limit(f):求符號函數(shù)f(x)的極限值。符號函數(shù)f(x)的變量為函數(shù)findsym(f)確定的默認變量;沒有指定變量的目標值時,系統(tǒng)默認變量趨近于0,即a=0的情況。limit(f,x,a,'right'):求符號函數(shù)f的極限值。'right'表示變量x從右邊趨近于a。limit(f,x,a,'left'):求符號函數(shù)f的極限值。'left'表示變量x從左邊趨近于a。二、微積分【例5】求極限symsx;%定義符號變量f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x)^3;%確定符號表達式w=limit(f)%求函數(shù)的極限w=-1/2二、微積分2.微分函數(shù)diff函數(shù)用于對符號表達式s求微分。該函數(shù)的一般引用格式為:
diff(s,’v’,n)二、微積分說明:
應用diff(s)沒有指定微分變量和微分階數(shù),則系統(tǒng)按findsym函數(shù)指示的默認變量對符號表達式s求一階微分。應用diff(s,‘v’)或diff(s,sym(‘v’))格式,表示以v為自變量,對符號表達式s求一階微分。應用diff(s,n)格式,表示對符號表達式s求n階微分,n為正整數(shù)。應用diff(s,‘v’,n)diff(s,n,‘v’)格式,表示以v為自變量,對符號表達式s求n階微分。【例6】求導數(shù):x=sym('x');%定義符號變量t=sym('t');diff(sin(x^2))%求導運算ans=2*cos(x^2)*x二、微積分3.積分函數(shù)積分函數(shù)int(s,v,a,b)可以對被積函數(shù)或符號表達式s求積分。其引用格式為:
int(s,v,a,b)說明:應用int(s)格式,表示沒有指定積分變量和積分階數(shù)時,系統(tǒng)按findsym函數(shù)指示的默認變量對被積函數(shù)或符號表達式s求一階積分。應用int(s,v)格式,表示以v為自變量,對被積函數(shù)或符號表達式s求一階不定積分。應用積分函數(shù)時,如果給定a、b兩項,表示是進行定積分運算。a、b分別表示定積分的下限和上限。不指定積分的下限和上限表示求不定積分。二、微積分【例7】求下述積分。求積分:symsxint(1/(1+x^2))ans=atan(x)二、微積分數(shù)值積分。先建立一個函數(shù)文件fx.m:functionfx=fx(x)fx=6+0.3*x;再在MATLAB命令窗口,輸入命令:m=quad('fx',0,10,1e-6)函數(shù)的泰勒級數(shù)MATLAB中提供了將函數(shù)展開為冪級數(shù)的函數(shù)taylor,其調用格式為:taylor(f,v,n,a)例6.23求函數(shù)在指定點的泰勒展開式。命令如下:x=sym('x');f1=(1+x+x^2)/(1-x+x^2);f2=sqrt(1-2*x+x^3)-(1-3*x+x^2)^(1/3);taylor(f1,x,5)%求(1)。展開到x的4次冪時應選擇n=5taylor(f2,6)%求(2)。例6.24將多項式表示成x+1的冪的多項式。命令如下:x=sym('x');p=1+3*x+5*x^2-2*x^3;f=taylor(p,x,-1,4)例6.25應用泰勒公式近似計算。命令如下:x=sym('x');f=(1-x)^(1/12);%定義函數(shù),4000^(1/12)=2f(96/2^12)g=taylor(f,4)%求f的泰勒展開式g,有4000^(1/12)≈2g(96/2^12)b=96/2^12;a=1-b/12-11/288*b^2-253/10368*b^3%計算g(b)2*a%求4000^(1/12)的結果4000^(1/12)%用MATLAB的乘方運算直接計算4.級數(shù)(級數(shù)求和)級數(shù)求和運算是數(shù)學中常見的一種運算。例如:
f(x)=a0+a1x+a2x2+a3x3+…+anxn函數(shù)symsum可以用于此類對符號函數(shù)f的求和運算。該函數(shù)的引用時,應確定級數(shù)的通項式s,變量的變化范圍a和b。該函數(shù)的引用格式為:
symsum(s,a,b)二、微積分【例8】求級數(shù)的和:鍵入:1/12+1/22+1/32+1/42+……symsksymsum(1/k^2,1,Inf)%k值為1到無窮大ans=1/6*pi^2其結果為:1/12+1/22+1/32+1/42+……=π2/6二、微積分三、簡化方程表達式1.因式分解factor函數(shù)的功能為:把多項式S分解為多個因式,各多項式的系數(shù)均為有理數(shù)。格式為:
factor(s)三、簡化方程表達式【例9】將表達式(x^9-1)分解為多個因式。symsxfactor(x^9-1)ans=(x-1)*(x^2+x+1)*(x^6+x^3+1)2.嵌套將符號多項式s用嵌套形式表示,即用多層括號的形式表示。Horner函數(shù)可以實現(xiàn)此功能。該函數(shù)的格式為:
horner(s)三、簡化方程表達式【例10】將表達式x^3-6*x^2+11*x-6用嵌套形式表示。symsxhorner(x^3-6*x^2+11*x-6)ans=-6+(11+(-6+x)*x)*x四、解方程解方程函數(shù)的格式為:solve(expr1,expr2,...,exprN,var1,var2,...varN)或solve(expr1,expr2,...,exprN)其功能為:求解代數(shù)方程組expr1,expr2,...,exprN的根,未知數(shù)為var1,var2,...varN。說明:若不指明符號表達式expr1,expr2,...,exprN的值,系統(tǒng)默認為0。例如給出一個表達式x^2-3*x-8,則系統(tǒng)將按x^2-3*x-8=0進行運算;四、解方程【例11】解代數(shù)方程:a*x2-b*x-6=0symsabxsolve(a*x^2-b*x-6)ans=[1/2/a*(b+(b^2+24*a)^(1/2))][1/2/a*(b-(b^2+24*a)^(1/2))]即該方程有兩個根:x1=1/2/a*(b+(b^2+24*a)^(1/2));
x2=1/2/a*(b-(b^2+24*a)^(1/2))
四、解方程四、解方程例6.28解方程。命令如下:x=solve('1/(x+2)+4*x/(x^2-4)=1+2/(x-2)','x')%解方程(1)f=sym('x-(x^3-4*x-7)^(1/3)=1');x=solve(f)%解方程(2)x=solve('2*sin(3*x-pi/4)=1')
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自行車企業(yè)公益項目策劃考核試卷
- 江蘇省揚州市田家炳實驗中學2025年初三下學期十月階段性考試試題數(shù)學試題含解析
- 廊坊師范學院《中藥分析實驗》2023-2024學年第一學期期末試卷
- 天津理工大學中環(huán)信息學院《中醫(yī)護膚理論與技術》2023-2024學年第二學期期末試卷
- 石家莊經(jīng)濟職業(yè)學院《康復醫(yī)學導論》2023-2024學年第二學期期末試卷
- 內蒙古交通職業(yè)技術學院《生物藥物臨床前評價》2023-2024學年第二學期期末試卷
- 寧夏理工學院《韓國語應用寫作》2023-2024學年第二學期期末試卷
- 江蘇省鎮(zhèn)江丹陽市2025年初三第二次??颊Z文試題試卷含解析
- 麗江職業(yè)技術學院《外科學Ⅰ》2023-2024學年第一學期期末試卷
- 遼寧省遼陽市燈塔市2024-2025學年小升初數(shù)學自主招生備考卷含解析
- 動脈瘤醫(yī)學知識專題講座
- 西南交通大學-畢業(yè)答辯PPT模板
- 遼寧省中小學鄉(xiāng)村導師團隊推薦表
- 外傷性房角后退
- 醫(yī)院醫(yī)保內部控制制度
- 質量管理體系認證證書Word文檔模板
- 中考總復習《機械效率》課件
- 【物理】2022年高考真題-天津卷
- 建筑物理聲復習歸納總結
- 有限空間作業(yè)風險告知卡(常用可編輯)
- 尾礦庫培訓教材
評論
0/150
提交評論