第2章 MATLAB作图方法详解.doc
文本预览下载声明
第2章 MATLAB作图
本章将介绍MATLAB的作图功能并对MATLAB的图形特性进行阐述。这里所阐述的很多功能都是既可以用命令窗口函数来自动实现,也可以使用图形窗口中的工具栏或菜单来实现。
2.1平面图
2.1.1 曲线图
Matlab作图是通过描点、连线来实现的,故在画一个曲线图形之前,必须先取得该图形上的一系列的点的坐标(即横坐标和纵坐标),然后将该点集的坐标传给Matlab函数画图.
命令为:
plot(X,Y,S)
X,Y是向量,分别表示点集的横坐标和纵坐标,s-为指定颜色、线型等。如表1所示
表 2.1 图形元素设定
plot(X,Y)--画实线.
plot(X,Y1,S1,X,Y2,S2,…,X,Yn,Sn)--将多条线画在一起。
例 在[0,2*pi]用红线画sin(x),用绿圈画cos(x)。
解 程序:
x=linspace(0,2*pi,30);
y=sin(x);
z=cos(x);
plot(x,y,r,x,z,go)
结果:
2.1.2 符号函数(显函数、隐函数和参数方程)画图
(1)ezplot
ezplot(f(x),[a,b])
表示在axb绘制显函数f=f(x)的函数图。
ezplot(f(x,y),[xmin,xmax,ymin,ymax])
表示在区间xminxxmax和 yminyymax绘制隐函数f(x,y)=0的函数图。
ezplot( x(t) , y(t) ,[tmin,tmax])
表示在区间tminttmax 绘制参数方程x=x(t),y=y(t)的函数图。
例 在[0,pi]上画y=sin(x)的图形
解 输入命令
ezplot(sin(x),[0
例 在[0,2*pi]上画,星形图。
解 输入命令
ezplot(cos(t)^3,sin(t)^3,[0,2*pi])
例 在[-2,0.5],[0,2]上画隐函数的图像。
解 输入命令
ezplot(exp(x)+sin(x*y),[-2,0.5,0,2])
(2)fplot
fplot(fun,lims)
表示绘制字符串fun指定的函数在lims=[xmin,xmax]的图形。
注意:
[1] fun必须是M文件的函数名或是独立变量为x的字符串。
[2] fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。
例 在[-1,2]上画的图形。
解 先建M文件myfun1.m:
function y=myfun1(x)
y=exp(2*x)+sin(3*x.^2);
再输入命令:
fplot(myfun1,[-1,2])
例 在[-2,2]范围内绘制函数tanh的图形。
解 fplot(tanh ,[-2,2])
例 x、y的取值范围都在[-,],画函数tanh(x),sin(x),cos(x)的图形。
解 输入命令:fplot([tanh(x),sin(x),cos(x)] ,2*pi*[-1 1])
2.2 三维图
2.2.1空间曲线
(1)一条曲线
plot3(x,y,z,s)
其中x,y,z为 n维向量,分别表示曲线上点集的横坐标、纵坐标、函数值。S-指定颜色、线形等。
例 在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t),z=t。
解 close;t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
rotate3d %旋转
结果:
(2)多条曲线
plot3(x,y,z)
其中x,y,z是都是m×n矩阵,其对应的每一列表示一条曲线。
例 画多条曲线观察函数Z=(X+Y).^2。
解 close;x=-3:0.1:3;y=1:0.1:5;
[X,Y]=meshgrid(x,y);
Z=(X+Y).^2;
plot3(X,Y,Z)
(这里meshgrid(x,y)的作用是产生一个以向量x为行、向量y为列的矩阵)
2.2.2空间曲面
(1) surf(x,y,z)
画出数据点(x,y,z)表示的曲面,其中x,y,z为数据矩阵,分别表示数据点的横坐标、纵坐标、函数值。
例 画函数Z=(X+Y).^2的图形。
解 x=-3:0.1:3;
y=1:0.1:5;
[X,Y]=meshgrid(x,y);
Z=(X+Y).^2;
surf(X,Y,Z)
shading flat %将当前图形变得平滑
(2)mesh(x,y,z)
画网格曲面,其中x,y,z为数据矩阵。分别表示数据点的横坐标、纵坐标、函数值。
例 画出曲面Z=(X+Y).^2在不同视角的网格图。
解 close;
x=-3:0.1:3;y=1:0.1:5;
[X,Y]=meshgrid(x,y);
Z=(X+Y).^2;
mesh(
显示全部