MATLAB的图视化功能.docx

上传人:b****7 文档编号:16116399 上传时间:2023-07-10 格式:DOCX 页数:15 大小:23.62KB
下载 相关 举报
MATLAB的图视化功能.docx_第1页
第1页 / 共15页
MATLAB的图视化功能.docx_第2页
第2页 / 共15页
MATLAB的图视化功能.docx_第3页
第3页 / 共15页
MATLAB的图视化功能.docx_第4页
第4页 / 共15页
MATLAB的图视化功能.docx_第5页
第5页 / 共15页
MATLAB的图视化功能.docx_第6页
第6页 / 共15页
MATLAB的图视化功能.docx_第7页
第7页 / 共15页
MATLAB的图视化功能.docx_第8页
第8页 / 共15页
MATLAB的图视化功能.docx_第9页
第9页 / 共15页
MATLAB的图视化功能.docx_第10页
第10页 / 共15页
MATLAB的图视化功能.docx_第11页
第11页 / 共15页
MATLAB的图视化功能.docx_第12页
第12页 / 共15页
MATLAB的图视化功能.docx_第13页
第13页 / 共15页
MATLAB的图视化功能.docx_第14页
第14页 / 共15页
MATLAB的图视化功能.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB的图视化功能.docx

《MATLAB的图视化功能.docx》由会员分享,可在线阅读,更多相关《MATLAB的图视化功能.docx(15页珍藏版)》请在冰点文库上搜索。

MATLAB的图视化功能.docx

MATLAB的图视化功能

第四章MATLAB的图视化功能

1.MATLAB的图视化概论

数据图视化能使人们用视觉器官直接感受到数据的许多内在本质。

因此,数据可视化是人们研究科学、认识世界所不可缺少的手段。

MATLAB不仅数值计算方面是一个优秀的科技应用软件,在数据可视化方面也具有上佳表现。

MATLAB具有二维、三维乃至四维的图形表现能力。

可以从线型、边界面、色彩、渲染、光线、视角等方面把数据的特征表现出来。

MATLAB的图视化功能是建立在一组“图形对象”的基础之上的。

“图形对象”的核心是图形的句柄(GranhicsHandle)操作。

MATLAB的有两个层次的绘图指令:

(1)底层(Low-leve)绘图指令:

是直接对句柄进行操作。

底层绘图指令控制和表现数据图形的能力比高层绘图指令强。

特点是灵活多变,较难掌握。

(2)高层(High-level)绘图指令:

建立在底层指令上的绘图指令。

最常用的是高层绘图指令。

高层绘图指令简单明了容易掌握,本章介绍高层绘图指令。

本章内容按“前易后难”的原则安排。

最常用的二个绘图指令是:

plot;mesh

2.二维图形

(1)plot函数

以下例子用来体会plot的基本的绘图原理。

例:

绘向量得折线图:

holdon

x=[2.3,4.3,3,4,4.9,1.5,2.8,4.6,5.5];

plot(x)

plot(x,'ro')

注1:

plot绘图的基本素材是二维点组(x

y

)(1=1,2,….n)。

二维点组(x

y

)(1=1,2,….n)的定义形式:

*1)x=[2.3,4.3,3,4,4.9,1.5,2.8,4.6,5.5];

*2)y=0:

0.1:

5

这种定义方法,默认横坐标是自然数(1,2,3,4…..)

*3)t=0:

pi/100:

2*pi

x=sin(t)

*4)x=[1.5,2.3,2.8,3,4,4.3,4.6,4.9,5.5];

y=x.^2

这种定义方法,要注意自变量保持升序。

自变量与应变量的体积的一致。

注2:

plot绘图的基本原理是依(x

y

)(1=1,2,….n)排列顺序用直线连接。

曲线光滑与否与点数相关。

holdoff

t=0:

pi/3:

2*pi;

x=sin(t);

plot(t,x,'r-')

holdon

t=0:

pi/5:

2*pi;

x=sin(t);

plot(t,x,'b-')

(1)坐标系定制

用于对坐标轴进行管理与控制,如刻度,外观,文字说明等

*1)坐标轴定制指令(axis)

'axis'用于对坐标轴刻度进行管理与控制。

指令形式与作用说明如下:

AXIS([XMINXMAXYMINYMAX])设置x-andy-axes刻度。

AXIS([XMINXMAXYMINYMAXZMINZMAX])设置x-andy-axes和z-axes刻度。

V=AXIS返回当前图形行向量的刻度设置[XMINXMAXYMINYMAX]或([XMINXMAXYMINYMAXZMINZMAX])。

AXISAUTO返回刻度设置的系统默认值

AXISTIGHT依数据设置刻度

AXISIJ设置坐标轴的原点在左上角

AXISXY设置坐标轴的原点在左下角

AXISEQUAL设置坐标轴的比例因子相等。

AXISIMAGE

AXISSQUARE

AXISNORMAL

AXISVIS3D

AXISOFF

AXISON

例:

XMIN=1;

XMAX=10;

YMIN=10;

YMAX=100;

AXIS([XMINXMAXYMINYMAX])

plot([1,50,3,60,5,20,3])

*2)其它坐标系:

polar

例1:

polar(THETA,RHO)

t=0:

0.1:

2*pi;

r=t;

polar(t,r)

例2:

对数-对数

t=0:

0.1:

2*pi;

r=t;

semilogx(t,r)

 

(2)

(3)图视效果强化

例:

加入格栅;坐标轴标志;文本说明等

clf;holdoff

t=linspace(0,pi*3,30);

x=sin(t);

holdon

y=cos(t);

plot(t,x,'r-',t,y,'g-')

grid%加入格栅

xlabel('x轴')

ylabel('y轴')

title('正弦与余弦曲线')

text(1,0,'正弦')%text(x,y,'正弦')

text(3,0,'余弦')

legend('sin(x)','cos(x)',3)

%LEGEND('string',Pos)placesthelegendinthespecified,

%0=Automatic"best"placement(leastconflictwithdata)

%1=Upperright-handcorner(default)

%2=Upperleft-handcorner

%3=Lowerleft-handcorner

%4=Lowerright-handcorner

%-1=Totherightoftheplot

%按鼠表leftmousebutton拖legend到指定的位置

 

(2)子图

clf;holdoff

t=linspace(0,pi*3,30);

x=sin(exp(t));

subplot(2,2,2)%(n,m,p(0

plot(t,x,'r-')

y=exp(sin(t));

subplot(2,2,3)

plot(t,y,'g-')

(3)特殊二维图形

bar

直方图

loglog

双对数坐标曲线

compass

原点出发的复数向量图(罗盘图)

pcolor

伪彩图

contour

在x-y平面上绘制等位线图

polar

极坐标曲线

errorbar

误差棒棒图

PlOt

直角坐标二维曲线

ezpolt

符号函数二维曲线

quiver

矢量场图

feather

沿X一轴分布的复数向量图(羽毛图)

rose

统计频率数扇块图

fplot

数值函数二维曲线

semilogx

X一轴对教坐标曲线

fill

平面多边形填色

semilogy

y一轴对教坐标曲线

gplot

绘拓扑图

stem

火柴杆国

hist

统计频率数直方图

stairs

阶梯图

例:

误差图(errorbar)

clf;x=0:

0.1:

4;

y=zeros(size(x));e=rand(size(x));

yu=y+e;yd=y-e;

errorbar(x,y,e)

holdon

plot(x,yu,'r-');plot(x,yd,'r-');

 

(3)绘图工具

mmaxespropvalue…修改绘图坐标轴的属性

mmcxy(or)xy—mmcxy显示图上鼠标的x-y坐标

mmdrawpropvalue…在图上画直线

rnmfill(x,y,z,c,lb,ub)填充两条曲线间区域

mmgetxy(N)使用鼠标获取x-y坐标

mmlinepropvalue…修改所画线条的属性

mmtile平铺多图形窗口

mmtext('optionaltext')在图上放置或拖曳文本

mrnzoom用橡皮框缩放坐标轴

mmzapobject使用鼠标删除文本,线型或坐标轴

mmfontpropvalue修改文本字体属性

例:

clf;x=0:

0.1:

4;

y=zeros(size(x));e=rand(size(x));

yu=y+e;yd=y-e;

errorbar(x,y,e)

holdon

plot(x,yu,'r-');plot(x,yd,'r-');

yu

(1)=0;yu(41)=0;

fill(x,yu,'r');

yd

(1)=0;yd(41)=0;

fill(x,yd,'g');

3.三维图形

(1)plot3(三维直线函数)

以下例子用来体会plot3的基本的绘图原理。

例:

绘参数方程x=t;y=sin(t);z=cos(t)的空间曲线

clf

t=0:

0.05:

100;

x=t;y=sin(t);z=sin(2*t);

plot3(x,y,z,'b:

')

例:

空间划线:

clf

t=0:

0.1:

10;x=t;

y=0*ones(size(x));z=sin(t);

plot3(x,y,z,'r')

holdon

z=0*ones(size(x));

y=sin(t);

plot3(x,y,z,'g')

xlabel('x');ylabel('y');zlabel('z');

(2)三维曲面网格图

例1:

划马鞍面:

clf

x=-4:

0.5:

4;

y=-4:

0.5:

4;

[U,V]=meshgrid(x,y);

Z=-U.^4+V.^4-U.^2-V.^2-2*U*V;

mesh(Z);

xlabel('x');

ylabel('y');

zlabel('z');

 

注1:

meshgrid的含义,绘图的基础是网格,一个二元系矩阵[(x

y

)]

holdoff

a=ones(9);

a1=2*ones(5);

a2=3*ones

(2);

a(3:

7,3:

7)=a1;

a(5:

6,5:

6)=a2;

meshc(a)

例二:

peakS函数的图形:

peakS函数的表达式

z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)

-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)

-1/3*exp(-(x+1).^2-y.^2)

clf;[x,y,z]=peaks(20);p=peaks(20);

subplot(2,2,1);mesh(x,y,z)

subplot(2,2,2);meshz(y,x,z)

subplot(2,2,3);meshc(p)

subplot(2,2,4);waterfall(p)

注1:

[x,y,z]=peaks(20):

为变换角度带来方便。

见二图。

p=peaks(20):

默认x,y,z的顺序给p赋值。

注2:

mesh;meshz;meshc;waterfall,表现上有区别。

注3:

peaks是演示函数。

MATLAB中有许多不同的演示函数,与演示程序(**demo.m)结合在一起。

如peaks图形演示函数

banane优化演示函数

(3)色彩与效果

*1)mesh;SURF;SURFC,SURFL比较:

变更色调(由暖到冷,默认红到兰)的变化方向

shading:

涂色方式

clf;x=-1.5:

0.2:

1.5;y=-1:

0.2:

1;

[X,Y]=meshgrid(x,y);

p=sqrt(4-X.^2/9-Y.^2/4);

subplot(3,2,1);mesh(p);%有网格格子图,色调方向:

有上到下

subplot(3,2,2);surf(p);%默认的方向:

色调方向:

有上到下

subplot(3,2,3);surfc(p);%带登高线;色调方向:

有上到下

subplot(3,2,4);surfl(p);%色调方向:

沿y轴方向

shadinginterp;%平滑涂色图,无格线

subplot(3,2,5);surfl(p)

shadingfaceted;%有网格涂色格子图,有格线;

subplot(3,2,6);surfl(p)

shadingflat;%有网格涂色格子图,无格线;

*2)SURFL的z-参数。

看z-参数的确定平滑涂色效果(定义变化方向)surfl(p,z);z=(n1,n2,n3)。

clf;

x=-0.5:

0.3:

2.5;y=-0.5:

0.3:

2;

[X,Y]=meshgrid(x,y);

p=(4+X.^2/9+Y.^2/4);;

%cm=[100;010;001];

%colormap(cm)

subplot(2,2,1);surfl(p,[1,0,0])

subplot(2,2,2);surfl(p,[0,1,0])

subplot(2,2,3);surfl(p,[0,0,1])

subplot(2,2,4);surfl(p,[1,1,0])

(4)辅助图视效果

*1)视角定义view(az,el)

clf;x=-1.5:

0.2:

1.5;y=-1:

0.2:

1;

[X,Y]=meshgrid(x,y);

p=sqrt(4-X.^2/9-Y.^2/4);

subplot(2,2,1);surfl(p);view(30,30)

shadinginterp

subplot(2,2,2);surfl(p);view(90,10)

shadinginterp

subplot(2,2,3);surfl(p);view(-10,-10)

shadinginterp

subplot(2,2,4);surfl(p);view(140,60)

shadinginterp

*2)surfl光照模式与光照角度设置,surfl(x,y,z,d,s,k)指令中s与k参数

d:

见(3)

s:

确定光照角度;z=(sx,sy,sz);默认光照角度是观察角逆时针方向45度

k:

光照模式:

确定强度

ka:

背景光kd:

漫射光ks:

定向光spread:

扩散光

例:

clf;x=-1.5:

0.2:

1.5;y=-1:

0.2:

1;

[X,Y]=meshgrid(x,y);

Z=sqrt(4-X.^2/9-Y.^2/4);

view(45,45)

subplot(2,2,1);surfl(X,Y,Z,[0,45],[.1.6.410]);

shadinginterp

subplot(2,2,2);surfl(X,Y,Z,[20,45],[.3.6.410]);

shadinginterp

subplot(2,2,3);surfl(X,Y,Z,[40,45],[.6.6.410]);

shadinginterp

subplot(2,2,4);surfl(X,Y,Z,[60,45],[.9.6.410]);

shadinginterp

*3)图视放大zoomon;zoomoff;zoom

*鼠标点击变焦(左键放大;右键盘缩小)

*鼠标拖拉变焦

t=-16:

0.1:

16;

x=sin(t.*10).*(t.^2);

plot(t,x,'r-')

zoomon

4.超维图形表达

(1)三维色彩表达(色轴;图象的色彩维)

clf

a=ones(20);

a1=2*ones(13);

a2=3*ones(7);

a3=4*ones

(2);

a(4:

16,4:

16)=a1;

a(7:

13,7:

13)=a2;

a(10:

11,10:

11)=a3;

subplot(2,1,1)

meshc(a)

subplot(2,1,2)

pcolor(a)

colorbar('horiz')

colormap(hsv)

%shadinginterp

(2)四维色彩表达(色轴;图象的色彩维)

clf

x=-5:

0.1:

5;

y=-5:

0.25:

5;

z=-5:

0.25:

5;

n=length(x);

[X,Y,Z]=meshgrid(x,y,z);

V=(-X.^2-Y.^2-Z.^2);

xi=[-4,-2,0,2,4];

yi=0.5;

zi=-0.5;

subplot(2,1,1);

slice(x,y,z,V,xi,yi,zi);

colorbar('horiz');

view([45,45]);

shadinginterp

xi=[0];

subplot(2,1,2);

slice(x,y,z,V,xi,yi,zi);

view([30,45]);

shadinginterp

(3)色彩变换spinmap

 

5.句柄图形

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2