【数学建模学习】MatLab2画图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MatLab & 数学建模

授课:唐静波(九江学院理学院)

第二讲MatLab图形绘制功能

一、二维平面图形

基本绘图函数

hold on 命令用于在已画好的图形上添加新的图形

plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。下例可画出一条正弦曲线:

x=0:0.001:10; % 0到10的1000个点的x座标

y=sin(x); % 对应的y座标

plot(x,y); % 绘图

Y=sin(10*x);

plot(x,y,'r:',x,Y,'b') % 同时画两个函数

•若要改变颜色,在座标对後面加上相关字串即可:

x=0:0.01:10;

plot(x,sin(x),'r')

若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可:

plot(x,sin(x),'r*')

用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围axis([0,6,-1.5,1])

MATLAB也可对图形加上各种注解与处理:xlabel('x轴'); % x轴注解

ylabel('y轴'); % y轴注解

title('余弦函数'); % 图形标题

legend('y = cos(x)'); % 图形注解

gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置 grid on; % 显示格线

fplot 的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须

要的一组数据做为变数。其语法为fplot('fun',[xmin xmax ymin ymax]),其中 fun 为一已定义的函数名称,例如 sin , cos 等等;而 xmin , xmax , ymin , ymax 则是设定绘图横轴及纵轴的下限及上限。

以下的例子是将一函数 f(x)=sin(x)/x 在-20> fplot('sin(x)./x',[-20 20 -0.4 1.2])

【例】画椭圆12

322

22=+y x

a = [0:pi/50:2*pi]';

%角度 π20- X = cos(a)*3; %参数方程 Y = sin(a)*2;

plot(X,Y);

xlabel('x'), ylabel('y'); title('椭圆')

图形窗口的分割一般用命令subplot: subplot(2,2,1);

subplot(2,3,4);

MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

当资料点数量不多时,长条图是很适合的表示方式:close all; % 关闭所有的图形视窗

x=1:10;

y=rand(size(x));

bar(x,y);

如果已知资料的误差量,就可用errorbar来表示。下例以单位标准差来做资料的误差量:

x = linspace(0,2*pi,30);

y = sin(x);

e = std(y)*ones(size(x));

errorbar(x,y,e)

对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:

fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围

若要产生极座标图形,可用polar:

theta=linspace(0, 2*pi);

r=cos(4*theta);

polar(theta, r);

对於大量的资料,我们可用hist来显示资料的分情况和统计特性。下面几个命令可用来验证randn产生的高斯乱数分:

x=randn(5000, 1); % 产生5000个μ=0,σ=1 的高斯乱数

hist(x,20); % 20代表长条的个数

rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,并用极座标绘制表示:

x=randn(1000, 1);

rose(x);

stairs可画出阶梯图:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stairs(x,y);

stems可产生针状图,常被用来绘制数位讯号:x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stem(x,y);

stairs将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

fill(x,y,'b'); % 'b'为蓝色

feather将每一个资料点视复数,并以箭号画出:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

feather(z);

compass和feather很接近,只是每个箭号的起点都在圆点:theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

compass(z);

二、三维立体图形

三维绘图函数

contour 二维等值线图,即从上向下看contour3等值线图

contour3 等值线图

fill3 填充的多边形

mesh 网格图

meshc 具有基本等值线图的网格图

meshz 有零平面的网格图

pcolor 二维伪彩色绘图,即从上向下看surf图

plot3 直线图

quiver 二维带方向箭头的速度图

surf 曲面图

surfc 具有基本等值线图的曲面图

surfl 带亮度的曲面图

waterfall 无交叉线的网格图

三维绘图工具

axis 修正坐标轴属性

clf 清除图形窗口

clabel 放置等值线标签

close 关闭图形窗口

figure 创建或选择图形窗口

getframe 捕捉动画桢

grid 放置网格

griddata 对画图用的数据进行内插

hidden 隐蔽网格图线条

hold 保留当前图形

meshgrid 产生三维绘图数据

movie 放动画

moviein 创建桢矩阵,存储动画

shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影

subplot 在图形窗口内画子图

text 在指定的位置放文本

title 放置标题

view 改变图形的视角

xlabel 放置x轴标记

ylabel 放置y轴标记

zlabel 放置z轴标记

函数view

view(az,el) 设置视图的方位角az和仰角el

view([az,el])

view([x,y,z]) 在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 0

1])=view(0,90)

相关文档
最新文档