matlab在数学分析中的应用[共23页]_第1页
matlab在数学分析中的应用[共23页]_第2页
matlab在数学分析中的应用[共23页]_第3页
matlab在数学分析中的应用[共23页]_第4页
matlab在数学分析中的应用[共23页]_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕 业 论 文(2015届)题 目 MATLAB在解决数学分析中 图形问题的应用 学 院 数学计算机学院 专 业 信息与计算科学 年 级 学生学号 学生姓名 指导教师 2015年5月8日MATLAB在解决数学分析中图形问题的应用数学计算机学院 信息与计算科学专业 2015届 冯铄 摘 要:本文试图探讨运用 MATLAB操作平台的命令函数和绘图语句的特点,将数学分析中抽象的、难以理解的图形(例如:螺旋曲线),以及难以靠手工绘制得到理想图形的,用MATLAB来解决。并介绍MATLAB在这些方面的使用方法和技巧,从而达到事半功倍的效果。关键词:MATLAB;数学分析;图形;命令函数;方法中图分类号:

2、TP311.1 The Application of Graphics Problem in Mathematical Analysis Solved by MATLABAbstract: The paper discusses the commandfunction and the graphics characteristics, and solves the abstract, confused graphics which is hard to paint by hand in mathematical analysis by MATLAB. And then, the paper i

3、ntroduces its methods and skills to make problems easier.Key words: MATLAB; mathematical analysis; graph; Command function; Method目 录1 引言 12 MATLAB 简介 13 实例与分析 23.1 二维图形 2 3.1.1 初等函数 33.1.2分析函数当x0,1 时的变化趋势 43.1.3 研究Dirichlet核的性质 53.1.4 二重积分D e-(x2+y2)d相关问题 53.1.5曲面积分 1+4x2+4y2ds相关问题 7 3.2 三维图形 83.2.

4、1 螺旋曲线 83.2.2 马鞍面 93.2.3 莫比乌斯带 93.2.4 二元函数z=3(x-1)2e-(x+1)2-y2的相关问题 113.2.5 三重积分的符号计算及其MATLAB程序 11 3.3 空间曲线曲面相关问题 133.3.1 空间曲线的切线和法平面的实验 133.3.2 空间曲面的切线和法平面的实验 143.4 MATLAB 在数学分析中的其他方面应用 173.4.1 计算交错级数 的和 173.4.2 计算收敛问题 173.4.3函数的 10 阶 Taylor 级数展开式 18结束语 19参考文献 19致谢 19MATLAB在解决数学分析中图形问题的应用1 引言计算机技术的

5、迅猛发展使得数学在自然科学, 工程技术, 经济管理和人文社会科学中越来越成为解决实际问题的重要工具. 在数学分析的学习和研究中, 常常会遇到二维图形、三维图形、极坐标图形、对数坐标图形的绘制, 这类图形的绘制往往繁冗复杂, 仅凭手工绘制难以达到精确的效果, 尤其是遇到需要准确的图形才能解答的问题. 把计算机技术用于其中, 则可以使我们能更好更快的理解和完成数学分析中遇到的复杂图形问题, 于是数学软件就应运而生. 其中 MATLAB 就是一个功能强大的数学软件, 它的功能之一就是分析数据和把数据可视化, 为算法和应用程序开发提供了核心的数学高级图形工具. 它所具有的数值计算功能、符号计算功能以及

6、可视化建模、仿真功能体现了其它同类软件难以比拟的优势, 而它的图形功能更加彰显了MATLAB的智能化和自动化的优越性. 且MATLAB对使用者的数学基础和计算机语言知识的要求较低, 编程效率和计算效率又极高, 还可以在计算机上直接输出结果和精美的图形拷贝, 的确不失为一个方便高效的高质量数学工具. 此次通过用MATLAB来解决数学分析中遇到的实际问题, 来展示MATLAB在处理复杂图形的效果和能力.2 MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件, 用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境, 主要包括MATLAB和Simulin

7、k两大部分. MATLAB是matrix和laboratory两个词的组合, 意为矩阵工厂. 是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境. 它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中, 为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案, 并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式, 代表了当今国际科学计算软件的先进水平. MATLAB的基本数据单位是矩阵, 它的指令表达式与数学、工程中常用的形式十分相似,

8、 故用MATLAB来解算问题要比用C、FORTRAN等语言完成相同的事情简捷得多. 3 实例与分析数学分析是高等院校数学类专业(数学与应用数学、信息与计算科学)最重要的基础课程之一, 对常微分方程、实变函数、泛函分析等后继课程的学习影响很大. 而初入大学的学生普遍对数学分析这门课程的高度抽象性感到迷惑, 而使用MATLAB编程计算相关问题和使用MATLAB强大的绘图功能就可以是里面的难点简单化, 降低学习者的学习难度, 缩短数学理论与应用的距离. 同时还能够培养学习者的数学应用以及利用数学知识进行创新的能力. MATLAB 在数学分析中的应用很多, 下面结合实例从几个方面来阐述MATLAB在数

9、学分析中处理图形的应用. 从而最直观的向大家展示在数学分析中使用MATLAB的优点. 3.1 二维图形(2-D Graph)数学分析中有不少复杂的限制区间的函数问题需要求奇偶性和单调性, 面对这类题的函数图像,做题者一般都是凭借想想和随手一画, 正因为这样有时候得到错误的答案, 这就是凭借不标准的函数图像所导致. 对于函数的二维图形的准确输出, 利用MATLAB就可以轻而易举的得到最标准的函数图形. 从而帮助做题者得到准确的答案. 下面通过几个简单的例子来体现MATLAB在实际中的使用效果.3.1.1 初等函数常见的初等函数,例如: ,笛卡尔叶形线见文献MATLAB中可以实现同一窗口的分割输出

10、, 下面就用同一个窗口输出这四个函数的图形,用MATLAB输入下列语句即可实现:subplot(3,3,1),fplot(sin(1./x) ,0.01 0.1,le-3)subplot(3,3,2),ezplot(2*exp(-0.5*x). *sin(2*pi*x) )subplot(3,3,4),ezplot(x2+y2-1)subplot(3,3,4),ezplot(x3+y3-3*x*y,-3,3)输出图形如图3.1所示:图3.13.1.2 分析函数当x0,1 时的变化趋势.用MATLAB输入程序:syms xfx=x/(x-1)-1/(x2-x);ezplot(fx,-5,5)gr

11、id onhold on;plot(1,2, rd)xlabel(图3.2f(x)的图像)得到的函数图像如下:图3.2从图3.1.2可知,当x1时, 函数f(x)以2为极限. 而当x0时,由f(x)的图像知x0+时,f(x)+; x0-时, f(x)-.故f(x)当x0时极限不存在.3.1.3 研究Dirichlet核的性质Dirichlet核在Fourier级数理论中具有十分重要的意义, 而其性质对初学数学分析的学生而言是比较难把握的, 但如使用MATLAB动画的计算, 可十分容易且直观的得到Dirichlet核的性质. 我们知道 因此, 可以使用如下程序:x=-pi: 0.01: pi:f

12、or k=0: 12plot(sin(sin(k+0.5)*x)./(2*sin(0.5*x)hold onend运行, 可很易得出关于Dirichlet核的变化规律, 如图3.3:图3.3 Dirichlet核3.1.4 二重积分 D e-(x2+y2)d 相关问题【例3.1.4】计算D e-(x2+y2)d, 其中Dxy曲线 2xy=1, y=2x,x=2.5所围成的平面区域. 编程如下:%绘制积分区域x = 0.08 : 0.001 : 3;y1 = 1./(2 * x);y2 = sqrt(2 * x);plot(x, y1, b-,x , y2, m-, 2.5, x, r-),%a

13、xis(0.53 5.3)% x = 1/2, y =1 计算两条曲线的交点syms x yy1 = (2 * x * y = 1);y2 = (y - sqrt(2 * x) = 0);x, y = solve(y1, y2, x, y)% 计算积分syms x y f = exp(-(x2 + y2);y1 = 1/(2 * x);y2 = sqrt(2 * x);jfy = int(f, y, y1, y2);jfx = int(jfy, x, 0.5, 2.5);jf2 = double(jfx);得到的函数图像如下:图3.43.1.5曲面积分 1+4x2+4y2ds相关问题计算曲面积

14、分 1+4x2+4y2ds, 其中 是旋转抛物面z=x2+y2被平面z=1所截得的底部, 即在0z1的部分. 求曲面 的方程在x0y平面上的投影区域Dxy. 曲面 的方程为z=x2+y2, 在x0y平面上的投影区域Dxy为圆形闭区域:x2+y21, 即-1-x2y1-x2, -1x1.具体编程如下:%画出积分区域的草图x = -1 : 0.01 : 1;y1 = -sqrt(1 - x.2);y2 = sqrt(1 - x.2);plot(x, y1, b-, x, y2, m-),axis(-1.5 1.5 -1.5 1.5)title(由圆x2+y2=1所围成的积分区域)% 计算曲面积分s

15、yms x yfunz = x2 + y2;fun = sqrt(1 + 4* x.2 + 4 * y.2);x1 = -1; x2 = 1;y1 = -sqrt(1 - x.2); y2 = sqrt(1 - x.2);I = qmjf1(funz, fun, y1, y2, x1, x2)y = double(I) 到的函数图像如下:图3.53.2 三维图形(3-D Graph)会描绘简单的二次曲面的图像是数学分析的基本要求之一,也是学习三重积分和曲面积分的基础. 下面用几个例子来阐述MATLAB在解决数学分析邻域中的三维图形的广泛应用.3.2.1 螺旋曲线例如:求螺旋线 x=2costy

16、=2sintz=3t (0t6)的弧长.题中给出了螺旋线的参数方程, 但在算的过程中仍感到困难, 其主要原因之一就是对题目所给的区间不能准确地定下来. 如能将相关的图形绘制出来就有利于理解了. 为此在MATLAB下输入:ezplot3(2*cos(t) , 2*sin(t) , 3*t, 0, 6*pi, animate)将得到的图形如图3.6所示:图3.6 螺旋曲线3.2.2 马鞍面马鞍面是一种曲面, 又叫双曲抛物面. 文献的课后练习题中出现了曲面方程z=x2a2-y2b2表示马鞍面. 设a=3、b=2编程如下:x,y=meshgrid(-25:1:25,-25:1:25); z=x.2/9

17、-y.2/4;surf(x,y,z)title(马鞍面)gridoff 得到的函数图像如下:图3.7马鞍面3.2.3莫比乌斯带曲面积分是数学分析的重要内容之一, 在曲面积分中,首先要了解单侧曲面与双侧曲面,其中一个著名的单侧曲面就是莫比乌斯带. 它的方程式为:r=a+bs cost2x=r costy=r sint z=bs sin(t2)其中 a,b为常数, s,t为参数. 下面给出莫比乌斯带的MATLAB的程序:function z=mobius(a,b)s=linspace(-1,1,30);t=linspace(0,2*pi,30);S,T=meshgrid(s,t);X=(a+b.*

18、S.*cos(T/2).*cos(T);Y=(a+b.*S.*cos(T/2).*sin(T);Z=b.*S.*sin(T/2);mesh(X,Y,Z)title(莫比乌斯带)当 a=b,b=1 时的莫比乌斯带如图3.2.3所示: 图3.8莫比乌斯带3.2.4 二元函数z=3(x-1)2e-(x+1)2-y2的相关问题设二元函数 z=3(x-1)2e-(x+1)2-y2,取区域为-2.1x2.1, -2.1y2.1, x和y的步长均为0.2, 失球该曲面在每个节点的法向量, 并画图. 解 输入求该曲面在每个节点的法向量和画图的程序:x,y = meshgrid(-2.1 : 0.2: 2.1,

19、 -2.1 : 0.2: 2.1);z = 3 * (x - 1).2.* exp(-(x+1).2 - y.2);surfnorm(x, y, z);得到的函数图像如下:图3.9 二元函数3.2.5 三重积分的符号计算及其MATLAB程序计算If=v (x+ex+sinz)dxdydz,其中积分区域V是由旋转抛物面z=8-x2-y2,圆柱x2+y2=4和z=0所围成的空间闭区域. 具体编程如下:%绘制积分区域x, y = meshgrid(-2 : 0.01 : 2);z1 = 8 - (x.2 + y.2);figure(1)mesh(x, y, z1),hold on,x = -1 :

20、0.01: 2;r = 2;x, y, z = cylinder(r, 30); %半径为2的圆柱面mesh(x, y, z),hold offtitle(由旋转抛物面of z = 8 - (x2 + y.2);圆柱面 x2 + y2 = 4, 和z=0所围成区域)figure(2)contour(x, y, z, 10)title(由旋转抛物面of z = 8 - (x2 + y.2);圆柱面 x2 + y2 = 4, 和z=0所围成区域的投影区域)%计算积分上下限syms x y zf1 = (z = 8 - (x2 + y2);f2 = (x2 + y2 = 4);x, y, z = s

21、olve(f1, f2, x, y, z)%计算积分syms x y z f = x + exp(y) + sin(z);z1 = 0;z2 = 8 - (x2 + y2);x1 = -sqrt(4 - y2);x2 = sqrt(4 - y2);jfz = int(f, z, z1, z2);jfx = int(jfz, x, x1, x2);jfy = int(jfx, y, -2, 2);jf2 = double(jfy)所得图像如图3.10:图3.103.3空间曲线曲面相关问题3.3.1空间曲线的切线和法平面的实验空间曲线在点处的切线的方向向量为过点的切线方程为即过点的法平面方程为即设

22、空间曲线L:x=3sint, y=cost, z=5t, 求L在 T=4 处的切线方程和法平面方程syms t x y z x1 = 3 * sin(t); y1 = 3 * cos(t); z1 = 5 * t;w1 = x1, y1, z1;S1 = jacobian(w1, t);t = pi / 4; x0 = 3 * sin(t);y0 = 3 * cos(t);z0 = 5 * t;S0 = S1;v0 = subs(S0)t0 = t;F = -x; y; z + x0; y0; z0 + v0 * tG = x - x0; y - y0; z - z0. * v0t = 0:

23、pi/10 : 2 * pi;x = 3 * sin(t);y = 3 * cos(t);z = 5 * t;plot3(x, y, z), hold ont0 = pi/4;x0 = 3 * sin(t0); y0 = 3 * cos(t0); z0 = 5 * t0;plot3(x0, y0, z0, ro),hold off3.3.2 空间曲面的切线和法平面的实验(1)空间曲面在点处的切平面的法向量为过点的切平面方程为即 过点的法线方程为(2)空间曲面在点处的切平面的法向量为过点的切平面方程为即 过点的法线方程为设曲面方程求在点处的切平面方程和法线方程.syms t x y z F =

24、x2 + y2 + z2 - x * y - 3;x0 = 1; y0 = -1; z0 = 0;w = x, y, z;S1= jacobian(F,w)v1 = subs(S1, x, x0);v2 = subs(v1, y, y0);n = subs(v2, z, z0);F = x - x0, y - y0, z - z0 * n;G = -x, y, z + x0, y0, z0 + n * tX1, Y1 = meshgrid(-2 : 0.2: 2, -2 : 0.2 : 2);Z1 = (-X1.2 - Y12 + X1.*Y1 + 3).(1/2);plot3(X1, Y1,

25、 Z1)hold onZ2 = -(-X1.2 - Y12 + X1.*Y1 + 3).(1/2);plot3(X1, y1, z2)xlabel(x),ylabel(y),zlabel(z),hold onz0 = 1; y0= -1; z0 = 0;plot3(x0, y0, z0, bo)hold off3.4 MATLAB在数学分析中的其他方面应用3.4.1 计算交错级数 的和对此问题, 使用 MATLAB 处理十分简单, 只需输入如下程序: syms n symsum(-1)(n-1)/n, n, 1, inf) 就可得出结果=3.4.2 计算收敛问题设x1=1, y1=2, xn+

26、1=xn+yn2, yn+1=xnyn , 证明 xn , yn 收敛. 在学习数学分析的过程中,许多人拿到这类问题后喜欢用初值进行试算, 看看这两个序列的变化规律. 当然,这是很好的,可是算几此后, 就会发现计算变得十分繁琐, 从而使得忙了一会却没有效果,从而放弃这一想法. 而使用 MATLAB 软件, 只需要设计如下简单的程序, 就能达到事半功倍的效果.程序如下:x(1)=1;y(1)=2; for k=1:10 x(k+1)=(x(k)+y(k)/2; y(k+1)=sqrt(x(k)*y(k); end程序运行得到的结果如下:12345X1.00001.50001.45711.4568

27、1.4568Y2.00001.41421.45681.45681.4568678910X1.45681.45681.45681.45681.4568Y1.45681.45681.45681.45681.4568从所获得的数值计算结果中,很容易看到这两个序列极限相等. 当然, 数值计算并不是理论上的证明, 但是有了此计算, 学者就可以很方便的知道将初值改变会发生什么结果, 这样的考察就很容易联想到离散动力系统这一领域上去, 变被动的计算为主动, 这就通过MATLAB简单的编程所带来的效果. 3.4.3函数的 10 阶 Taylor 级数展开式计算出 xex-1 函数的 10 阶 Taylor 级数展开式. 这是一个典型的实解析函数, 因此可以展开成 Taylor 级数, 但展开系数的计算, 当 Taylor 多项式次数很大时, 其计算是相当麻烦的,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论