第二篇数学篇 MATLAB在高等数学中的应用举例
第二篇 数学篇 MATLAB在高等数学中的应用举例
数值解还是解析解? ·在“语言篇”个绍了MATLAB数学软件基本语法的基础上, 本篇讨论如何用它来解决大学工科所学过的数学问题。本 篇的第14节依次讨论微积分中的极限与导数、,解析几何、 数列和级数以及数字积分问题;第5节讨论线性代数,第6 节讨论概率论与数理统计。主要通过一些例题说明如何灵 活使用MATLAB的各种函数来解题。 MATLAB是从数值运算发展起来的,以后发展到符号数学 (即公式推导)。数学弃比较喜欢用Mathematica:软件, 我们以讨论数值计算方法为主,并考虑到与后续课程的衔 接问题,所以选择MATLAB软件。 对于工科而言,各门后续课程和未来的工程实践中遇到最 大量的将是数值计算问题。计算机首先是计算的工具。计 算杌的计算过程和方法都是从计算器开级而来的,学生可 以理解和接受其每一步,甚至自己都可以编出相应的程序, 这是数值计算的二个长处。相比起来,计算机推理过程对 于工科学生而言,往往只能知其然而不知其所以然
数值解还是解析解? • 在“语言篇”介绍了MATLAB数学软件基本语法的基础上, 本篇讨论如何用它来解决大学工科所学过的数学问题。本 篇的第1~4节依次讨论微积分中的极限与导数、解析几何、 数列和级数以及数字积分问题;第5节讨论线性代数,第6 节讨论概率论与数理统计。主要通过一些例题说明如何灵 活使用MATLAB的各种函数来解题。 • MATLAB是从数值运算发展起来的,以后发展到符号数学 (即公式推导)。数学界比较喜欢用Mathematica软件, 我们以讨论数值计算方法为主,并考虑到与后续课程的衔 接问题,所以选择MATLAB软件。 • 对于工科而言,各门后续课程和未来的工程实践中遇到最 大量的将是数值计算问题。计算机首先是计算的工具。计 算机的计算过程和方法都是从计算器升级而来的,学生可 以理解和接受其每一步,甚至自己都可以编出相应的程序, 这是数值计算的一个长处。相比起来,计算机推理过程对 于工科学生而言,往往只能知其然而不知其所以然
数值解还是解析解?(续) ·其次,用推理方法只能解决很少一部分有解析解的数学命 题。比如许多函数是无法求不定积分的,而它们的数值积 分却都可以求得。因此优先让学生掌握数值方法等于给他 们教会了具有更普遍适用的科学计算方法。对于他们今后 的工程生涯将有更广泛的用处。当然,用符号数学求积分, 或求微分方程的解析解有时也非常有用,这相当于查积分 表或数学手册的电子化和智能化。 ·当一个例题可以同时用数值方法和符号推理方法解决时, 我们采取的原则是优先讲数值方法,当同时介绍两种方法 时,书中将把符号推理方法的程序用文字框框出来,便于 读者跳过不学。因为通常这两种方法在编程上很相似,但 又有一些关键性的差别,初学者很容易混淆。对于这类读 者,还是先掌握数值方法为好
数值解还是解析解?(续) • 其次,用推理方法只能解决很少一部分有解析解的数学命 题。比如许多函数是无法求不定积分的,而它们的数值积 分却都可以求得。因此优先让学生掌握数值方法等于给他 们教会了具有更普遍适用的科学计算方法。对于他们今后 的工程生涯将有更广泛的用处。当然,用符号数学求积分, 或求微分方程的解析解有时也非常有用,这相当于查积分 表或数学手册的电子化和智能化。 • 当一个例题可以同时用数值方法和符号推理方法解决时, 我们采取的原则是优先讲数值方法,当同时介绍两种方法 时,书中将把符号推理方法的程序用文字框框出来,便于 读者跳过不学。因为通常这两种方法在编程上很相似,但 又有一些关键性的差别,初学者很容易混淆。对于这类读 者,还是先掌握数值方法为好
5.1函数、极限和导数 一.单变量函数值的计算和绘图 【例5-1-1】单变量函数的计算和绘图,设 a+到 要求以0.01s为间隔,求出y的151个点,并求出其 导数的值和曲线。 解:◆建模:可以采取下列两种方法来做, 1。直接用文本文件中编程的方法; 2。编成函数文件,由主程序调用的方法; 求导数采用dif函数对数组y作运算的方法
5.1 函数、极限和导数 • 一.单变量函数值的计算和绘图 【例5-1-1】 单变量函数的计算和绘图,设 要求以0.01 s为间隔,求出y的151个点,并求出其 导数的值和曲线。 • 解:◆建模:可以采取下列两种方法来做, 1。直接用文本文件中编程的方法; 2。编成函数文件,由主程序调用的方法; 求导数采用diff函数对数组y作运算的方法. 3 4 sin 4 3 2 3 t y e t
主程序方法 主程序exn511a为: t=[0:.01:1.5] %设定自变量数组t w=4*sqrt(3); %固定频率 y=w/8*exp(-4*t).*sin(w*t+pi3);%用数组运算式 subplot(2,1,1),plot(t,y),grid %绘制曲线 title('绘图示例),xlabel('时间t),ylabel(y(t))%标注 Dy=diff(y);subplot(2,1,2), %求导数后,导数数组长度比原函数减少一。 plot(t(length(t)-1),Dy),grid 1%绘制导数曲线
主程序方法 主程序exn511a为: t=[0:.01:1.5]; % 设定自变量数组t w= 4*sqrt(3); % 固定频率 y=w/8*exp(-4*t).*sin(w*t + pi/3);% 用数组运算式 subplot(2,1,1),plot(t,y), grid % 绘制曲线 title('绘图示例'),xlabel('时间 t'),ylabel('y(t)') % 标注 Dy=diff(y); subplot(2,1,2), % 求导数后,导数数组长度比原函数减少一。 plot(t(length(t)-1),Dy), grid % 绘制导数曲线
用函数程序方法 此方法,要用两个程序文件 主程序exn511b为: dt=0.01;t=[0:dt:1.5];w=4*sqrt(3); y=exn511bf(t,w);Dy=diff(y)/dt; %绘图和加标注的程序略去 另要建立一个函数文件exn511bf.m,其内容为: function xvalues=ex511bf(tvalues,w) %此函数文件,应该能用元素群运算。 xvalues=w*exp(-4*tvalues).*sin(w*tvalues pi/3);
用函数程序方法 此方法, 要用两个程序文件 主程序exn511b为: dt=0.01; t=[0:dt:1.5]; w= 4*sqrt(3); y=exn511bf(t,w); Dy=diff(y)/dt; % 绘图和加标注的程序略去 另要建立一个函数文件exn511bf.m,其内容为: function xvalues= ex511bf (tvalues,w) % 此函数文件,应该能用元素群运算。 xvalues=w*exp(-4*tvalues).*sin(w*tvalues + pi/3);
程序运行结果 ·运行这两种程序都得到图5-1-1的曲线。为了节省 篇幅,我们没让显示y的数据。以后的各例中还将 删略绘图时的标注语句。从本例看,第二种方法 似乎更麻烦一些,但它具备模块化的特点。当程 序中要反复多次调用此函数,而且输入不同自变 量时,利用函数文件可大大简化编程。我们应该 掌握这种方法。两次应用dif函数或用dif(y,2)可以 求y的二次导数。 ·改变背景色为白色的命令 set(gcf,'color','w')
程序运行结果 • 运行这两种程序都得到图5-1-1的曲线。为了节省 篇幅,我们没让显示y的数据。以后的各例中还将 删略绘图时的标注语句。从本例看,第二种方法 似乎更麻烦一些,但它具备模块化的特点。当程 序中要反复多次调用此函数,而且输入不同自变 量时,利用函数文件可大大简化编程。我们应该 掌握这种方法。两次应用diff函数或用diff(y,2)可以 求y的二次导数。 • 改变背景色为白色的命令 set(gcf, 'color' , 'w')
参变方程的计算和绘图 【例5-1-2】 摆线的绘制 ·当圆轮在平面上滚动时, 轮上任一点所画出的轨迹 称为摆线。如果这一点不 在圆周上而在圆内,则生 成内摆线; 如果该点在圆外,即离圆 心距离大于半径,则生成 外摆线
参变方程的计算和绘图 【例5-1-2】 摆线的绘制 • 当圆轮在平面上滚动时, 轮上任一点所画出的轨迹 称为摆线。如果这一点不 在圆周上而在圆内,则生 成内摆线; • 如果该点在圆外,即离圆 心距离大于半径,则生成 外摆线
摆线绘制的程序 ◆建模:其普遍方程可表为: x =rt -Rsin t y=Rcos t ◆MATLAB程序eXn512: ·t=0:0.1:10; %设定参数数组 r=input('r='),R=input('R=') %输入常数 ·x=r*t-R*sin();y=r-R*cos(t);%计算x,y ·plot(x,y),axis('equal)%绘图
摆线绘制的程序 ◆建模:其普遍方程可表为: x = rt - Rsin t y= Rcos t ◆ MATLAB程序exn512: • t=0:0.1:10; % 设定参数数组 • r=input('r='),R=input('R=') %输入常数 • x=r*t-R*sin(t); y=r-R*cos(t); % 计算x,y • plot(x,y),axis('equal') % 绘图
摆线绘制程序的结果 ·设r=1,令R=r,R=0.7 及R=1.5时得到的摆 线、内摆线和外摆线 外摆线 都绘于图5-1-3中。为 摆线 了显示摆线的正确形 内摆线 状,x,y坐标保持等比 例是很重要的,因此 程序中要加 axis(equal')语句
摆线绘制程序的结果 • 设r=1,令R=r, R=0.7 及R=1.5时得到的摆 线、内摆线和外摆线 都绘于图5-1-3中。为 了显示摆线的正确形 状,x,y坐标保持等比 例是很重要的,因此 程序中要加 axis(‘equal’)语句。 0 2 4 6 8 - 101234 摆 线 外 摆 线 内 摆 线