《数学分析》实验课
第二部分
微积分问题的计算机求解
《数学分析》实验课
前言
? Newton 和 Leibnitz 创立的微积分学是
很多科学科学的基础,本课程将借助
MATLAB 语言的符号运算工具箱可以直
接对微积分学中最常见的问题,如单变
量与多变量微积分、极限、级数求和、
Taylor幂级数展开,Fourier 级数展开等
问题直接求解。
《数学分析》实验课
目录
? Matlab符号工具箱简介
? 极限问题
? 导数
? Taylor级数展开
? 级数和
? 积分问题
? Fourier级数展开
《数学分析》实验课
Matlab符号工具箱简介
? Matlab系统本无符号运算功能,符号运
算工具箱( Symbolic Math Toolbox)则
扩充了 Matlab这方面的功能,它是由
Maple软件的核心来完成的
? 这个工具箱在 Matlab安装的
Toolbox/Symbolic子文件夹下
《数学分析》实验课
符号变量与符号表达式
? 新的数据类型 ----符号变量
1,用 sym函数来定义一个符号或符号表达式
sym函数用来建立单个符号量,例如,a=sym(‘a’)建
立符号变量 a,此后,用户可以在表达式中使用变量
a进行各种运算。
《数学分析》实验课
2,syms函数定义多个符号
syms函数的一般调用格式为:
syms var1 var2 … varn
函数定义符号变量 var1,var2,…,varn等。用
这种格式定义符号变量时不要在变量名上加
字符分界符 ('),变量间用空格而不要用逗号
分隔。
《数学分析》实验课
3.用 findsym来确认符号表达式中的符号
例:
《数学分析》实验课
4,表达式化简
Matlab提供的对符号表达式化简的函数有:
simplify(S) 应用函数规则对 S进行化简。
simple(S) 调用 MATLAB的其他函数对表
达式进行综合化简,并显示化简过程。
《数学分析》实验课
极限问题
limit函数的调用格式为:
? limit(f,x,a)
? limit函数的另一种功能是求单边极限,
其调用格式为:
? limit(f,x,a,'right') 或 limit(f,x,a,'left')
? 缺省为符号变量 ->0时函数 f的极限
《数学分析》实验课
例:
《数学分析》实验课
*多变量函数的极限
《数学分析》实验课
? 求出二元函数极限值
《数学分析》实验课
导数
? MATLAB中的求导的函数为:
? diff(f,x,n)
diff函数求函数 f对变量 x的 n阶导数。参数
x的用法同求极限函数 limit,可以缺省,
缺省值与 limit相同,n的缺省值是 1
《数学分析》实验课
例:
syms a b t x y z;
f=sqrt(1+exp(x));
diff(f) %求 (1)。未指定求导变量和阶数,按缺省规则处理
f=x*cos(x);diff(f,x,2) %求 (2)。求 f对 x的二阶导数
f1=a*cos(t);f2=b*sin(t);
diff(f2)/diff(f1) %求 (3)。按参数方程求导公式求 y对 x的导数
(diff(f1)*diff(f2,2)-diff(f1,2)*diff(f2))/(diff(f1))^3
%求 (3)。求 y对 x的二阶导数
f=x^2+y^2+z^2-a^2;
zx=-diff(f,x)/diff(f,z)%求 (5)。 %按隐函数求导公式求 z对 x的偏
导数
《数学分析》实验课
例:在曲线 y=x3+3x-2上哪一点的切线与
直线 y=4x-1平行。
命令如下:
x=sym('x');
y=x^3+3*x-2; %定义曲线函数
f=diff(y); %对曲线求导数
g=f-4;
solve(g) %求方程 f-4=0的根,即求曲
线何处的导数为 4
《数学分析》实验课
Taylor级数展开
? 单变量函数的 Taylor级数展开
《数学分析》实验课
例:求函数在指定点的泰勒展开式。
命令如下:
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=5
taylor(f2,6) %求 (2)。
《数学分析》实验课
级数和
级数符号求和函数 symsum,调用格式为:
symsum(a,n,n0,nn)
《数学分析》实验课
例:求级数之和。
命令如下:
n=sym('n');
s1=symsum(1/n^2,n,1,inf) %求 s1
s2=symsum((-1)^(n+1)/n,1,inf) %求 s2。未指
定求和变量,缺省为 n
s3=symsum(n*x^n,n,1,inf) %求 s3。此处的
求和变量 n不能省略。
s4=symsum(n^2,1,100) %求 s4。计算有
限级数的和
《数学分析》实验课
积分问题
1.不定积分
在 MATLAB中,求不定积分的函数是 int,
其调用格式为:
int(f,x)
int函数求函数 f对变量 x的不定积分。参数 x
可以缺省,缺省原则与 diff函数相同。
《数学分析》实验课
? 例:求不定积分。
命令如下:
x=sym('x');
f=(3-x^2)^3;
int(f) %求不定积分 (1)
f=sqrt(x^3+x^4);
int(f) %求不定积分 (2)
g=simple(ans) %调用 simple函数对结果化

《数学分析》实验课
2.符号函数的定积分
? 定积分在实际工作中有广泛的应用。
在 Matlab中,定积分的计算使用函数:
int(f,x,a,b)
? 当不定积分无解析表达式时,可用
double计算其定积分数值
《数学分析》实验课
例:求定积分。
命令如下:
x=sym('x');t=sym('t');
int(abs(1-x),1,2) %求定积分 (1)
f=1/(1+x^2);
int(f,-inf,inf) %求定积分 (2)
int(4*t*x,x,2,sin(t)) %求定积分 (3)
f=x^3/(x-1)^100;
I=int(f,2,3) %用符号积分的方法求定积分 (4)
double(I) %将上述符号结果转换为数值
《数学分析》实验课
Fourier级数展开
《数学分析》实验课
《数学分析》实验课
《数学分析》实验课

《数学分析》实验课

《数学分析》实验课
《数学分析》实验课