matlab求解微积分的问题
第3讲 MATLAB在微积分中的应用

2)求数值解的方法 1. 欧拉方法 若步长h较小,则可用差商近似代替导数,即 y ( x + h) − y ( x ) y '( x) ≈ h 于是便得公式 yi +1 ≈ yi + hf ( xi , yi ) , i = 0,1, L , n − 1. y0 = y ( x0 ) 此法称为欧拉方法。
例7 用MATLAB软件求微分方程 du = 1+ u2 dt 的通解; 例8 用MATLAB软件求微分方程 d 2 y dy 2 + 4 + 29 y = 0 dx dx y(0) = 0, y ' (0) = 15 的特解。
例9 用MATLAB软件求微分方程组 dx dt = 2 x − 3 y + 3z dy = 4 x − 5 y + 3z dt dz dt = 4 x − 4 y + 2 z 的通解.
2. 改进的欧拉方法 对方程y ' = f ( x, y )两边从xi到xi +1积分,再利用梯形公式,得 y ( xi +1 ) − y ( xi ) = ∫
xi +1 xi
f ( x, y ( x )) dx
xi +1 − xi ≈ [ f ( xi , y ( xi )) + f ( xi +1 , y ( xi +1 ))] 2 h 于是有公式: yi +1 ≈ yi + [ f ( xi , yi ) + f ( xi +1 , yi +1 )], y0 = y ( x0 ) 2 上式中右边yi +1的值可用欧拉方法计算,即有 yi +1 = yi + hf ( xi , yi ) i = 0,1, L , n − 1. h yi +1 = yi + 2 [ f ( xi , yi ) + f ( xi +1 , yi +1 )] 此法称为改进的欧拉方法。
matlab在微积分中的应用

matlab在微积分中的应用MATLAB在微积分中的应用一、MATLAB在求导和积分中的应用MATLAB集成了丰富的数学函数库,可以在求导和积分等方面帮助学生更好地理解微积分知识。
举例来说,MATLAB中的diff函数可以对一个函数或矩阵进行求导,计算结果准确可靠。
通过MATLAB可以解决一些手动计算困难的问题,有助于提高学生对微积分的理解。
在数值积分过程中,MATLAB也可以很好地发挥作用。
MATLAB中的quad函数可以用来求解函数在给定区间内的数值积分,通过对函数的积分计算,可以更好地理解微积分中的面积和曲线等概念。
在讲解微积分的面积和曲线时,使用MATLAB可以展示较多的面积和曲线实例,有助于学生理解具体实例。
二、MATLAB在微积分三维空间中的应用微积分中的三维空间部分,一般使用手工计算的方式进行,但是这种方式难度较大而且操作繁琐。
而MATLAB可以很方便地模拟三维空间中的曲线表面、曲面、向量场和曲线积分等,为学生提供更具体、直观的视觉体验。
MATLAB还可以使用画图函数,将许多计算步骤集成在一个命令窗口中,方便学生学习和理解三维空间的微积分。
三、MATLAB在微积分应用中的优点1. 计算精度高:MATLAB的计算精度非常高,可以解决许多手动计算困难的问题。
在使用MATLAB计算微积分时,可以快速得出精确的计算结果。
2. 操作简便:MATLAB界面友好,操作简便。
学生可以很容易地进行操作,快速理解微积分中的概念和原理。
3. 可视化更强:MATLAB可以将微积分的概念可视化,将微积分的理论和实际应用结合起来。
这样的教学方式更加形象直观,可以帮助学生更好地理解微积分的知识体系。
四、总结综合以上述,MATLAB在微积分中的应用,可以帮助学生更好地理解和掌握微积分的基本原理和概念,提高学生学习效率和学习兴趣。
MATLAB也为教师提供了一个新的教学工具,可以更加灵活地设计和授课,提高教学质量和教学效果。
Matlab在微积分中的简单应用

dy xy 2 • 3、 2 dx x y
y(0)=1
小结
• 1 用”diff()” 求数值微分和符号微分.
• 2 用”int()”、”Int()”直接积分 • 3 用“dsolve()”求微分方程的通解、特解
第6讲
Matlab在微积分中的简单应用
实验目的
• 1学会用”diff()” 求数值微分和符
号微分. • 2学会用”int()”、”Int()”直接积 分并写出积分表达式. • 3学会用”dsolve()”求微分方程的 通解、特解。
复习回顾(一)
计算下列函数的导数
ylog ax
1 y x ln a
复习回顾(二)
求下列的不定积分
1 x C 1 x2 dx arctan
1 x 2 1 1 2 1x )C 1 x2 dx 21x2d(1x ) 2ln(
分析:
1 2 1 2 xdx dx d ( 1 x) 2 2
二、熟悉以下Matlab中的求积分命 令
sin xdx (2)
e dx
2x
2 求下列函数的定积分
(1) e dx (2)
2 ( 3 x ) dx 2x1 0 1
复习回顾(三)
dy 3 2x y 的通解 • 求微分方程 dx dy • 解:将所给方程分离变量,得 2 x 3 dx y • 等式两端积分,有 dy 2x3dx
• 2求特解的命令格式 • r=dsolve(‘微分方程’,‘初值条件’,‘自变 量’)
• 3求微分方程组的命令格式
• [y1,y2,…]=dsolve(‘微分方程1’,‘微分方程 2’,…,‘初值条件1’,’初值条件2’ ,…,‘自 变量1’, ‘自变量2’,…)
Matlab微积分问题计算机求解实验

>> q2=quad('quad1',0,1)
【例】求exp(-x2)在[0,1]上的积分。
数值积分
3、编写被积函数表达式,函数名为f=@(x).exp(-x.^2);
>> q2=quad(f,0,1)
数值积分
(2)梯形法(被积函数由一个表格定义)
trapz函数采用梯形法求取数值积分,适用于由表格形式定义的函数关系的求定积分问题,求值速度快, 但精度差。
syms x; f=abs(x)/x;%给出待展开的函数 xx=[-pi:pi/200:pi]; xx=xx(xx~=0); xx=sort([xx,-eps,eps]);
Fourier级数的Matlab程序
yy=subs(f,x,xx);%计算f(x)的值 for i=1:20
[A,B,F]=fseries(f,x,n); y=subs(F,x,xx); subplot(4,5,n); plot(xx,yy);%画出f(x)的图像 hold on plot(xx,y);%画出Fourier级数的图像 end
K ex2dx 0
计算积分
21
( x1)2
练习:
e 2 dx,
0 2
e2t 2 x 2 1
dx
cost (2 x 2 3 x 1)2
符号求和
symsum(u,n,n0,nn): symsum(f,a,b): 关于默认变量求和
例:计算级数
S 1 及其前100项的部2 分和 n n 1
>> syms n; f=1/n^2;
>> S=symsum(f,n,1,inf)
>> S100=symsum(f,n,1,100)
第三章 matlab求解微积分

第三章 微积分的数学实验3.1极限与一元微积分3.1.1 初等运算1.定义单个或多个符号变量:syms x y z t ;定义单个符号变量或者符号函数还可以用单引号定义,如x=’x ’,f=’sin(x^2)+2*x-1’。
符号表达式的反函数运算g=finverse(f),g 是返回函数f 的反函数。
例1 求sin(1)y x =-的反函数>>syms x>>y=sin(x-1); g=finverse(y),结果为 g=1+asin(t)2. f actor(f) 因式分解函数f3.Collect(f) 对函数f 合并同类项4. expand(f) 将函数f 表达式展开5. simple(f) 找出表达式的最简短形式(有时需要用2次)6. roots (p )对多项式p 求根函数。
7. solve(F) 一般方程的求根函数例2 解方程2510x x +-=解 >>syms x>>solve(x^2+5*x-1)结果为x =[ -5/2+1/2*29^(1/2) -5/2-1/2*29^(1/2)]8.fzero(f,x0)或fzero(f,[a,b]) 在初始点x0处开始或在区间[a,b]上搜索函数的零点,f(a)与f(b)需要符号相反。
3.1.2 Matlab计算函数的极限函数形式:1)limit(F,x,a),求函数F在 x ->a时的极限。
2)limit(F,a),默认其中的变量为极限变量.3)limit (F),默认其中的变量为极限变量且趋向于0.4)limit(F,x,a,'right')或limit(F,x,a,’le ft') 求函数F在x->a时的右、左极限.例3 >>syms x a t h; %syms作用是申明x,a,t,h是符号变量,不需先赋值再调用。
>>limit(sin(x)/x) %结果为 1>>limit((x-2)/(x^2-4),2) %结果为 1/4>>limit((1+2*t/x)^(3*x),x,inf) %结果为 exp(6*t)>>limit(1/x,x,0,'right') %结果为 inf>>limit(1/x,x,0,'left') %结果为 -inf>>limit((sin(x+h)-sin(x))/h,h,0) %结果为 cos(x)>>v = [(1 + a/x)^x, exp(-x)];limit(v,x,inf,'left') %结果为[exp(a),0]3.1.3 Matlab计算导数与微分1.一元导数和微分diff函数用以计算函数的微分和导数,相关的函数语法有下列4个:diff(f) 返回f对预设独立变量的一次导数值diff(f,'t')或diff(f,t) 返回f对独立变量t的一次导数(值)diff(f,n) 返回f对预设独立变量的n阶导数(值)diff(f,'t',n) 或diff(f,t,n)返回f对独立变量t的n阶导数(值)这里尽管自变量已经作为符号变量,可以不用syms说明,但是在具体执行diff(f)、diff(f,'t')和diff(f,t)会出现差异,有的能够执行,有的不能够,有的执行符号微分,有的执行数值微分,所以比较麻烦。
MATLAB第三章

第三章微积分问题的计算机求解一、实验内容:题目1.试求出如下极限。
①limx→∞(3x +9x )1/ x,②lim x→∞[(x+2)x+2(x+3)x+3 ]/(x+5)2x+5【分析】:该题为单变量函数的极限。
极限问题可以用limit()函数直接求出。
要注意该函数的调用格式为:L=limit(fun,x,x0)(求极限),L=limit(fun,x,x0,’left’或’right’)(求极限)。
还需注意一开始要对函数的字符进行申明。
【解答】:(1)输入如下语句:>> syms x;f=(3^x+9^x)^(1/x);L=limit(f,x,inf)语句运行后显示如下:L =9(2)输入如下语句:>>syms x;f=(x+2)^(x+2)*(x+3)^(x+3)/(x+5)^(2*x+5);>> L=limit(f,x,inf)语句运行后显示如下:L =exp(-5)题目2.试求下面的双重极限。
①lim x→−1y→2 (x2y+xy3)/(x+y) 3,②limx→0 y→0 xy /√(xy+1)−1,③limx→0y→0 [1−cos(x2+y2)]/(x2+y2)e x2+y2。
【分析】:该题为多变量函数的极限问题。
他可以用嵌套使用limit()函数来解决。
在MATLAB上可以用L=limit(limit(f,x,x0),y,y0)或者L=limit(f,y,y0),x,x0)来解决。
其思想是所有的先关于X求导,再所有的关于y求导。
【解答】:(1)输入如下语句:>> syms x y>> f=(x^2*y+x*y^3)/(x+y)^3;>> L=limit(limit(f,x,-1),y,2)语句运行后显示如下:L =-6(2)输入如下语句:>> syms x yf=(x*y)/(sqrt(x*y+1)-1);L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =2(3)输入如下语句:>> syms x yf=(1-cos(x^2+y^2))/(sqrt(x^2+y^2)*exp(x^2+y^2));L=limit(limit(f,x,0),y,0)按ENTER键,语句运行后显示如下:L =题目3.求出下面函数的导数。
第七章 MATLAB微积分数值计算
相同维数的向量U,且 1 U1 2 ( V4 4V3 5V2 2V1 ) h 1 U i 2 (Vi 1 2Vi Vi 1 ), (1 i n) h 1 U n 2 (2Vn 5Vn 1 4Vn 2 Vn 3 ) h 默认的步长为1。 U=4*del2(V,h1,h2),对矩阵V,横向(x方向)以步长h1,纵向(y方
diff调用格式为:
Dy=diff(Y):计算向量Y的向前差分,并把结果赋值给向量Dy Dy(i)=Y(i+1)-Y(i),i=1,2,…,n-1。注意向量Dy元素个数比Y少一个
Dy=diff(Y,n):计算向量Y的n阶向前差分。注意向量Dy元素个数比Y少n个.例如:
diff(Y,2)=diff(diff(Y))=DX(i+1)-DX(i)= Y(i+2)-2Y(i+1)+Y(i) , i=1,2 ……n-2。
计算积分,可以采取逐步缩小步长h的办法。即先任
取步长h进行计算,然后取较小步长 h’ 进行计算,如果两
次计算结果相差较大,则取更小步长进行计算,如此下去, 直到相邻两次计算结果相差不大为止,取最小步长算出的 结果作为积分值。这种方法称为变步长积分法。 利用两种步长计算积分时,通常取h’=h/2 。而每次
x
4
精度为O(∆X4)的高阶中心差分算法
yi yi yi yi 2 8 yi 1 8 yi 1 yi 2 12 x yi 2 16 yi 1 30 yi 16 yi 1 yi 2 12 x
2
yi 3 8 yi 2 13 yi 1 13 yi 1 8 yi 2 yi 3 8 x
7.1 数值微分 7.2 数值积分 7.3 常微分方程的数值解法
微积分问题的MATLAB求解
0-1规划(bintprog)
非线性最小二乘 lsqnonlin lsqcurvefit
其他规划ga gamultiobj simulannealbnd patternsearch threshacceptbnd 上下界 约束 fminbnd fmincon lsqnonlin lsqcurvefit
fun
H
A,b
Aeq,beq vlb,vub X0 x1,x2 options
A矩阵和b向量分别为线性不等式约束: linprog,quadprog,fgoalattain, fmincon,fminimax AX≤b中的系数矩阵和右端向量 Aeq矩阵和beq向量分别为线性等式约 束Aeq*X=beq中的系数矩阵和右端向量 X的下限和上限向量 迭代初始点坐标 函数最小化的区间 优化选项参数结构 linprog,quadprog,fgoalattain, fmincon,fminimax linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit, lsqnonlin 除fminbnd外所有函数 fminbnd 所有优化函数
内寻找一个近似零点。 solve(f)求解表达式f的代数方程,求解变量为默认变量。 solve(f,x)求解变量为x sovle(f1,f2,...,fn,x1,x2,...,xn)求解f1,f2,...,fn表示的代数方程组。
例如:
三. 微商的计算
3.1符号导数
diff函数用于对符号表达式求导数,该函数的调用形式为: diff(f)没有指定变量和导数阶数,系统按照findsym函数指示的默认变量求一阶导数 diff(f,x) diff(f,n)按findsym函数指示的默认变量求n阶导数,n必须为正整数。 diff(f,x,n)
第7章MATLAB微积分运算
例 7-6
编制如下程序
clear;clc; [X, Y, Z] = sphere(20); surfnorm(X, Y, Z) axis square box on
运行结果如图7-5所示
图 7-5
7
7.1.2 符号微分
例 7-7
编制如下命令文件
clear;clc; F='sin(3*x)' Fx=diff(F,'x') Fxx=diff(F, 'x', 2)
运行结果如图7-1所示 图 7-1
3
例 7-3
编制如下程序
clear;clc; n = 360 x = linspace(0, 2*pi, n); y = exp(-0.2*x).*(cos(x)+sin(x)); dy = diff(y); dx = diff(x); dyx = dy./dx; plot(x,y,'r-') hold on plot(x(1:n-1),dyx,'b-.') legend('y','dy/dx')
运算结果为
F= sin(3*x) Fx =
3*cos(3*x)
Fxx =
-9*sin(3*x)
8
例 7-8
编制如下程序
clear;clc; Z = 'exp(a*x+b*y)*(sin(x*y)+sin(x)+cos(y))' Zx = diff(Z, 'x') Zy = diff(Z, 'y') 运行结果为
cos(a*x)+b
F=
(sin(pi*a)+b*a*pi)/a
利用matlab进行微积分的计算
Matlab的微积分符号运算都可以对数组进行。
函数的积分 积分符号运算的基本语句 int(F); %求函数表达式F的不定积分 int(F,v); %求函数表达式F关于变量v的不定积分 int(F,a,b); %求函数表达式F在区间[a,b]上的定积分 int(F,v,a,b); %求函数表达式F在区间[a,b]上的关于变量v的 定积分
elapsed time is 17.471170 seconds. s=
53362913282294785045591045624042980409652472280384260097101349248456268889497101757 50609790198503569140908873155046809837844217211788500946430234432656602250210027842 563285208140554494121044251014267277029477471270891796396777961045322469242686646888 828158207198489710511079687324931915552939701750893156451997608573447301418328401172 44122806490743077037366831700558002936592350885893602352858528081607595747378366554 13175508131522517/712886527466509305316638415571427292066835886188589304045200199115 432408758111149947644415191387158691171781701957525651298026406762100925146587100430 513107268626814320019660997486274593718834370501543445252373974529896314567498212823 69562328237940110688092623177088619795407912477545580493264757378299233527517967352 48042463638051137034331214781746850878453485678021888075373249921995672056932029099 390891687487672697950931603520000
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3 章
微积分问题的计算机求解
⏹薛定宇、陈阳泉著《高等应用数学问题的MATLAB求解》,清华大学出版社2004
⏹CAI课件开发:刘莹莹、薛定宇
高等应用数学问题的MATLAB 求解
主要内容
⏹微积分问题的解析解
⏹函数的级数展开与级数求和问题求解⏹数值微分
⏹数值积分问题
⏹曲线积分与曲面积分的计算
⏹本章要点简介
高等应用数学问题的MATLAB 求解
3.1 微积分问题的解析解
⏹3.1.1 极限问题的解析解⏹3.1.2 函数导数的解析解⏹3.1.3 积分问题的解析解
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB 求解
3.1.1 极限问题的解析解
3.1.1.1单变量函数的极限
【例3-1】试求解极限问题
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB
求解
【例3-2】求解单边极限问题
3.1.1.2 多变量函数的极限
高等应用数学问题的MATLAB 求解
【例3-3】求出二元函数极限值
高等应用数学问题的MATLAB 求解
3.1.2
函数导数的解析解
3.1.2.1 函数的导数和高阶导数
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB
求解
【例
3-4】
高等应用数学问题的MATLAB 求解
3.1.2.2 多元函数的偏导
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB 求解
【例
3-5】
三维曲面:
引力线:
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB
求解
【例
3-6】
3.1.2.3 多元函数的Jacobi矩阵
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB 求解X 是自变量构成的向量,
Y 是由各个函数构成的向量。
高等应用数学问题的
MATLAB 求解【例
3-7】
试推导其Jacobi 矩阵
高等应用数学问题的
MATLAB
求解3.1.2.4 隐函数的偏导数
高等应用数学问题的MATLAB
求解
【例3-8】
3.1.2.5
参数方程的导数 已知参数方程
,求
【例3-9】
高等应用数学问题的MATLAB 求解
3.1.3 积分问题的解析解3.1.3.1 不定积分的推导
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB
求解【例3-10】
用diff() 函数求其一阶导数,再积分,检验是否可以得出一致的结果。
高等应用数学问题的MATLAB
求解对原函数求4 阶导数,再对结果进行4 次积分
高等应用数学问题的MATLAB
求解
【例3-11】证明
高等应用数学问题的MATLAB 求解
【例
3-12
】两个不可积问题的积分问题求解。
高等应用数学问题的MATLAB
求解3.1.3.2 定积分与无穷积分计算
高等应用数学问题的
MATLAB 求解
【例
3-13】
高等应用数学问题的
MATLAB
求解【例3-14】
高等应用数学问题的
MATLAB
求解【例3-15】
3.1.3.3多重积分问题的MATLAB 求解
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB
求解
【例
3-16】
3.2 函数的级数展开与
级数求和问题求解
⏹3.2.1 Taylor 幂级数展开⏹3.2.2 Fourier 级数展开⏹3.2.3 级数求和的计算
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB
求解3.2.1 Taylor 幂级数展开
3.2.1.1 单变量函数的Taylor
幂级数展开
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB 求解
【例
3-17】
高等应用数学问题的MATLAB 求解
3.2.1.2 多变量函数的Taylor
幂级数展开
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB
求解【例3-18】
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB
求解3.2.2 Fourier 级数展开
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB
求解
【例3-19】
【例3-20】
高等应用数学问题的MATLAB 求解
高等应用数学问题的MATLAB 求解
高等应用数学问题的
MATLAB 求解3.2.3 级数求和的计算。