南华大学《MATLAB及应用》实验报告2.docx
《南华大学《MATLAB及应用》实验报告2.docx》由会员分享,可在线阅读,更多相关《南华大学《MATLAB及应用》实验报告2.docx(16页珍藏版)》请在冰豆网上搜索。
南华大学《MATLAB及应用》实验报告2
核科学技术学院
实验报告
实验项目名称MATLAB符号计算
所属课程名称MATLAB及应用
实验类型上机实验
实验日期12月日
指导教师谢芹
班级
学号
姓名
成绩
一、实验名称
MATLAB符号计算
二、实验目的
(1)掌握定义符号对象的方法
(2)掌握符号表达式的运算法则以及符号矩阵运算
(3)掌握求符号函数极限及导数的方法
(4)掌握求符号函数定积分和不定积分的方法
三、实验原理
1.函数极限及导数的方法
(1)函数极限:
limit(F,x,a)求符号函数f(x)的极限值。
即计算当变量x趋近于常数a时,f(x)函数的极限值。
(2)limit(f):
求符号函数f(x)的极限值。
符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。
(3)limit(f,x,a,'right'):
求符号函数f的极限值。
'right'表示变量x从右边趋近于a。
(4)limit(f,x,a,‘left’):
求符号函数f的极限值。
‘left’表示变量x从左边趋近于a。
2.微分:
diff(s):
没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。
diff(s,'v'):
以v为自变量,对符号表达式s求一阶导数。
diff(s,n):
按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。
diff(s,'v',n):
以v为自变量,对符号表达式s求n阶导数。
3.函数定积分和不定积分的方法:
int(s):
没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。
int(s,v):
以v为自变量,对被积函数或符号表达式s求不定积分。
int(s,v,a,b):
求定积分运算。
a,b分别表示定积分的下限和上限。
梯形法:
trapz(x,y):
x为分割点构成的向量,y为被积函数在分割点上的函数值构成的向量;
抛物线法:
quad(f,a,b,tol),f是被积函数,[a,b]是积分区间,tol是精度。
4.求和及泰勒级数展开的方法:
(1)求和symsum(s,v,n,m)其中s表示一个级数的通项,是一个符号表达式。
v是求和变量,v省略时使用系统的默认变量。
n和m是求和的开始项和末项。
(2)泰勒级数展开taylor(f,v,n,a)该函数将函数f按变量v展开为泰勒级数,展开到第n项(即变量v的n-1次幂)为止,n的缺省值为6。
v的缺省值与diff函数相同。
参数a指定将函数f在自变量v=a处展开,a的缺省值是0。
四、实验内容
1.求下列极限:
求极限前先定义符号变量
(1)
(2)
(3)
(4)
(5)
2.求下列函数的导数:
(1)
(2)
(3)
(4)
(5)
(6)
,求
,
,
3.求下列函数的积分
(1)
(2)
(3)
(4)
(5)
由曲面
,
,
所围成
(6)
4.解下列方程组。
(1)
(2)
(3)
5.求下列级数的和
(1)
(2)
6.泰勒级数展开
将函数
展开成
的幂级数
五、实验过程及结果(含源代码)
1、
Matlab程序:
symsx;
F1=limit(atan(x)/x,x,0)
F2=limit(((1+x)/(1-x))^(1/x),x,0)
F3=limit(x*log(1+x)/sin(x^2),x,0)
F4=limit((1/(1-x)-1/(1-x^3)),x,1)
symsaxt;
F4=limit((1+(2*t)/(a*x))^(5*x),x,inf)
运行结果:
F1=
1
F2=
exp
(2)
F3=
1
F4=
NaN
F4=
exp((10*t)/a)
2、
Matlab程序:
symsx;
y=((cos(x))^3-cos(3*x))
diff(y,'x')
y1=x*sin(x)*log(x)
diff(y1,'x')
y2=((x*exp(x)-1)/sin(x))
diff(y2,'x')
y3=exp(x)*cos(x)
diff(y3,'x')
y4=x*x*sin(x)
symsxt;
diff(y4,'x')
f=[a*exp(x)(t^3)*x;t*cos(x)log(x)]
diff(f,'x')
diff(f,'t',2)
diff(diff(f,'t'),'x')
运行结果:
y=
cos(x)^3-cos(3*x)
ans=
3*sin(3*x)-3*cos(x)^2*sin(x)
y1=
x*log(x)*sin(x)
ans=
sin(x)+log(x)*sin(x)+x*cos(x)*log(x)
y2=
(x*exp(x)-1)/sin(x)
ans=
(exp(x)+x*exp(x))/sin(x)-(cos(x)*(x*exp(x)-1))/sin(x)^2
y3=
exp(x)*cos(x)
ans=
exp(x)*cos(x)-exp(x)*sin(x)
y4=
x^2*sin(x)
ans=
x^2*cos(x)+2*x*sin(x)
f=
[a*exp(x),t^3*x]
[t*cos(x),log(x)]
ans=
[a*exp(x),t^3]
[-t*sin(x),1/x]
ans=
[0,6*t*x]
[0,0]
ans=
[0,3*t^2]
[-sin(x),0]
3、
Matlab程序:
symsabcdxyz;
y1=sin(a*x)*sin(b*x)*sin(c*x)
int(y1,x)
y2=x^5+x^3-sqrt(x)/4
int(y2,x)
y3=(x*exp(x))/(1+x^2)
int(y3,x,0,1)
y4=x/(1+x*y)
int(int(y4,x,0,1),y,0,1)
y5=x^2+y^2
int(int(int(y5,x),y),z,1,x)
f=[1/xb*x^2;exp(x)cos(x)]
int(f,x)
运行结果:
y1=
sin(a*x)*sin(b*x)*sin(c*x)
ans=
(a*b^2*cos(a*x)*sin(b*x)*sin(c*x)-b^3*cos(b*x)*sin(a*x)*sin(c*x)-c^3*cos(c*x)*sin(a*x)*sin(b*x)-a^3*cos(a*x)*sin(b*x)*sin(c*x)+a^2*b*cos(b*x)*sin(a*x)*sin(c*x)+a*c^2*cos(a*x)*sin(b*x)*sin(c*x)+a^2*c*cos(c*x)*sin(a*x)*sin(b*x)+b*c^2*cos(b*x)*sin(a*x)*sin(c*x)+b^2*c*cos(c*x)*sin(a*x)*sin(b*x)+2*a*b*c*cos(a*x)*cos(b*x)*cos(c*x))/(a^4-2*a^2*b^2-2*a^2*c^2+b^4-2*b^2*c^2+c^4)
y2=
x^3-x^(1/2)/4+x^5
ans=
x^4/4-x^(3/2)/6+x^6/6
y3=
(x*exp(x))/(x^2+1)
ans=
-(ei(-i)*exp(i))/2-(ei(i)*exp(-i))/2+(ei(1-i)*exp(i))/2+(ei(1+i)*exp(-i))/2
y4=
x/(x*y+1)
ans=
log(4)-1
y5=
x^2+y^2
ans=
(x*y*(x^2+y^2)*(x-1))/3
f=
[1/x,b*x^2]
[exp(x),cos(x)]
ans=
[log(x),(b*x^3)/3]
[exp(x),sin(x)]
4、
Matlab程序:
[x1,x2,x3]=solve('-2*x1+5*x2-7*x3=-5',...
'4*x1+3*x2-2*x3=3','2*x1+x2+6*x3=15')
[x1,x2]=solve('x1-5*sin(x1)-4*cos(x2)=0',...
'x2-5*cos(x1)+4*sin(x2)=0')
symst;
[x,y]=dsolve('Dx=-5*x+y','Dy=-y+5*x')
运行结果:
x1=
23/83
x2=
167/83
x3=
172/83
x1=
1.8207539129496562592168622750749
x2=
-3.8552617061181725539710730412911
x=
-(exp(-6*t)*(5*C1-C2*exp(6*t)))/5
y=
exp(-6*t)*(C1+C2*exp(6*t))
5、
Matlab程序:
symsn;
I1=symsum((2*n-1)/2^n,n,1,inf)
T2=symsum(1/(n*(2*n+1)),n,1,inf)
运行结果:
I1=
3
T2=
2-2*log
(2)
6、
Matlab程序:
symsx;
f=1/(x^2+5*x-3)
f1=taylor(f,x,2)
运行结果:
f1=
(70*(x-2)^2)/1331-(9*x)/121-(531*(x-2)^3)/14641+(4009*(x-2)^4)/161051-(30240*(x-2)^5)/1771561+29/121
(此处按题号顺序写上所写的程序语句内容以及matlab中出现的程序运行结果)
六、实验总结