用Matlab求解高等数学中的问题(不定积分,定积分,多元微积分,微分方程,级数问题)
用Matlab求解高等数学中的问题
一、求解不定积分 利用matlab符号工具箱中的求积函数int,
可求函数的不定积分,int函数的调用格式如下:
int(S)说明:
int(S,v)
(1)int(S)求表达式S的不定积分(默认的积分变量为x),即求
文章图片
(2)int(S,v)求表达式S关于积分变量v的不定积分,即求
文章图片
问题求解:
**例:**求:
文章图片
解题:
syms x f;
f=((1+sin(x))*exp(x)/(1+cos(x)));
int(f,'x')
运行:
文章图片
例2:求
文章图片
解题:
syms a b t f;
f=(a*t+b)/(4*t^2-7*t+25);
int(f,'t')
运行:
文章图片
二、求解定积分 利用matlab符号工具箱中的求积函数int,
可求函数的定积分,int函数的调用格式如下:
int(S,a,b)说明:
int(S,v,a,b)
(1)int(S,a,b)求表达式S在区间[a,b]上的定积分,即求
文章图片
(2)int(S,v,a,b)求表达式S关于变量v在区间[a,b]上的定积分,即求
文章图片
例1 计算:
文章图片
解题:
syms x ;
y=sqrt(1-sin(2*x));
zhi=int(y,'x','0','pi/2');
eval(zhi)
运行:
文章图片
例2:计算广义积分:
文章图片
解题:
syms x;
y=exp((-x^2)/2)/sqrt(2*pi);
zhi=int(y,'x','-inf','inf')
eval(zhi)
运行:
文章图片
三、求解多元微积分 1.求偏导数
函数格式:diff(z,’x’,n)
用它可求函数z关于x的n阶偏导数
例1、设z=exp(1+xlny),求
文章图片
解题:
syms x;
y=exp((-x^2)/2)/sqrt(2*pi);
zhi=int(y,'x','-inf','inf')
eval(zhi);
运行:
文章图片
例2、求函数z=ln(x+y)+arctanxy的二阶导数
文章图片
解题:
syms x y z;
z=log(x+y)+atan(x*y);
dzdx=diff(z,'x');
%求一阶导数
dzdxdy=diff(dzdx,'y')%第一个答案
dzdx2=diff(z,'x',2)%第二个答案
dzdy2=diff(z,'y',2)%第三个答案
【用Matlab求解高等数学中的问题(不定积分,定积分,多元微积分,微分方程,级数问题)】运行:
文章图片
注意:arctan 写成:atan
例3
文章图片
解题:
syms x y z f;
f=x^3+y^3+z^3-3*x*y*z;
fx=diff(f,'x');
fy=diff(f,'y');
fz=diff(f,'z');
dzdx=-fx/fz;
dzdy=-fy/fz;
simplify(dzdx)%化简
simplify(dzdy)
运行:
文章图片
2.求二重积分
例4计算二重积分:
文章图片
解题:
syms x y ;
f=y^2/x^2;
jf1=int(f,'x',1/y,y);
jf2=int(jf1,'y',1,2)
运行:
文章图片
四、求解微分方程 利用matlab符号工具箱中的函数dsolve,
可求微分方程的解,其调用格式如下:
r=dsolve(‘eql,eq2,…’,’cond1,cond2’,…,’v’)说明:
r=dsolve(‘eql’,’eq2’,…,’cond1’,’cond2’,…,’v’)
求微分方程或微分方程组eq1,eq2,…
满足初始条件cond1,cond2,…关于自变量v的解。
默认的自变量为t。
例1求如下微分方程的同解:
文章图片
解题:
simplify(dsolve('5*D2y-6*Dy+5*y=exp(x)','x'))
运行:
文章图片
例2、求微分方程 dx/dt=y,dy/dt=-x 的解:
解题:
[x,y]=dsolve('Dx=y,Dy=-x')
运行:
文章图片
五、求解级数问题 1、级数求和
调用matlab符号工具箱中的symsum函数,可求级数的和。调用格式如下:
r=symsum(s)说明:
r=symsum(s,v)
r=symsum(s,a,b)
r=symsum(s,v,a,b)
(1)symsum(s)求关于默认变量k 的级数
文章图片
从第0项到k-1项和,其中s是通向f(k)的符号表达式。
(2)symsum(s)求关于变量v的级数
文章图片
从第0项到v-1项和,其中s是通向f(v)的符号表达式。
(3)symsum(s,a,b)求级数
文章图片
从第a项到第b项和。
(4)symsum(s,v,a,b)求关于变量v的级数v 从第a项到第b项的和。
例题:
例1、已知级数
文章图片
求:(1)求它的前k项和;
(2)求第0项到第10项的和。
解题:
syms k
r=symsum(k^2)%前k项和r1=symsum(k^2,0,10)%0到10项的和
运行:
文章图片
例题:
求幂级数的和函数:
文章图片
解题:
syms x k;
symsum(x^k/sym('k!'),k,0,inf)
运行:
文章图片
注意:sym是将字符串转换成符号表达式命令。
2、函数展开成幂级数
调用matlab符号工具箱中的taylor函数,
可求得函数的任意阶幂级数展开式。
调用格式:说明:
TAYLOR(f)
TAYLOR(f,n)
TAYLOR(f,n,a)
(1)TAYLOR(f)求函数f的5阶Maclaurin级数
(2)TAYLOR(f,n)求(n-1)阶Maclaurin级数
(3)TAYLOR(f,n,a)求函数f在a点的(n-1)阶Taylor级数
例题:
求下面函数的5阶Maclaurin级数:
文章图片
解题:
taylor(exp(-x))
运行:
文章图片
例、求函数y=log(x+1)的6阶Maclaurin级数
解题:
taylor(log(x+1),7)
例、求函数f(x)=sinx在x=pi/2处的4阶Taylor级数
taylor(sin(x),5,pi/2)
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- JS中的各种宽高度定义及其应用
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 涉毒患者(新诗)
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。