第十六讲在高等数学中的应用

上传人:ni****g 文档编号:569879015 上传时间:2024-07-31 格式:PPT 页数:35 大小:119.50KB
返回 下载 相关 举报
第十六讲在高等数学中的应用_第1页
第1页 / 共35页
第十六讲在高等数学中的应用_第2页
第2页 / 共35页
第十六讲在高等数学中的应用_第3页
第3页 / 共35页
第十六讲在高等数学中的应用_第4页
第4页 / 共35页
第十六讲在高等数学中的应用_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《第十六讲在高等数学中的应用》由会员分享,可在线阅读,更多相关《第十六讲在高等数学中的应用(35页珍藏版)》请在金锄头文库上搜索。

1、 第十六讲 在高等数学中的应用1数值解还是解析解?在在“语言篇语言篇”介绍了介绍了MATLABMATLAB数学软件基本语法的基础上,数学软件基本语法的基础上,本篇讨论如何用它来解决大学所学过的数学问题。本篇的第本篇讨论如何用它来解决大学所学过的数学问题。本篇的第1 14 4节依次讨论微积分中的极限与导数、解析几何、数列和节依次讨论微积分中的极限与导数、解析几何、数列和级数以及数值积分问题。主要通过一些例题说明如何灵活使级数以及数值积分问题。主要通过一些例题说明如何灵活使用用MATLABMATLAB的各种函数来解题。的各种函数来解题。对于学生而言,各门后续课程和未来的工程实践中遇到对于学生而言,

2、各门后续课程和未来的工程实践中遇到最大量的将是数值计算问题。计算机首先是计算的工具。计最大量的将是数值计算问题。计算机首先是计算的工具。计算机的计算过程和方法都是从计算器升级而来的,学生可以算机的计算过程和方法都是从计算器升级而来的,学生可以理解和接受其每一步,甚至自己都可以编出相应的程序,这理解和接受其每一步,甚至自己都可以编出相应的程序,这是数值计算的一个长处。是数值计算的一个长处。 2其次,用推理方法只能解决很少一部分有解析解的数学其次,用推理方法只能解决很少一部分有解析解的数学命题。比如许多函数是无法求不定积分的,而它们的数值积命题。比如许多函数是无法求不定积分的,而它们的数值积分却都

3、可以求得。因此优先让学生掌握数值方法等于给他们分却都可以求得。因此优先让学生掌握数值方法等于给他们教会了具有更普遍适用的科学计算方法。对于他们今后的工教会了具有更普遍适用的科学计算方法。对于他们今后的工程生涯将有更广泛的用处。程生涯将有更广泛的用处。当一个例题可以同时用数值方法和符号推理方法解决时,当一个例题可以同时用数值方法和符号推理方法解决时,我们采取的原则是优先讲数值方法。因为通常这两种方法在我们采取的原则是优先讲数值方法。因为通常这两种方法在编程上很相似,但又有一些关键性的差别,初学者很容易混编程上很相似,但又有一些关键性的差别,初学者很容易混淆。对于这类读者,还是先掌握数值方法为好。

4、淆。对于这类读者,还是先掌握数值方法为好。35.1 函数、极限和导数函数、极限和导数一单变量函数值的计算和绘图一单变量函数值的计算和绘图【例【例5-1-15-1-1】 单变量函数的计算和绘图单变量函数的计算和绘图, ,设设要求以要求以0.01 s0.01 s为间隔,求出为间隔,求出y y的的151151个点,并个点,并求出其导数的值和曲线。求出其导数的值和曲线。解解: :4dt=0.01;t=0:dt:1.5; % 设定自变量数组tw= 4*sqrt(3); % 固定频率y=sqrt(3)/2*exp(-4*t).*sin(w*t + pi/3); % 注意用数组运算式subplot(2,1,

5、1),plot(t,y), grid % 绘制曲线并加上坐标网格title(绘图示例),xlabel(时间 t),ylabel(y(t) % 加标注% 求导数并绘制导数曲线,注意数组求导数后其长度减少一Dy=diff(y)/dt; subplot(2,1,2)plot(t(1:length(t)-1),Dy) gridylabel(Dy(t) % 加标注set(gcf,color,w) 5参变方程的计算和绘图参变方程的计算和绘图【例【例5-1-3】 摆线的绘制当圆轮在平面上滚动时,轮上任一点所画出的轨迹称为摆线。如果这一点不在圆周上而在圆内,则生成内摆线;如果该点在圆外,即离圆心距离大于半径,

6、则生成外摆线。6摆线绘制的程序建模: 7 MATLAB程序exn512:t=0:0.1:15;% 设定参数数组x=t+sin(t); y=cos(t);% 计算x,yplot(x,y)axis(equal) % 绘图grid8动画t=0:0.001:15; % 设定参数数组x=t+sin(t); y=cos(t); % 计算x,y comet(x,y)9摆线绘制程序的结果设r=1,令R=r, R=0.7及R=1.5时得到的摆线、内摆线和外摆线都绘于图5-1-3中。为了显示摆线的正确形状,x,y坐标保持等比例是很重要的,因此程序中要加axis(equal)语句。 10三三 曲线族的绘制曲线族的绘

7、制【例【例5-1-4】 三次曲线的方程为,试探讨参数a和c对其图形的影响.图5-1-3 c和a取不同值时y=ax3+cx的曲线族解:方法 因为函数比较简单,可以直接写入绘图语句中,用循环语句来改变参数.注意坐标的设定方法,以得到适于观察的图形。给出的程序不是唯一的,例如也可用fplot函数等, 11画曲线族的程序x=-2:0.1:2;% 给定x数组, subplot(1,2,1)% 分两个画面绘图for c=-3:3 plot(x,x.3+c*x), hold on, % a=1,取不同的cend, grid onaxis(equal), axis(-2 2 -3 3), % x,y坐标等比例

8、subplot(1,2,2),for a=-3:3 plot(x,a*x.3+x), % c=1,取不同的ahold on, end , grid on axis(equal), axis(-2 2 -3 3)12例5-1-4程序运行的结果135.3节节 数列和级数数列和级数14一数列的表示方法一数列的表示方法数列就是自变量为整数时的函数。MATLAB中的元素群运算特别适合于简明地表达数列,可省去其他语言中的循环语句。下面就是一些例子:n=1:6;1./n = 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 (-1).n./n = -1.0000 0.500

9、0 -0.3333 0.2500 -0.2000 0.16671./n./(n+1) = 0.5000 0.1667 0.0833 0.0500 0.0333 0.0238 15数列用数列用for循环的表示方法循环的表示方法计算n!(n的阶乘),它应该写成prod(1:n )for k=1:6 x(k)=prod(1:k); endx16三三. 函数项级数函数项级数【例【例5-3-2】 利用幂级数计算指数函数解:原理:指数可以展开为幂级数% 输入原始数据,初始化yx=input(x= );n=input(n= );y=1;% 将通项循环相加n次,得yfor i=1:n y=y+xi/prod(

10、1:i); end y分别代入x=1,2,4,-4四个数,取n=10,结果如下表17用级数计算指数的结果18例 用付利叶级数合成方波解:建模设方波的周期为2,半周期为.幅度为正负0.7854,如右图所示.它应该可以用傅立叶级数合成.用上题的程序分析,应有:现取不同的阶次,编写程序,画出其合成波形,在图上进行比较.19MATLAB程序exn547设计如下:t = linspace(-pi,pi,201);%设定时间数组y = sin(t);plot(t,y),pausey = sin(t) + sin(3*t)/3; plot(t,y), pause % 叠加三次谐波% 用1,3,5,7,9次谐

11、波叠加y=sin(t)+sin(3*t)/3+sin(5*t)/5+sin(7*t)/7+sin(9*t)/9;plot(t,y)20k=input(k=) %K级谐波t = linspace(-pi,pi,201); % 设定时间数组y=0for n=1:2:k y=y+sin(n*t)/n;endplot(t,y), 215.4节节 数值积分和微分方程数值解数值积分和微分方程数值解22求任意非线性方程f(x)=0的解【例】【例】 求下列方程的近似数值解。 解解: 可先大致看一下曲线的形状。它有三个过零点。分别在-10,-3,3附近。x=-12:0.01:5;y =x.3+10*x.2-2*

12、sin(x)-50;plot(x,y)y1=zeros(1,length(x);hold onplot(x,y1,k)grid23实际上可直接用fzero求f(x)的根,方法是把f(x)定义为一个子程序函数ex517f.m,其内容为function y=ex517f(x) y =x.3+10*x.2-2*sin(x)-50;然后执行x=fzero(ex517f,x0),即可得出靠x0较近的数值解x。24二数值定积分求面积二数值定积分求面积【例例5-3-1】 用数值积分法求由 x=0与x=10围成的图形面积,并讨论步长和积分方法对精度的影响。解: 原理 用矩形法和梯形法分别求数值积分并作比较,步

13、长的变化用循环语句实现。MATLAB中的定积分有专门的函数QUAD,QUADL等实现。为了弄清原理,我们先用直接编程的方法来计算,然后再介绍定积分函数及其调用方法。设x向量的长度取为n,即将积分区间分为n-1段,各段长度为 。算出各点的,则矩形法数值积分公式为:25矩形和梯形定积分公式梯形法的公式为:比较两个公式,它们之间的差别只是 。在MATLAB中,把向量中各元素叠加的命令是sum。把向量中各元素按梯形法叠加的命令是trapz。梯形法的几何意义是把被积分的函数的各计算点以直线相联,形成许多窄长梯形条,然后叠加,我们把两种算法都编入同一个程序进行比较。26求面积的数值积分程序exn531fo

14、r dx=2,1,0.5,0.1 % 设不同步长x=0:.1:10; y=-x.*x+115; % 取较密的函数样本 plot(x,y) hold on % 画出被积曲线并保持x1=0:dx:10;y1=-x1.*x1+115; % 求取样点上的y1% 用矩形(欧拉)法求积分,注意末尾去掉一个点n=length(x1);s=sum(y1(1:n-1)*dx; q=trapz(y1)*dx; % 用梯形法求积分stairs(x1,y1), % 画出欧拉法的积分区域plot(x1,y1) % 画出梯形法的积分区域dx,s,q,pause(1),hold offend 27程序exn531运行结果程

15、序运行的结果如下:步长dx 矩形法解s 梯形法解q2 9108101 865815 .5841.25 816.25 .1821.65 816.65用解析法求出的精确解为2450/3=816.6666.。dx=2时矩形法和梯形法的积分面积见图5-25.。在曲线的切线斜率为负的情况下,矩形法的积分结果一定偏大,梯形法是由各采样点联线包围的面积,在曲线曲率为负(上凸)时,其积分结果一定偏小,因此精确解在这两者之间。由这结果也能看出,在步长相同时,梯形法的精度比矩形法高。28矩形法数字积分的演示程序rsumsMATLAB中有一个矩形法数字积分的演示程序rsums,可以作一个对比。键入rsums(115

16、-x.2,0,10)就得到右图。图中表示了被积函数的曲线和被步长分割的小区间,并按各区间中点的函数值构成了各个窄矩形面积。用鼠标拖动图下方的滑尺可以改变步长的值,图的上方显示的是这些矩形面积叠加的结果。29MATLAB内的数值定积分函数在实际工作中,用MATLAB中的定积分求面积的函数quad和quadl可以得到比自编程序更高的精度,因为quad函数用的是辛普生法,即把被积函数用二次曲线逼近的算法,而quadl函数采用了更高阶的逼近方法。它们的调用格式如下:Q = QUADL(FUN,A,B,TOL)其中,FUN是表示被积函数的字符串, A是积分下限,B是积分上限。TOL是规定计算的容差,其默

17、认值为1e-6 例如,键入S = quad(-x.*x+115,0,10)得到 S = 8.166666666666666e+00230六微分方程的数值积分六微分方程的数值积分MATLAB中用来进行常微分方程数值积分的函数有好多种,例如ode23,ode45,等,ode是常微分方程(ordinary differential equation)的缩写。它们都用来解形如的一阶微分方程组在给定初始值y0时的解。对入门者而言,会一种最简单的ode23就行。它的最简单的调用格式为:T,Y = ODE23(ODEFUN,TSPAN,Y0)其中,输入变元TSPAN= t0,tf 是自变量的初值和终值数组,

18、Y0是输出变量向量的初值,ODEFUN则是描述导数的函数f(y,t)。很大一类微分方程都可以用这种一阶微分方程组(或向量形式的微分方程)描述,关键就是会列写导数函数f(y,t),下面举例说明。31微分方程数值积分【例微分方程数值积分【例5-3-7】用数值积分法求解微分方程 设初始时间t0=0;终止时间tf=3; 初始条件y(0)=1,y(0)=0. 解:先将方程化为两个一阶微分方程的方程组,其左端为两维变量的一阶导数。 32微分方程化为标准形式写成矩阵形式为 其中 为取代变量y的变量向量, 为x的导数,在程序中用xdot表示。x的初始条件为 这就是待积分的微分方程组的标准形式。用MATLAB语

19、句表述为: xdot=0, 1;-t, 0*x + 0; 1*(1-t2/pi2); 33【例【例5-3-7】数值解的程序】数值解的程序将微分方程的右端写成一个exn537f.m函数程序,内容如下:function xdot=exn537f(t,x)u=1-(t.2)/(pi2); xdot=0, 1;-t, 0*x + 0; 1*u; % 向量导数方程主程序exn537如下,它调用MATLAB中的现成的数值积分函数ode23进行积分。clf, t0=0; tf=3*pi; x0=1; 0; % 给出初始值t,x=ode23(exn537f, t0,tf, x0) % 此处显示结果y=x(:,1);% y为x的第一列plot(t,y) ,grid% 绘曲线xlabel(t),ylabel(y(t)34数值解程序数值解程序exn537的运行结果的运行结果程序运行的结果见图5-37。这个数值积分函数是按精度要求自动选择步长的。它的默认精度为1.e-3,因此图中的积分结果是可靠的。若要改变精度要求,可在调用命令中增加备选变元,具体做法可键入help ode23查找。 35

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号