数学建模之绘图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.图形的标注
图名标注title
title(‘String’)
在图形的顶端加注文字作为图名
坐标轴标注xlabel,ylabel,zlabel
来自百度文库
xlabel(‘String’)
在当前图形的x轴旁边加入文字内容
ylabel(‘String’)
zlabel(‘String’)
在当前图形的y轴旁边加入文字内容
功能:画一条或多条折线图。
其中,x,y 可以是向量或矩阵。
说明:1、当x,y都是向量时,元素个数必须相等, plot(x,y)按顺序连接各点(x(i),y(i))成一条曲线 或折线。
例:x=[1 2 3];
y=[3 2 5];
plot(x,y)
说明:2、当x为n维向量,y为n * m矩阵时,plot(x,y)
解 Matlab命令:
x=-3:0.1:3; y1=2*x;y2=cos(x);y3=sin(x); plot(x,y1, x,y2, x,y3) legend('2*x','cos(x)','sin(x)')
legend作用是:对图形进行图例标注
例2的绘图结果
2.基本绘图控制参数
控制分隔线grid grid
在当前图形的z轴旁边加入文字内容
图形标注gtext
gtext(‘String’)
在鼠标指定位置上标注
说明:使用gtext指令后,会在当前图形上出现一个十字 叉,等待用户选定位置进行标注。移动鼠标到所需位置按 下鼠标左键,Matlab就在选定位置标上文字。
图例标注legend
legend(‘string1’,’string2’,’string3’) 当在一幅图中出现多种曲线时,结合在绘制时的不同线性 与颜色等特点,用户可以用legend命令进行说明。
按向量x分别与矩阵y的每一列匹配,画出m条曲线或折线。
例 x=[ 3 4 7]; y=[4 5 6 5 4 7 9 5
1 4 2 5];
plot (x,y)
问题:plot(x,y)命令可以用来画通常的函数 f(x)(其中a<x<b)的图像?
可以。
x=a:h:b 函数f(x)在绘图区间[a,b]上的自变量点向
clf x=0:pi/50:pi; y1=cos(2*x) ;y2=sin(x).*sin(6*x) ; subplot(1,2,1);plot(x,y1,'r*',x,y2,'b-'),grid on title(‘曲线y1=cos2x与sinxsin6x') xlabel(‘x轴’),ylabel(‘y轴') gtext('y1=cos2x'),gtext('y2=sinxsin6x') legend('cos2x','sinxsin6x') subplot(1,2,2);plot(x,y1,x,y2)
例:绘制条形图
t=0:pi/5:2*pi; y=cos(t); bar(y)
例:绘制面积图 (1)
x=1:4; y=[1 2 3 4]; area(x,y)
例:绘制面积图 (2)
x=1:4;y=[1 4 2;2 4 3;4 7 5;0 5 4]; area(x,y)
例:绘制饼图
x=[30 48 36 20 12]; explode=[0 0 0 0 1]; pie(x,explode)
surf ——绘制三维曲面图
与三维网格图的区别:
网格图:线条有颜色,空挡没有颜色
曲面图:线条是黑色,空挡有颜色(把线条之间的 空挡填充颜色,沿z轴按每一网格变化)
例:绘制函数 z xe
( x2 y 2 )
, 2 x, y 2 的图像,
比较指令mesh和surf。 解:matlab命令为:
5.一个图形窗口多个子图的绘制
subplot指令它不仅适用于二维图形而且也适用于三 维图形。其本质是将窗口分为几个区域,再在每个小 区域中画图形。 subplot(m, n,i)或subplot(mni) 把图形窗口分为mn个子图,并在第i个子图中画图。
例7 在同一坐标系中画出两个函数y = cos 2x , y = sin x sin 6x的图形,自变量范围为:-2 x 2, 函数 y = cos 2x用红色星号, 函数y = sin x sin 6x用蓝色实线。 并加图名、坐标轴、图形、图例标注。 解: Matlab命令为
mesh 指令格式:
mesh(X,Y,Z)
X,Y,Z是同维数的矩阵
mesh(x,y,Z)
x,y是向量,而Z是矩阵。 等价于 [ X , Y ] meshgrid ( x, y ) mesh( X , Y , Z ) 若提供参数x,y,等价于 mesh(x,y,Z),
mesh(Z)
在grid on与 grid off之间进行切换
在图中使用分隔线 在图中消隐分隔线
grid on grid off
图形的重叠绘制hold
• hold 在hold on与 hold off之间进行切换 • hold on 保留当前图形和它的轴,使此后图形叠放在当
前图形上
• hold off返回Matlab的缺省状态。此后图形指令运
MATLAB
绘图
二维曲线绘图 二维特殊图形 三维曲线绘图 三维曲面绘图
一、 MATLAB二维曲线绘图
1、基本绘图指令
命令形式1:plot(y)
功能:画一条或多条折线图。
将(i,y(i)) 画出,x 取的是自然数
例: y=[2,3,5,6; 8,5,7,4; 4,5,6,7]; plot(y)
命令形式2:plot(x,y)
量数据
y=f(x) 对应的函数值向量
步长h可以任意选取,步长越小,曲线越光滑。
例1
在区间[- , ]上,绘制函数y = sin(x)图形。 解: Matlab 命令:
x=-pi:pi/50:pi; y=sin(x); plot(x,y),grid on
grid on作用是:在图形中标出网格线
例:绘制火柴棍图
x=0:.1:2; y= exp(-x.^2); stem(y)
例:绘制阶梯图
x=0:pi/20:2*pi; y=sin(2*x); stairs(x,y)
例:极坐标图
polar(t,r) 使用极角t和极径r绘制极坐标图形;
t=0:pi/50:2*pi; polar(t,abs(sin(4*t)),'r')
例6 利用hold指令在同一坐标系中画出如下两条参数曲 线,参数曲线方程为:
x1 cos t , y1 sin t ; x2 sin t , y2 sin 2t;
t满足
0 t 2
解 Matlab 命令为 t=0:pi/50:2*pi; plot(cos(t),sin(t),’b*’) ,grid on, hold on,plot(sin(t),sin(2*t),’r.’)
分别生成函数的网格曲面;
与生成函数的表面曲面。
Meshgrid命令
介绍
二元函数z = f(x, y) 的图形是三维空间曲面,在Matlab中总是假设函数z = f(x, y)是定义在矩形区域D=[x0,xm]×[y0,yn]上的。 为了绘制三维曲面,Matlab把[x0,xm]分成m份,把[y0,yn]分成n份,这 时区域D就被分成m×n个小矩形块。 每个小矩形块有4个顶点(顶点也叫格点)(xi,yi,f(xi,yi)).连接4个顶点得 到一个空间中的四边形片。 所有这些四边形片就构成函数的空间网格曲面。 而函数meshgrid就用来生成x-y平面上的小矩形顶点坐标值的矩阵,也称 为格点矩阵。 函数meshgrid也适用于三元函数u = f(x, y,z)。
曲线y = sin x
命令形式3 :plot(x1,y1,x2,y2,x3,y3…)
功能:在同一图形窗口画出多条曲线 。
y1 f ( x1 ), y2 f ( x2 ), y3 f ( x3 ),
例2 :在同一图形窗口画出三个函数y =2x, y = cosx,
y =sin x的图形,自变量范围为:-3 x 3
t=-2:0.1:2; [x,y]=meshgrid(t); z=x.*exp(-x.^2-y.^2); subplot(1,2,1),mesh(x,y,z),title('网格图') subplot(1,2,2),surf(x,y,z),title('曲面图')
[X,Y,Z]=meshgrid(x,x,x
说明:
x是区间[x0,xm]上分划点组成的m维向量; y是区间[y0,yn]上分划点组成的n维向量; 输出变量X与Y都是n×m矩阵; 矩阵X的行向量都是向量x; 矩阵Y的列向量都是向量y。
例:x=[1,2,3];y=[1,2,3,4]; [X,Y]=meshgrid(x,y)
解:matlab命令为:
(0 t 20 )
t=0:pi/10:20*pi; x=t.* sin(t); y=t.*cos(t) ; z=t ; plot3(x,y,z)
四、Matlab空间曲面绘图
Meshgrid命令:
用来生成x-y平面上的小矩形顶点坐标值的矩阵, 也称为格点矩阵。
Mesh命令与Surf命令:
X= 1 1 1 1 2 2 2 2 3 3 3 3
Y=
1 2 3 4
1 2 3 4
1 2 3 4
北京科技大学数学实验
Mesh命令与Surf命令
Mesh命令介绍
利用函数meshgrid生成格点矩阵后,然后求出各格点对 应的函数值,然后利用三维网格图命令mesh与三维网面 图命令画出空间曲面。 函数mesh用来生成函数的网格曲面,只对网格线进行着 色的曲面。 函数surf用来生成函数的表面曲面,即对网格曲面的网格 块(四边形片)区域进行着色。
否则默认x=1:n,y=1:m
例:x=[1,2,3] y=[1,2,3,4] [X,Y]=meshgrid(x,y)
X=
1 1 1 1 2 2 2 2 3 3 3 3 Y =1 2 3 4 1 2 3 4 1 2 3 4
Z=ones(size(X));mesh(X,Y,Z)
2 (3,4,1) 1.5 (2,4,1) 1 (1,4,1) (1,3,1) 0.5 (1,2,1) 0 4 3 2 1.5 1 1 2 (1,1,1) 3 2.5 (2,3,1) (2,2,1) (2,1,1) (3,3,1) (3,2,1) (3,1,1)
meshgrid的调用形式是: [X,Y]=meshgrid(x,y)
绘制二维图形时生成 小矩形的格点。
[X,Y]=meshgrid(x) 等价于 [X,Y]=meshgrid(x,x)。 [X,Y,Z]=meshgrid(x,y,z) 绘制三维图形时生 成空间曲面的格点。
[X,Y,Z]=meshgrid(x) 等价 于
三、MATLAB三维曲线绘图
plot3——三维曲线绘制指令 plot3的调用格式:
plot3(X,Y,Z) plot3(X,Y,Z,’String’) plot3(X1,Y1,Z1,’ String1’,X2,Y2,Z2,’ String2’,…)
plot3与plot的 用法相同
,
x t sin t 例:绘制三维曲线的图像: y t cos t z t
作将抹掉当前窗中的旧图形,然后画上新图形。
3.线型、定点标记、颜色
二维绘图指令还提供一组控制曲线线型、标记类型、颜色的 开关。该开关总跟在一元或二元对的后面,具体如下:
plot(x,y,’ String’)
plot(x1,y1,’ String1’,x2,y2,’ String2’,…)
其中,string是字符串,该字符串由表4-1、表4-2表4-3 (见课本P45)中的字符组成。
二、 MATLAB二维特殊图形
area 特 殊 bar 的二 维 图 barh 形 compass comet errorbar quiver pcolor 等 高 contour 线 图 contourf 形 clabel 填满绘图区域 条形图 水平条形图 极坐标向量图 彗星轨迹图 误差条图 矢量图 伪色彩图 等高线图 填充的等高线图 等高线图标出字 符 feather fill pie stem stairs plotmatrix ribbon 羽状图 填满两维多边 形 饼图 离散杆图 阶梯图 矩阵散布图 带状图