0引言
高职数学教学中,讲授空间曲面与曲线这个内容时,总感到“虚”,不直观、具体,利用Matlab强大的绘图功能,可方便地展示空间曲面与曲线。
1Matlab绘图功能
Matlab绘图功能非常强大,这里只介绍几个常用函数的调用,抛砖引玉,希望对空间解析几何及多元函数部分的教学有所帮助。
1.1产生三维数据在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。其格式为:
x=a:d1:b;y=c:d2:d;
[X,Y]=meshgrid(x,y);
语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。
1.2绘制三维曲面的函数surf函数和mesh函数的调用格式为:
mesh(x,y,z,c)
surf(x,y,z,c)
一般情况下,x,y,z是维数相同的矩阵。x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。
1.3标准三维曲面sphere函数的调用格式为:
[x,y,z]=sphere(n)
cylinder函数的调用格式为:
[x,y,z]=cylinder(R,n)
MATLAB还有一个peaks函数,称为多峰函数,常用于三维曲面的演示。
2Matlab绘图案例
2.1空间曲面的三维网线图与三维曲面图案例1、函数z=10-2x2-y2的三维网线图。
用MATLAB作图的程序为
clear;x=-1:0.1:1;
y=-1:0.1:1;[X,Y]=meshgrid(x,y);
Z=10-2*X.^2-Y.^2;mesh(X,Y,Z);
title('空间曲面')
运行结果(略)。
案例2、函数z=xy的三维曲面图。
用MATLAB作图的程序为
clf
ezsurf('x*y','circ');shadingflat;
view([-18,28])title('空间曲面')
运行结果(略)。
2.2旋转曲面案例3、画出函数y=的图形,其中(x,y)∈[-3,3]×[-3,3]。
用MATLAB作图的程序为
clear;x=-3:0.1:3;
y=-3:0.1:3;[X,Y]=meshgrid(x,y);
Z=sqrt(X.^2+Y.^2);mesh(X,Y,Z);
运行结果(略)。
案例4、曲线r=5+cosx0≤x≤3π绕x轴旋转而形成的旋转曲面。
用MATLAB作图的程序为
x=0:pi/20:pi*3;r=5+cos(x);
[a,b,c]=cylinder(r,30);mesh(a,b,c)
title('旋转曲面')
运行结果(略)。
案例5:绘制母线方程为y=2+sinx的旋转曲面(空心)
用MATLAB作图的程序为
x=0:pi/10:2*pi;
y=2+sin(x);
[x,y,z]=cylinder(y,30);
mesh(x,y,z)
title('旋转曲面')
运行结果(略)。
2.3柱面案例6、绘制柱面x-1+y-2-9=0。
用MATLAB作图的程序为
[x,y,z]=cylinder([3,3],20);x1=x+1;
y1=y+2;z1=z;
surf(x1,y1,z1)
运行结果(略)。
2.4二次曲面案例7、二次曲面的函数如下=d讨论参数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网格坐标
|
核心期刊网(www.hexinqk.com)秉承“诚以为基,信以为本”的宗旨,为广大学者老师提供投稿辅导、写作指导、核心期刊推荐等服务。 核心期刊网专业期刊发表机构,为学术研究工作者解决北大核心、CSSCI核心、统计源核心、EI核心等投稿辅导咨询与写作指导的问题。 投稿辅导咨询电话:18915033935 投稿辅导客服QQ: 投稿辅导投稿邮箱:1003158336@qq.com |