MATLAB在函数画图的运用.doc
多元函数在MATLAB绘图中的应用学院:理学院专业:数学与应用数学班级:093班姓名:郭洺君 学号: MATLAB在多元函数绘图中的应用摘要数学是一门工具化的科学语言,我们用数学解决很多问题。然而在学习数学的同时,有很多复杂的数值计算和一些难以用手工画出它们的图形。例如:有一些多元函数,对于其的解值和图形却难以用人工画出。而MATLAB语言正是解决这种难题的最好工具,仅能进行相关计算,又能绘制相关曲线,方便并且实用。利用其我们可以节省大量的时间,并且还让我们更深入的研究其中我们不知道的知识。应用MATLAB可以使多元函数绘图的问题变得简单可以将我们从繁琐的计算绘图中解放出来。还能大量节约时间。关键词数学 多元函数 MATLAB语言 绘图一、问题的提出MATLAB语言是自20世纪80年代以来功能强、效率高、简单易学的一种科学计算语言。它的影响大,流行广。自1984年以来得到了广泛的发展与应用。近年来,MATLAB在我国科学研究和工程应用中发挥越来越大的作用。各高校积极推动计算机基础教育改革,计算机技术的飞速发展和全社会对计算就应用需求的不断增加,给计算机基础教育的发展提供了新的机遇。MATLAB具有友好的工作平台和编程环境、简单易用的程序语言、强大的科学计算机数据处理能力、出色的图形处理功能、应用广泛的模块集合工具箱、实用的程序接口和发布平台。在我们学习数学的同时,我们发现有很多东西只限于手工是很难完成的。举个多元函数的例子,比如当有一个很难的函数,我们必须解出它的值,并且还要在纸上画出它的图形来。对于我们来说这是一个比较难的问题。更难一点,老师让我们给它积分或者微分,这就更是难上加难了。这是我们不要忘了我们这门强大的科学语言MATLAB,它的功能我们已经了解。由此, 我们用MATLAB解决这些问题。二、MATLAB绘制多元函数的图形问题(1)例:画出函数 (1)的图形,其中。用MATLAB作图的程序为clear; %清除以前的程序x=-3:0.1:3; %x的范围为-3,3y=-3:0.1:3; %y的范围为-3,3X,Y=meshgrid(x,y); %将向量x,y指定的区域转化为矩阵X,YZ=sqrt(X.2+Y.2); %产生函数值Z mesh(X,Y,Z); %生成三维图形运行结果如图1所示。图1 函数的三维图形如果画图1等高线程序如下:clear; %清除以前的程序x=-3:0.1:3; %x的范围为-3,3y=-3:0.1:3; %y的范围为-3,3X,Y=meshgrid(x,y);%将向量x,y指定的区域转化为矩阵X,YZ=sqrt(X.2+Y.2); %产生函数值Zcontour3(X,Y,Z,10); %画10条等高线xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis'); %三个坐标轴的标记title('Contour3 of Surface') %标题grid on %画网格线运行结果如图2所示。图2 图1的三维等高线三、MATLAB绘制多元函数的图形问题(2)例: 二次曲面的函数如下 (2)讨论参数a,b,c对其形状的影响。MATLAB程序如下:a=input('a='); b=input('b='); c=input('c=');d=input('d='); N=input('N='); %输入参数,N为网格线数目xgrid=linspace(-abs(a),abs(a),N); %建立x网格坐标ygrid=linspace(-abs(b),abs(b),N); %建立y网格坐标x,y=meshgrid(xgrid,ygrid); %确定N×N个点的x,y网格坐标z=c*sqrt(d-y.*y/b2-x.*x/a2);u=1; %u=1,表示z要取正值z1=real(z); %取z的实部z1for k=2:N-1; %以下7行程序的作用是取消z中含虚数的点for j=2:N-1;% 定义变量if imag(z(k,j)=0 z1(k,j)=0;endif all(imag(z(k-1:k+1,j-1:j+1)=0 z1(k,j)=NaN;endendendsurf(x,y,z1),hold on %画空间曲面if u=1 z2=-z1;surf (x,y,z2);%u=1时加画负半面axis(-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c);%选择坐标轴的范围endxlabel('x'),ylabel('y'),zlabel('z');%X,Y,Z轴的说明hold off %停止运行程序,当a=5,b=4,c=3,d=1,N=50时结果如图3所示。图3 函数 当a=5,b=4,c=3,d=1,N=50时的图像当a=5i,b=4,c=3,d=1,N=15时结果如图4所示。图4 函数 当a=5i ,b=4,c=3,d=1,N=15时的图像由此可得:参数不同其结果不同四、结论从以上利用matlab语言对多元函数的解决方法及过程我们不难得出以下结论:1、MATLAB确实是一门功能强大、效率高、简单易懂的科学计算语言。是一个包含大量算法的集合,在计算要求相同的计算下,使用MATLAB语言的编程工作量会大大减少。2、MATLAB具有出色的图形处理功能,高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。3、MATLAB是一个很好的软件,实用性强,适用性也强,应用广泛。4、在编写程序时,我们必须得有扎实的matlab语言功底和具有相应的编程思想。除此之外,我们还必须的认真细心。五、课程体会经过一学期紧张而有序的课程学习,在忙绿之余也得到了颇多的收获。我深深地体会到了MATLAB语言相对于同类程序语言更方便简洁易懂。MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。MATLAB是一个很好的软件,实用性强,适用性也强,应用广泛。在许多的邻域都有它的作用,使得许多的问题简单化,使复杂的问题简单化,简单的问题方便化。我深深的体会到MATLAB的好处和强大的功能,今后我会继续而深入的学习MATLAB。我相信在今后会有更多的地方用到MATLAB。MATLAB已成为一种流行,将在未来的世界占有一席之地。所以,我会更加好好的学习MATLAB,应用MATLAB。参考文献1刘卫国,MATLAB程序设计与应用(第二版)M.北京:高等教育出版社,2006.2同济大学应用数学系,高等数学(第六版)M.北京:高等教育出版社,20073中国知网: