




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)學軟件Matlab——Matlab符號運算1數(shù)學軟件Matlab——Matlab符號運算1主要內容Matlab符號運算介紹符號對象與基本符號運算
symvar、subs和
vpa
常見的符號計算(重點內容)2主要內容Matlab符號運算介紹2符號運算
計算以推理方式進行,不受計算誤差累積所帶來的困擾
符號計算指令的調用比較簡單,與教科書上的公式相近
符號計算可以給出完全正確的封閉解,或任意精度的數(shù)值解(封閉解不存在時)
符號計算所需的運行時間相對較長
符號運算的特點
3符號運算計算以推理方式進行,不受計算誤差累積所帶來的困擾Matlab符號運算Matlab符號運算是通過符號數(shù)學工具箱(SymbolicMathToolbox)來實現(xiàn)的。
Matlab的符號數(shù)學工具箱可以完成幾乎所有得符號運算功能,如:符號表達式的運算,符號矩陣的運算,符號微積分,符號作圖,符號代數(shù)方程求解,符號微分方程求解等。此外,該工具箱還支持可變精度運算,即支持以指定的精度返回結果。Matlab符號運算4Matlab符號運算Matlab符號運算是通過符號數(shù)學符號運算舉例
求一元二次方程ax2+bx+c=0
的根solve('a*x^2+b*x+c=0')
求的根f(x)=(cos
x)2
的一次導數(shù)x=sym('x');diff(cos(x)^2)
計算f(x)=x2
在區(qū)間[a,b]
上的定積分symsabx;int(x^2,a,b)5符號運算舉例求一元二次方程ax2+bx+c=內容提要Matlab符號運算介紹
符號對象與基本符號運算
symvar、subs和vpa常見的符號計算6內容提要Matlab符號運算介紹6
在進行符號運算時,必須先定義基本的符號對象,可以是
符號變量、符號表達式等符號對象是一種數(shù)據(jù)結構符號對象符號表達式:含有符號對象的表達式稱
符號矩陣/數(shù)組:元素為符號表達式的矩陣/數(shù)組Matlab符號對象7在進行符號運算時,必須先定義基本的符號對象,可以是
sym
用來建立單個符號對象,一般調用格式為:符號對象的定義/聲明:sym、syms符號對象的建立例:a=sym('a')符號變量
=
sym(x)參數(shù)x
可以是一個數(shù)或數(shù)值矩陣,也可以是字符串a
是符號變量b
是符號常量b=sym('1/3')C
是符號矩陣C=sym('[1ab;cd]')8sym用來建立單個符號對象,一般調用格式為:符號對象的符號對象的建立syms符號變量1符號變量2...符號變量n例:symsabc;a=sym('a');b=sym('b');c=sym('c');
syms
用來聲明多個符號變量,一般調用格式為:符號對象的定義/聲明:sym、syms9符號對象的建立syms符號變量1符號變量2...符號例:建立符號表達式通常有以下2種方法:(1)用sym
函數(shù)直接建立符號表達式
(2)使用已經定義的符號變量組成符號表達式y(tǒng)=sym('sin(x)+cos(x)')x=sym('x');y=sin(x)+cos(x)符號表達式symsx;y=sin(x)+cos(x)符號表達式:含符號對象的表達式10例:建立符號表達式通常有以下2種方法:y=sym('sMatlab符號運算采用的運算符和基本函數(shù),在形狀、名稱和使用上,都與數(shù)值計算中的運算符和基本函數(shù)完全相同基本符號運算普通運算:數(shù)組運算:矩陣轉置:基本運算基本數(shù)學函數(shù)三角函數(shù)與反三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等sin,cos,asin,acos,exp,log,abs,diag,tril,triu,...+
-
*
\
/
^.*.\./.^'.'11Matlab符號運算采用的運算符和基本函數(shù),在形狀、名稱和符號矩陣A=sym('[1+x,sin(x);5,exp(x)]')
使用
sym
函數(shù)直接生成
將數(shù)值矩陣轉化成符號矩陣
符號矩陣中元素的引用和修改B=[2/3,sqrt(2);5.2,log(3)];C=sym(B)A=sym('[1+x,sin(x);5,exp(x)]');A(1,2)
%引用A(2,2)=sym('cos(x)')
%重新賦值
符號矩陣的生成12符號矩陣A=sym('[1+x,sin(x);5,ex內容提要Matlab符號運算介紹符號對象與基本符號運算
symvar、subs和
vpa常見的符號計算13內容提要Matlab符號運算介紹13symvarsymvar(s)symvar(s,N)列出符號表達式中的符號變量按字母順序列出符號表達式s
中的所有符號變量列出符號表達式
s
中離x
最近的N
個符號變量若有兩個符號變量與x
的距離相等,則ASCII碼大者優(yōu)先
常量pi,i,j
不作為符號變量f=sym('2*v-3*y+z^2+5*a')symvar(f)symvar(f,2)例:14symvarsymvar(s)symvar(s,N)列出subs用a
替換符號表達式
s
中的符號變量x這里a
可以是數(shù)/變量/表達式或符號變量/表達式符號替換用給定的數(shù)據(jù)替換符號表達式中的指定的符號變量subs(s,x,a)symsxyuv;f1=2*x+y-1;f2=subs(f1,x,u)f3=subs(f1,y,2+3)f3=subs(f1,{x,y},{u,v})例:15subs用a替換符號表達式s中的符號變量x符號subs舉例f=sym('2*u');f1=subs(f,'u',2)f2=subs(f,'u','u+2')f3=subs(f,'u',[1,2])a=3;f4=subs(f2,'u',a+2)f5=subs(f2,'u','a+2')symsxy;f6=subs(f,'u',x+y)f7=subs(f6,{x,y},{1,2})f8=subs(f6,{x,y},{x+y,x+y})例:指出下面各條語句的輸出結果符號變量若沒有聲明,則需要加上單引號!f=2*uf1=4f2=2*u+4f3=[2,4]f4=14f5=2*a+8f6=2*x+2*yf7=6f8=4*x+4*y16subs舉例f=sym('2*u');例:指出下面各條語句vpa計算表達式s
的值,保留n
位有效數(shù)字返回值是符號對象可變精度vpa(s,n)x1=vpa(sin(pi/2),10)x2=vpa(pi^3,3)x3=vpa(pi,100)例:17vpa計算表達式s的值,保留n位有效數(shù)字可變精度內容提要Matlab符號運算介紹符號對象與基本符號運算
symvar、subs和vpa
常見的符號計算(六類運算)
因式分解、展開、合并、簡化、通分和反函數(shù)等
計算極限
計算導數(shù)
計算積分
符號級數(shù)求和
代數(shù)方程和微分方程的求解(重點與難點)18內容提要Matlab符號運算介紹因式分解、展開、合并、因式分解factor(f)symsx;f=x^6+1;factor(f)
factor
也可用于正整數(shù)的分解s=factor(100)factor(12345678901234567890)
%ERRORfactor(sym('12345678901234567890'))對大整數(shù)進行因式分解時可以先將其轉化成符號常量例:例:
因式分解19因式分解factor(f)symsx;f=x^6+1;函數(shù)展開expand(f)symsx;f=(x+1)^6;expand(f)多項式展開三角函數(shù)展開symsxy;f=sin(x+y);expand(f)函數(shù)展開例:例:20函數(shù)展開expand(f)symsx;多項式展開三合并同類項symsxy;f=x^2*y+y*x+y^2+2*x;collect(f)collect(f,y)例:collect(f,v)%按指定變量v進行合并collect(f)%按默認變量進行合并合并同類項
默認變量:symvar(f)
的返回結果symsuv;g=u^2*v+u*v^3-u^2+v;collect(g)21合并同類項symsxy;f=x^2*y+y*x+y^函數(shù)簡化y=simplify(f)函數(shù)簡化
對符號表達式f
進行簡化symsx;f=sin(x)^2+cos(x)^2;y=simplify(f)例:22函數(shù)簡化y=simplify(f)函數(shù)簡化對符號表達式函數(shù)簡化y=simple(f)函數(shù)簡化
對
f嘗試多種不同的方法(包括simplify)進行簡化,
以尋求其最簡短形式例:化簡symsx;f=(cos(x)^2-sin(x)^2)*sin(2*x)*(exp(2*x)
...
-2*exp(x)+1)/(exp(2*x)-1);y1=simplify(f)y2=simple(f)23函數(shù)簡化y=simple(f)函數(shù)簡化對f嘗試多種不函數(shù)簡化[N,D]=numden(f)通分
N
為通分后的分子,D
為通分后的分母symsxy;f=x/y+y/x;[N,D]=numden(f
)[n,d]=numden(sym(112/1024))例:24函數(shù)簡化[N,D]=numden(f)通分N為通分后的horner
多項式
horner
多項式:嵌套形式的多項式symsx;f=x^4+2*x^3+4*x^2+x+1;g=horner(f)例:25horner多項式horner多項式:嵌套形式的多項式求反函數(shù)反函數(shù)finverse(f,v)%
求f
關于指定變量v
的反函數(shù)finverse(f)%
求f
關于默認變量的反函數(shù)symsxt;f=x^2+2*t;g1=finverse(f,x)g2=finverse(f,t)例:計算函數(shù)的反函數(shù)26求反函數(shù)反函數(shù)finverse(f,v)%求f關計算極限limit(f,x,a)
%
計算limit(f,a)
%
當默認變量趨向于a時的極限limit(f)
%
計算a=0時的極限limit(f,x,a,'right')
%
計算右極限limit(f,x,a,'left')
%
計算左極限例:計算
,symsxhn;L=limit((log(x+h)-log(x))/h,h,0)M=limit((1-x/n)^n,n,inf)
計算極限27計算極限limit(f,x,a)%計算例:計算計算導數(shù)g=diff(f,v)
%求符號表達式
f
關于變量
v
的導數(shù)g=diff(f)
%
計算關于默認變量的導數(shù)g=diff(f,v,n)
%求
f
關于
v
的
n
階導數(shù)
計算導數(shù)symsx;f=sin(x)+3*x^2;g1=diff(f,x)g2=diff(f,x,3)例:28計算導數(shù)g=diff(f,v)%求符號表達式f關于計算積分int(f,v,a,b)
%
計算定積分int(f,a,b)
%
計算關于默認變量的定積分int(f,v)
%
計算不定積分int(f)
%
計算關于默認變量的不定積分symsx;f=(x^2+1)/(x^2-2*x+2)^2;I=int(f,x)K=int(exp(-x^2),x,0,inf)例:計算和
計算積分29計算積分int(f,v,a,b)%計算定積分syms符號級數(shù)求和symsn;f=1/n^2;S=symsum(f,n,1,inf)S100=symsum(f,n,1,100)symsum(f,v,a,b)%
級數(shù)求和symsum(f,a,b)%
關于默認變量求和例:計算級數(shù)及其前100項的部分和S100例:計算函數(shù)級數(shù)symsnx;f=x/n^2;S=symsum(f,n,1,inf)
符號級數(shù)求和30符號級數(shù)求和symsn;f=1/n^2;symsum(f代數(shù)方程求解solve(f,v)%求方程關于指定自變量的解詳細用法見Matlab08:多項式運算與代數(shù)方程求解器
代數(shù)方程求解這里f
可以用字符串表示或符號表達式
solve
也可解方程組(通常是非線性的)得不到解析解時,給出數(shù)值解例:solve('2*x-3')%
或
solve('2*x-3=0')symsx;solve(2*x-3)%
不能寫成
solve(2*x-3=0)symsx;solve(2*x-sin(x)+1)31代數(shù)方程求解solve(f,v)%求方程關于指定自變量微分方程求解
用Maltab自帶函數(shù)解初值問題
求微分方程解析解:dsolve
求微分方程數(shù)值解*(自學,選學):
ode45、ode23、
ode113、ode23t、ode15s、ode23s、ode23tb32微分方程求解用Maltab自帶函數(shù)解初值問題求微分方dsolve求解析解
dsolve的使用y=dsolve('eq1','eq2',...,'cond1','cond2',...,'v')其中
y為輸出,
eq1、eq2、...為微分方程,cond1、cond2、...為初值條件,v
為自變量。例1:求微分方程的通解,并驗證。y=dsolve('Dy+2*x*y=x*exp(-x^2)','x')symsx;diff(y)+2*x*y-x*exp(-x^2)33dsolve求解析解dsolve的使用y=dsolvedsolve的使用
幾點說明如果省略初值條件,則表示求通解;如果省略自變量,則默認自變量為t
dsolve('Dy=2*x','x');%
dy/dx=2xdsolve('Dy=2*x');%dy/dt=2x若找不到解析解,則返回其積分形式。微分方程中用D
表示對自變量的導數(shù),如:Dyy';D2yy'';D3yy'''34dsolve的使用幾點說明如果省略初值條件,則表示求通例2:求微分方程在初值條件下的特解,并畫出解函數(shù)的圖形。y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x')ezplot(y);dsolve的使用35例2:求微分方程在初值條例3:求微分方程組
在初值條件下的特解,并畫出解函數(shù)的圖形。[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0',...'x(0)=1','y(0)=0','t')ezplot(x,y,[0,1.3]);注:解微分方程組時,如果所給的輸出個數(shù)與方程個數(shù)相同,則方程組的解按詞典順序輸出;如果只給一個輸出,則輸出的是一個包含解的結構(structure)類型的數(shù)據(jù)。dsolve的使用36例3:求微分方程組例:[x,y]=dsolve('Dx+5*x=0','Dy-3*y=0',...'x(0)=1','y(0)=1','t')r=dsolve('Dx+5*x=0','Dy-3*y=0',...'x(0)=1','y(0)=1','t')這里返回的r
是一個結構類型的數(shù)據(jù)r.x%查看解函數(shù)
x(t)r.y%查看解函數(shù)
y(t)只有很少一部分微分方程(組)能求出解析解。
大部分微分方程(組)只能利用數(shù)值方法求數(shù)值解。dsolve的輸出個數(shù)只能為一個或與方程個數(shù)相等dsolve的使用37例:[x,y]=dsolve('Dx+5*x=0','Dy-上機作業(yè)教材P33的習題6~10,寫入文件m04_1.m;2.教材P32的習題4,寫入文件m04_2.m;3.求解下列微分方程(組),寫入文件m04_3.m,并且對于初值問題還要求畫出解函數(shù)的圖形;(5)(6)選做。38上機作業(yè)教材P33的習題6~10,寫入文件m04_1.m;2上機要求將完成每題所用的命令寫入一個規(guī)定文件名的文件中然后將這些文件作為附件,通過foxmail以郵件形式發(fā)給
admin@system.mail郵件主題為:機號-學號-姓名其中機號為兩位數(shù)三個字段之間用英文狀態(tài)下的減號鏈接
上機要求強調39上機要求將完成每題所用的命令寫入一個規(guī)定文件名的文件中上機求微分方程數(shù)值解*(自學,選學)[T,Y]=solver(odefun,tspan,y0)其中y0
為初值條件,tspan為求解區(qū)間;Matlab在數(shù)值求解時自動對求解區(qū)間進行分割,T(列向量)中返回的是分割點的值(自變量),Y(數(shù)組)中返回的是這些分割點上的近似解,其列數(shù)等于因變量的個數(shù)。solver
為Matlab的ODE求解器(可以是ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb)沒有一種算法可以有效地解決所有的ODE問題,因此MATLAB提供了多種ODE求解器,對于不同的ODE,可以調用不同的求解器。40求微分方程數(shù)值解*(自學,選學)[T,Y]=solverMatlab的ODE求解器*(自學,選學)求解器ODE類型特點 說明ode45非剛性單步法;4,5階R-K方法;累計截斷誤差為(△x)3大部分場合的首選方法ode23非剛性單步法;2,3階R-K方法;累計截斷誤差為(△x)3使用于精度較低的情形ode113非剛性多步法;Adams算法;高低精度均可到10-3~10-6
計算時間比
ode45
短ode23t適度剛性采用梯形算法適度剛性情形ode15s剛性多步法;Gear’s反向數(shù)值微分;精度中等若
ode45
失效時,可嘗試使用ode23s剛性單步法;2階Rosebrock算法;低精度當精度較低時,計算時間比ode15s
短ode23tb剛性梯形算法;低精度當精度較低時,計算時間比ode15s短41Matlab的ODE求解器*(自學,選學)求解器ODE類型特參數(shù)說明*(自學,選學)odefun
為顯式常微分方程,可以用命令inline
定義,或在函數(shù)文件中定義,然后通過函數(shù)句柄調用。fun=inline('-2*y+2*x^2+2*x','x','y');[x,y]=ode23(fun,[0,0.5],1);注:也可以在tspan
中指定對求解區(qū)間的分割,如:[x,y]=ode23(fun,[0:0.1:0.5],1);%此時x=[0:0.1:0.5][T,Y]=solver(odefun,tspan,y0)求初值問題
的數(shù)值解,求解范圍為[0,0.5]例:42參數(shù)說明*(自學,選學)odefun為顯式常微分方程,可以數(shù)值求解舉例*(自學,選學)如果需求解的問題是高階常微分方程,則需將其化為一階常微分方程組,此時必須用函數(shù)文件來定義該常微分方程組。令
,則原方程可化為求解VerderPol初值問題例:43數(shù)值求解舉例*(自學,選學)如果需求解的問題是高階常微分方程數(shù)值求解舉例*(自學,選學)
先編寫函數(shù)文件
verderpol.mfunctionxprime=verderpol(t,x)globalmu;xprime=[x(2);mu*(1-x(1)^2)*x(2)-x(1)];再編寫腳本文件vdpl.m,在命令窗口直接運行該文件。clear;globalmu;mu=7;y0=[1;0];[t,x]=ode45('verderpol',[0,40],y0);
plot(t,x(:,1),'r-',
t,x(:,2),'b-');44數(shù)值求解舉例*(自學,選學)先編寫函數(shù)文件verderp數(shù)學軟件Matlab——Matlab符號運算45數(shù)學軟件Matlab——Matlab符號運算1主要內容Matlab符號運算介紹符號對象與基本符號運算
symvar、subs和
vpa
常見的符號計算(重點內容)46主要內容Matlab符號運算介紹2符號運算
計算以推理方式進行,不受計算誤差累積所帶來的困擾
符號計算指令的調用比較簡單,與教科書上的公式相近
符號計算可以給出完全正確的封閉解,或任意精度的數(shù)值解(封閉解不存在時)
符號計算所需的運行時間相對較長
符號運算的特點
47符號運算計算以推理方式進行,不受計算誤差累積所帶來的困擾Matlab符號運算Matlab符號運算是通過符號數(shù)學工具箱(SymbolicMathToolbox)來實現(xiàn)的。
Matlab的符號數(shù)學工具箱可以完成幾乎所有得符號運算功能,如:符號表達式的運算,符號矩陣的運算,符號微積分,符號作圖,符號代數(shù)方程求解,符號微分方程求解等。此外,該工具箱還支持可變精度運算,即支持以指定的精度返回結果。Matlab符號運算48Matlab符號運算Matlab符號運算是通過符號數(shù)學符號運算舉例
求一元二次方程ax2+bx+c=0
的根solve('a*x^2+b*x+c=0')
求的根f(x)=(cos
x)2
的一次導數(shù)x=sym('x');diff(cos(x)^2)
計算f(x)=x2
在區(qū)間[a,b]
上的定積分symsabx;int(x^2,a,b)49符號運算舉例求一元二次方程ax2+bx+c=內容提要Matlab符號運算介紹
符號對象與基本符號運算
symvar、subs和vpa常見的符號計算50內容提要Matlab符號運算介紹6
在進行符號運算時,必須先定義基本的符號對象,可以是
符號變量、符號表達式等符號對象是一種數(shù)據(jù)結構符號對象符號表達式:含有符號對象的表達式稱
符號矩陣/數(shù)組:元素為符號表達式的矩陣/數(shù)組Matlab符號對象51在進行符號運算時,必須先定義基本的符號對象,可以是
sym
用來建立單個符號對象,一般調用格式為:符號對象的定義/聲明:sym、syms符號對象的建立例:a=sym('a')符號變量
=
sym(x)參數(shù)x
可以是一個數(shù)或數(shù)值矩陣,也可以是字符串a
是符號變量b
是符號常量b=sym('1/3')C
是符號矩陣C=sym('[1ab;cd]')52sym用來建立單個符號對象,一般調用格式為:符號對象的符號對象的建立syms符號變量1符號變量2...符號變量n例:symsabc;a=sym('a');b=sym('b');c=sym('c');
syms
用來聲明多個符號變量,一般調用格式為:符號對象的定義/聲明:sym、syms53符號對象的建立syms符號變量1符號變量2...符號例:建立符號表達式通常有以下2種方法:(1)用sym
函數(shù)直接建立符號表達式
(2)使用已經定義的符號變量組成符號表達式y(tǒng)=sym('sin(x)+cos(x)')x=sym('x');y=sin(x)+cos(x)符號表達式symsx;y=sin(x)+cos(x)符號表達式:含符號對象的表達式54例:建立符號表達式通常有以下2種方法:y=sym('sMatlab符號運算采用的運算符和基本函數(shù),在形狀、名稱和使用上,都與數(shù)值計算中的運算符和基本函數(shù)完全相同基本符號運算普通運算:數(shù)組運算:矩陣轉置:基本運算基本數(shù)學函數(shù)三角函數(shù)與反三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)等sin,cos,asin,acos,exp,log,abs,diag,tril,triu,...+
-
*
\
/
^.*.\./.^'.'55Matlab符號運算采用的運算符和基本函數(shù),在形狀、名稱和符號矩陣A=sym('[1+x,sin(x);5,exp(x)]')
使用
sym
函數(shù)直接生成
將數(shù)值矩陣轉化成符號矩陣
符號矩陣中元素的引用和修改B=[2/3,sqrt(2);5.2,log(3)];C=sym(B)A=sym('[1+x,sin(x);5,exp(x)]');A(1,2)
%引用A(2,2)=sym('cos(x)')
%重新賦值
符號矩陣的生成56符號矩陣A=sym('[1+x,sin(x);5,ex內容提要Matlab符號運算介紹符號對象與基本符號運算
symvar、subs和
vpa常見的符號計算57內容提要Matlab符號運算介紹13symvarsymvar(s)symvar(s,N)列出符號表達式中的符號變量按字母順序列出符號表達式s
中的所有符號變量列出符號表達式
s
中離x
最近的N
個符號變量若有兩個符號變量與x
的距離相等,則ASCII碼大者優(yōu)先
常量pi,i,j
不作為符號變量f=sym('2*v-3*y+z^2+5*a')symvar(f)symvar(f,2)例:58symvarsymvar(s)symvar(s,N)列出subs用a
替換符號表達式
s
中的符號變量x這里a
可以是數(shù)/變量/表達式或符號變量/表達式符號替換用給定的數(shù)據(jù)替換符號表達式中的指定的符號變量subs(s,x,a)symsxyuv;f1=2*x+y-1;f2=subs(f1,x,u)f3=subs(f1,y,2+3)f3=subs(f1,{x,y},{u,v})例:59subs用a替換符號表達式s中的符號變量x符號subs舉例f=sym('2*u');f1=subs(f,'u',2)f2=subs(f,'u','u+2')f3=subs(f,'u',[1,2])a=3;f4=subs(f2,'u',a+2)f5=subs(f2,'u','a+2')symsxy;f6=subs(f,'u',x+y)f7=subs(f6,{x,y},{1,2})f8=subs(f6,{x,y},{x+y,x+y})例:指出下面各條語句的輸出結果符號變量若沒有聲明,則需要加上單引號!f=2*uf1=4f2=2*u+4f3=[2,4]f4=14f5=2*a+8f6=2*x+2*yf7=6f8=4*x+4*y60subs舉例f=sym('2*u');例:指出下面各條語句vpa計算表達式s
的值,保留n
位有效數(shù)字返回值是符號對象可變精度vpa(s,n)x1=vpa(sin(pi/2),10)x2=vpa(pi^3,3)x3=vpa(pi,100)例:61vpa計算表達式s的值,保留n位有效數(shù)字可變精度內容提要Matlab符號運算介紹符號對象與基本符號運算
symvar、subs和vpa
常見的符號計算(六類運算)
因式分解、展開、合并、簡化、通分和反函數(shù)等
計算極限
計算導數(shù)
計算積分
符號級數(shù)求和
代數(shù)方程和微分方程的求解(重點與難點)62內容提要Matlab符號運算介紹因式分解、展開、合并、因式分解factor(f)symsx;f=x^6+1;factor(f)
factor
也可用于正整數(shù)的分解s=factor(100)factor(12345678901234567890)
%ERRORfactor(sym('12345678901234567890'))對大整數(shù)進行因式分解時可以先將其轉化成符號常量例:例:
因式分解63因式分解factor(f)symsx;f=x^6+1;函數(shù)展開expand(f)symsx;f=(x+1)^6;expand(f)多項式展開三角函數(shù)展開symsxy;f=sin(x+y);expand(f)函數(shù)展開例:例:64函數(shù)展開expand(f)symsx;多項式展開三合并同類項symsxy;f=x^2*y+y*x+y^2+2*x;collect(f)collect(f,y)例:collect(f,v)%按指定變量v進行合并collect(f)%按默認變量進行合并合并同類項
默認變量:symvar(f)
的返回結果symsuv;g=u^2*v+u*v^3-u^2+v;collect(g)65合并同類項symsxy;f=x^2*y+y*x+y^函數(shù)簡化y=simplify(f)函數(shù)簡化
對符號表達式f
進行簡化symsx;f=sin(x)^2+cos(x)^2;y=simplify(f)例:66函數(shù)簡化y=simplify(f)函數(shù)簡化對符號表達式函數(shù)簡化y=simple(f)函數(shù)簡化
對
f嘗試多種不同的方法(包括simplify)進行簡化,
以尋求其最簡短形式例:化簡symsx;f=(cos(x)^2-sin(x)^2)*sin(2*x)*(exp(2*x)
...
-2*exp(x)+1)/(exp(2*x)-1);y1=simplify(f)y2=simple(f)67函數(shù)簡化y=simple(f)函數(shù)簡化對f嘗試多種不函數(shù)簡化[N,D]=numden(f)通分
N
為通分后的分子,D
為通分后的分母symsxy;f=x/y+y/x;[N,D]=numden(f
)[n,d]=numden(sym(112/1024))例:68函數(shù)簡化[N,D]=numden(f)通分N為通分后的horner
多項式
horner
多項式:嵌套形式的多項式symsx;f=x^4+2*x^3+4*x^2+x+1;g=horner(f)例:69horner多項式horner多項式:嵌套形式的多項式求反函數(shù)反函數(shù)finverse(f,v)%
求f
關于指定變量v
的反函數(shù)finverse(f)%
求f
關于默認變量的反函數(shù)symsxt;f=x^2+2*t;g1=finverse(f,x)g2=finverse(f,t)例:計算函數(shù)的反函數(shù)70求反函數(shù)反函數(shù)finverse(f,v)%求f關計算極限limit(f,x,a)
%
計算limit(f,a)
%
當默認變量趨向于a時的極限limit(f)
%
計算a=0時的極限limit(f,x,a,'right')
%
計算右極限limit(f,x,a,'left')
%
計算左極限例:計算
,symsxhn;L=limit((log(x+h)-log(x))/h,h,0)M=limit((1-x/n)^n,n,inf)
計算極限71計算極限limit(f,x,a)%計算例:計算計算導數(shù)g=diff(f,v)
%求符號表達式
f
關于變量
v
的導數(shù)g=diff(f)
%
計算關于默認變量的導數(shù)g=diff(f,v,n)
%求
f
關于
v
的
n
階導數(shù)
計算導數(shù)symsx;f=sin(x)+3*x^2;g1=diff(f,x)g2=diff(f,x,3)例:72計算導數(shù)g=diff(f,v)%求符號表達式f關于計算積分int(f,v,a,b)
%
計算定積分int(f,a,b)
%
計算關于默認變量的定積分int(f,v)
%
計算不定積分int(f)
%
計算關于默認變量的不定積分symsx;f=(x^2+1)/(x^2-2*x+2)^2;I=int(f,x)K=int(exp(-x^2),x,0,inf)例:計算和
計算積分73計算積分int(f,v,a,b)%計算定積分syms符號級數(shù)求和symsn;f=1/n^2;S=symsum(f,n,1,inf)S100=symsum(f,n,1,100)symsum(f,v,a,b)%
級數(shù)求和symsum(f,a,b)%
關于默認變量求和例:計算級數(shù)及其前100項的部分和S100例:計算函數(shù)級數(shù)symsnx;f=x/n^2;S=symsum(f,n,1,inf)
符號級數(shù)求和74符號級數(shù)求和symsn;f=1/n^2;symsum(f代數(shù)方程求解solve(f,v)%求方程關于指定自變量的解詳細用法見Matlab08:多項式運算與代數(shù)方程求解器
代數(shù)方程求解這里f
可以用字符串表示或符號表達式
solve
也可解方程組(通常是非線性的)得不到解析解時,給出數(shù)值解例:solve('2*x-3')%
或
solve('2*x-3=0')symsx;solve(2*x-3)%
不能寫成
solve(2*x-3=0)symsx;solve(2*x-sin(x)+1)75代數(shù)方程求解solve(f,v)%求方程關于指定自變量微分方程求解
用Maltab自帶函數(shù)解初值問題
求微分方程解析解:dsolve
求微分方程數(shù)值解*(自學,選學):
ode45、ode23、
ode113、ode23t、ode15s、ode23s、ode23tb76微分方程求解用Maltab自帶函數(shù)解初值問題求微分方dsolve求解析解
dsolve的使用y=dsolve('eq1','eq2',...,'cond1','cond2',...,'v')其中
y為輸出,
eq1、eq2、...為微分方程,cond1、cond2、...為初值條件,v
為自變量。例1:求微分方程的通解,并驗證。y=dsolve('Dy+2*x*y=x*exp(-x^2)','x')symsx;diff(y)+2*x*y-x*exp(-x^2)77dsolve求解析解dsolve的使用y=dsolvedsolve的使用
幾點說明如果省略初值條件,則表示求通解;如果省略自變量,則默認自變量為t
dsolve('Dy=2*x','x');%
dy/dx=2xdsolve('Dy=2*x');%dy/dt=2x若找不到解析解,則返回其積分形式。微分方程中用D
表示對自變量的導數(shù),如:Dyy';D2yy'';D3yy'''78dsolve的使用幾點說明如果省略初值條件,則表示求通例2:求微分方程在初值條件下的特解,并畫出解函數(shù)的圖形。y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x')ezplot(y);dsolve的使用79例2:求微分方程在初值條例3:求微分方程組
在初值條件下的特解,并畫出解函數(shù)的圖形。[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0',...'x(0)=1','y(0)=0','t')ezplot(x,y,[0,1.3]);注:解微分方程組時,如果所給的輸出個數(shù)與方程個數(shù)相同,則方程組的解按詞典順序輸出;如果只給一個輸出,則輸出的是一個包含解的結構(structure)類型的數(shù)據(jù)。dsolve的使用80例3:求微分方程組例:[x,y]=dsolve('Dx+5*x=0','Dy-3*y=0',...'x(0)=1','y(0)=1','t')r=dsolve('Dx+5*x=0','Dy-3*y=0',...'x(0)=1','y(0)=1','t')這里返回的r
是一個結構類型的數(shù)據(jù)r.x%查看解函數(shù)
x(t)r.y%查看解函數(shù)
y(t)只有很少一部分微分方程(組)能求出解析解。
大部分微分方程(組)只能利用數(shù)值方法求數(shù)值解。dsolve的輸出個數(shù)只能為一個或與方程個數(shù)相等dsolve的使用81例:[x,y]=dsolve('Dx+5*x=0','Dy-上機作業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年石英玻璃纖維布項目發(fā)展計劃
- 電子文檔格式轉換標準流程
- 加強需求預測提升響應速度
- 關于開展新員工培訓的策劃書
- 自然資源保護與合理利用合作協(xié)議
- 移動應用開發(fā)及維護服務合同
- 草房子小學生故事解讀
- 2025年稀土-鐵超磁致伸縮單晶材料合作協(xié)議書
- 惠州學校道路標線施工方案
- IT服務行業(yè)云服務解決方案探討
- 企業(yè)資產管理培訓
- DB41T 2466-2023 浸水電梯使用管理規(guī)范
- 國家智慧教育平臺應用培訓
- 自然辯證法學習通超星期末考試答案章節(jié)答案2024年
- 2024年4月27日浙江省事業(yè)單位招聘《職業(yè)能力傾向測驗》試題
- 物業(yè)管理服務應急響應方案
- 呼吸系統(tǒng)疾病病人的麻醉-2
- 專題18 化學工藝流程綜合題-分離、提純類-五年(2020-2024)高考化學真題分類匯編(解析版)
- 汽車美容裝潢技術電子教案 6.3-汽車娛樂類電子產品裝飾
- 風車的原理小班課件
- 物業(yè)保潔員勞動競賽理論知識考試題庫500題(含答案)
評論
0/150
提交評論