matlab符号微积分微分方程Word格式文档下载.docx
- 文档编号:15765667
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:12
- 大小:187.26KB
matlab符号微积分微分方程Word格式文档下载.docx
《matlab符号微积分微分方程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab符号微积分微分方程Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
limt(f,x,a,left)
对x求左趋近于a的极限
limt(f,x,a,right)
对x求右趋近于a的极限
【例3.14】分别求1/x在0处从两边趋近、从左边趋近和从右边趋近的三个极限值。
f=sym('
1/x'
)
limit(f,'
x'
0)%对x求趋近于0的极限
ans=
NaN
limit(f,'
0,'
left'
)%左趋近于0
-inf
right'
)%右趋近于0
inf
程序分析:
当左右极限不相等,表达式的极限不存在为NaN。
3.4.2符号微分
函数diff是用来求符号表达式的微分。
diff(f)%求f对自由变量的一阶微分
diff(f,t)%求f对符号变量t的一阶微分
diff(f,n)%求f对自由变量的n阶微分
diff(f,t,n)%求f对符号变量t的n阶微分
【例3.15】已知f(x)=ax2+bx+c,求f(x)的微分。
f=
diff(f)%对默认自由变量x求一阶微分
2*a*x+b
diff(f,'
a'
)%对符号变量a求一阶微分
x^2
2)%对符号变量x求二阶微分
2*a
diff(f,3)%对默认自由变量x求三阶微分
0
微分函数diff也可以用于符号矩阵,其结果是对矩阵的每一个元素进行微分运算。
【例3.15续】对符号矩阵
求微分。
symstx
g=[2*xt^2;
t*sin(x)exp(x)]%创建符号矩阵
g=
[2*x,t^2]
[t*sin(x),exp(x)]
diff(g)%对默认自由变量x求一阶微分
[2,0]
[t*cos(x),exp(x)]
diff(g,'
t'
)%对符号变量t求一阶微分
[0,2*t]
[sin(x),0]
diff(g,2)%对默认自由变量x求二阶微分
[0,0]
[-t*sin(x),exp(x)]
diff还可以用于对数组中的元素进行逐项求差值。
【例3.15续】可以使用diff计算向量间元素的差值。
x1=0:
0.5:
2;
y1=sin(x1)
y1=
00.47940.84150.99750.9093
diff(y1)%计算元素差
0.47940.36200.1560-0.0882
计算出的差值比原来的向量少一列。
3.4.3符号积分
积分有定积分和不定积分,运用函数int可以求得符号表达式的积分。
int(f,’t’)%求符号变量t的不定积分
int(f,’t’,a,b)%求符号变量t的积分
int(f,’t’,’m’,’n’)%求符号变量t的积分
说明:
t为符号变量,当t省略则为默认自由变量;
a和b为数值,[a,b]为积分区间;
m和n为符号对象,[m,n]为积分区间;
与符号微分相比,符号积分复杂得多。
因为函数的积分有时可能不存在,即使存在,也可能限于很多条件,MATLAB无法顺利得出。
当MATLAB不能找到积分时,它将给出警告提示并返回该函数的原表达式。
【例3.16】求积分
和
。
cos(x)'
);
int(f)%求不定积分
sin(x)
int(f,0,pi/3)%求定积分
1/2*3^(1/2)
int(f,'
'
b'
)%求定积分
sin(b)-sin(a)
int(int(f))%求多重积分
-cos(x)
diff和int命令,也可以直接对字符串f进行运算:
f='
;
【例3.16续】求符号矩阵
的积分。
int(g)%对x求不定积分
[x^2,t^2*x]
[-t*cos(x),exp(x)]
int(g,'
)%对t求不定积分
[2*x*t,1/3*t^3]
[1/2*t^2*sin(x),exp(x)*t]
int(g,sym('
),sym('
))%对x求定积分
[b^2-a^2,t^2*(b-a)]
[-t*cos(b)+t*cos(a),exp(b)-exp(a)]
3.4.4符号级数
1.symsum函数
symsum(s,x,a,b)%计算表达式s的级数和
x为自变量,x省略则默认为对自由变量求和;
s为符号表达式;
[a,b]为参数x的取值范围。
【例3.17】求级数
和1+x+x2+…+xk+…的和。
symsxk
s1=symsum(1/k^2,1,10)%计算级数的前10项和
s1=
1968329/1270080
s2=symsum(1/k^2,1,inf)%计算级数和
s2=
1/6*pi^2
s3=symsum(x^k,'
k'
0,inf)%计算对k为自变量的级数和
s3=
-1/(x-1)
2.taylor函数
taylor(F,x,n)%求泰勒级数展开
x为自变量,F为符号表达式;
对F进行泰勒级数展开至n项,参数n省略则默认展开前5项。
【例3.17续】求ex的泰勒展开式为:
。
symsx
s1=taylor(exp(x),8)%展开前8项
1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5+1/720*x^6+1/5040*x^7
s2=taylor(exp(x))%默认展开前5项
1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5
3.6符号方程的求解
3.6.1代数方程
当方程不存在解析解又无其他自由参数时,MATLAB可以用solve命令给出方程的数值解。
solve(‘eq’,’v’)%求方程关于指定变量的解
solve(‘eq1’,’eq2’,’v1’,’v2’,…)%求方程组关于指定变量的解
eq可以是含等号的符号表达式的方程,也可以是不含等号的符号表达式,但所指的仍是令eq=0的方程;
当参数v省略时,默认为方程中的自由变量;
其输出结果为结构数组类型。
【例3.21】求方程ax2+bx+c=0和sinx=0的解。
f1=sym('
)%无等号
solve(f1)%求方程的解x
[1/2/a*(-b+(b^2-4*a*c)^(1/2))]
[1/2/a*(-b-(b^2-4*a*c)^(1/2))]
f2=sym('
sin(x)'
f2=
solve(f2,'
当sinx=0有多个解时,只能得出0附近的有限几个解。
【例3.22】求三元非线性方程组
的解。
eq1=sym('
x^2+2*x+1'
eq2=sym('
x+3*z=4'
eq3=sym('
y*z=-1'
[x,y,z]=solve(eq1,eq2,eq3)%解方程组并赋值给x,y,z
x=
-1
y=
-3/5
z=
5/3
输出结果为“结构对象”,如果最后一句为“S=solve(eq1,eq2,eq3)”,则结果为:
S=
x:
[1x1sym]
y:
z:
[1x1sym]
3.6.2符号常微分方程
MATLAB提供了dsolve命令可以用于对符号常微分方程进行求解。
dsolve(‘eq’,’con’,’v’)%求解微分方程
dsolve(‘eq1,eq2…’,’con1,con2…’,’v1,v2…’)%求解微分方程组
’eq’为微分方程;
’con’是微分初始条件,可省略;
’v’为指定自由变量,省略时则默认为x或t为自由变量;
输出结果为结构数组类型。
▪当y是因变量时,微分方程’eq’的表述规定为:
y的一阶导数
或
表示为Dy;
y的n阶导数
表示为Dny。
▪微分初始条件'
con'
应写成'
y(a)=b,Dy(c)=d'
的格式;
当初始条件少于微分方程数时,在所得解中将出现任意常数符C1,C2……,解中任意常数符的数目等于所缺少的初始条件数。
【例3.23】求微分方程
,y
(1)=0,y(0)=0的解。
y=dsolve('
x*D2y-3*Dy=x^2'
)%求微分方程的通解
-1/3*x^3+C1+C2*x^4
y
(1)=0,y(5)=0'
)%求微分方程的特解
-1/3*x^3+125/468+31/468*x^4
【例3.24】求微分方程组
[x,y]=dsolve('
Dx=y,Dy=-x'
cos(t)*C1+sin(t)*C2
-sin(t)*C1+cos(t)*C2
默认的自由变量是t,C1、C2为任意常数,程序也可指定自由变量,结果相同:
3.7符号函数的可视化
3.7.1符号函数的绘图命令
1.ezplot和ezplot3命令
ezplot命令是绘制符号表达式的自变量和对应各函数值的二维曲线,ezplot3命令用于绘制三维
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 符号 微积分 微分方程
![提示](https://static.bdocx.com/images/bang_tan.gif)