数据可视化处理实验DOC.docx

上传人:b****2 文档编号:20295061 上传时间:2023-04-25 格式:DOCX 页数:22 大小:526.20KB
下载 相关 举报
数据可视化处理实验DOC.docx_第1页
第1页 / 共22页
数据可视化处理实验DOC.docx_第2页
第2页 / 共22页
数据可视化处理实验DOC.docx_第3页
第3页 / 共22页
数据可视化处理实验DOC.docx_第4页
第4页 / 共22页
数据可视化处理实验DOC.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数据可视化处理实验DOC.docx

《数据可视化处理实验DOC.docx》由会员分享,可在线阅读,更多相关《数据可视化处理实验DOC.docx(22页珍藏版)》请在冰豆网上搜索。

数据可视化处理实验DOC.docx

数据可视化处理实验DOC

科学计算与数据处理实验报告

学  号

姓  名

实验名称

数据可视化处理实验

实验目的

1、掌握MATLAB中二维曲线图、三维曲线图、三维曲面图的绘制方法

2、掌握MATLAB中常用统计图的绘制方法

3、熟悉MATLAB中三维图形常用编辑方法

4、了解MATLAB中动画的绘制方法

实验方案

1、离散数据可视化实验:

绘制离散函数

的图形,其中自变量的取值范围是(0,16)的整数。

y=1./((n-3).^2+1)-1./((n-9).^2+4);plot(n,y,'*')

2、二维曲线绘制实验:

设计实验演示验证plot、subplot、axis、set、legend、xlabel、ylabel、zlabel、title、text、grid、box、hold、plotyy、fplot等函数在绘制二维曲线中的功能和使用方法。

a)设置三个函数y,z,h均以x作为变量,验证函数plot,subplot,set,axis,并使用gridon为图形加网格,boxon加边框线。

b)设计函数y1=2e-0.5x和y2=cos(4πx)绘制其曲线,为其添加title(图形名称),label(x轴说明),ylabel(y轴说明),text(x,y,图形说明),legend(图例1,图例2,…)。

c)设计函数y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),并在同一坐标内绘制曲线,验证holdon/off命令的切换。

d)设计函数x=exp(i*t)和y=[x;2*x;3*x]'在同一坐标中,绘制3个同心圆,并加坐标控制,并使用gridon加网格线,boxon加坐标边框,axisequal使坐标轴采用等刻度。

e)设计函数y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),以不同标度在同一坐标内绘制曲线,验证函数plotyy。

f)设计函数f(x)=cos(tan(πx)),使用用flpot函数绘制其曲线。

3、三维曲线绘制实验:

设计实验演示验证plot3、mesh、surf等函数在绘制三维曲线、曲面中的功能和使用方法。

a)设计函数y=sin(t),x=cos(t),z=(t+1).^t.*sin(t).*cos(t),并使用plot3函数绘制这三个函数的曲线。

b)设计函数z=sin(x+sin(y))-x/10;,分别绘制带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。

并使用函数surf绘制该函数图像

4、统计图绘制实验:

设计实验演示验证面域图(area)、

a)设计一个数组Y=[3,8,9,4,1;6,3,5,2,7;5,4,3,8,6],使用area(x',Y',0)绘制相应的面域图。

直方图(bar、barh、bar3、bar3h)

设计一个数组Y=[3,7,2,5,1;3,7,5,2,1;5,4,1,2,5],在同一个图中分别应用以下函数bar(x',Y','stacked')bar3h(x',Y','grouped')、bar3(x',Y','stacked')、barh(x',Y','grouped')画出相应的直方图。

b)饼图(pie、pie3)

设计一个数组a=[1,1.6,1.2,0.8,2.1],在同一个图中分别应用以下函数pie(a,[10100])、pie3(a,double(a==min(a)))画出相应的饼图。

c)散点图(scatter、scatter3、plotmatrix):

函数scatter

设计函数Y=X.^2+rand(size(X)),使用函数scatter(X,Y)

以X中数据为横坐标,以Y中数据位纵坐标描绘散点图,点的形状默认使用圈。

函数scatter3

设计数组x=[4229042.634230585.024231384.964231773.634233028.584233296.714235869.684236288.29];y=[431695.4441585.8432745.6436933.7428734.4431946.3428705.0432999.5];z=[1.0191.0231.0111.0221.0201.0221.0221.023];

使用函数scatter3(x,y,z),绘制出相应的三围散点图。

d)plotmatrix

设计函数x=randn(100,2),并使用 plotmatrix(x) 绘制出相应的散点图

5、三维图形编辑(精细控制)实验:

设计实验演示验证用view、rotate、colordef、colormap、shading、light、lighting、material、surfl等函数对三维图形进行精细控制的方法。

a)使用z=peaks(20);,将颜色填充设为默认色,使用surfl(z)验证函数surfl的功能。

b)使用z=peaks(20);,将颜色填充设为默认色,背景设为白色,使用rotate(h,[-2,-2,0],20,[2,2,0]);验证函数rotate的功能。

c)使用z=peaks(10);,使用view(0,40);验证函数view的功能。

6、动画绘制实验:

设计实验演示验证getframe与movie相结合绘制动画的方法。

a)首先设置创建山峰图形数据

b)绘制带光照的表面,限制绘图范围

c)旋转山峰,从1到360度,每一度捕捉一帧

d)view(-37.5+i,30)从水平-37.5+i度,垂直30度的方向看山峰

e)每从一个角度看到一张图像(帧),就存储到m

f)movie(m)把刚才存到m里的图像连续播放一遍。

实验记录

1、离散数据可视化实验:

绘制离散函数

的图形,其中自变量的取值范围是(0,16)的整数。

n=1:

0.5:

16;

y=1./((n-3).^2+1)-1./((n-9).^2+4);

plot(n,y,'*')

2、二维曲线绘制实验:

设计实验演示验证plot

设置三个函数y,z,h均以x作为变量,验证函数plot,subplot,set,axis,并使用gridon为图形加网格,boxon加边框线。

x=0:

0.1:

5;

y=sin(x);

z=cos(x);

h=tan(x);

subplot(2,1,1);

plot(x,y);

subplot(2,1,2);

plot(x,z);

axis([04020]);

h=plot(x,y);

set(h,'color','b');

set(gca,'XGrid','on','YGrid','off');

set(gca,'color','g');

gridon

boxon

设计函数y1=2e-0.5x和y2=cos(4πx)绘制其曲线,为其添加title(图形名称),label(x轴说明),ylabel(y轴说明),text(x,y,图形说明),legend(图例1,图例2,…)。

x=0:

pi/100:

1*pi;

y1=2*exp(-0.5*x);

y2=cos(4*pi*x);

plot(x,y1,x,y2)

title('xfrom0to2{\pi}');

xlabel('VariableX');

ylabel('VariableY');

text(0.8,1.5,'曲线y1=2e^{-0.5x}');

text(2.5,1.1,'曲线y2=cos(4{\pi}x)');

legend(‘y1’,’y2’)

设计函数y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),并在同一坐标内绘制曲线,验证holdon/off命令的切换。

x=0:

pi/100:

2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

plot(x,y1)

holdon

y2=2*exp(-0.5*x).*cos(pi*x);

plot(x,y2);

holdoff

设计函数x=exp(i*t)和y=[x;2*x;3*x]'在同一坐标中,绘制3个同心圆,并加坐标控制,并使用gridon加网格线,boxon加坐标边框,axisequal使坐标轴采用等刻度。

t=0:

0.01:

2*pi;

x=exp(i*t);

y=[x;2*x;3*x]';

plot(y)

gridon;%加网格线

boxon;%加坐标边框

axisequal%坐标轴采用等刻度

设计函数y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx),以不同标度在同一坐标内绘制曲线,验证函数plotyy。

x=0:

pi/100:

2*pi;

y1=0.2*exp(-0.5*x).*cos(4*pi*x);

y2=2*exp(-0.5*x).*cos(pi*x);

plotyy(x,y1,x,y2);

设计函数f(x)=cos(tan(πx)),使用用flpot函数绘制其曲线。

fplot('cos(tan(pi*x))',[0,1],1e-4)

3、三维曲线绘制实验:

设计实验演示验证plot3、mesh、surf等函数在绘制三维曲线、曲面中的功能和使用方法。

设计函数y=sin(t),x=cos(t),z=(t+1).^t.*sin(t).*cos(t),并使用plot3函数绘制这三个函数的曲线。

t=0:

pi/100:

10*pi;

y=sin(t);

x=cos(t);

z=(t+1).^t.*sin(t).*cos(t);

plot3(x,y,z);

title('Linein3-DSpace+++WEIMAN');

xlabel('X');ylabel('Y');zlabel('Z');

gridon;

设计函数z=sin(x+sin(y))-x/10;,分别绘制带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。

并使用函数surf绘制该函数图像

[x,y]=meshgrid(-7:

0.5:

7);

z=sin(sqrt(x.^4+y.^4))./sqrt(x.^4+y.^4+eps);

subplot(2,2,1);

mesh(x,y,z);

title('mesh(x,y,z)+++weiman1')

subplot(2,2,2);

meshc(x,y,z);

title('meshc(x,y,z)+++weiman2')

subplot(2,2,3);

meshz(x,y,z)

title('meshz(x,y,z)+++weiman3')

subplot(2,2,4);

surf(x,y,z);

title('surf(x,y,z)');

4、统计图绘制实验:

设计实验演示验证面域图(area)

x=-2:

2

Y=[3,8,9,4,1;6,3,5,2,7;5,4,3,8,6]%(3*5)的Y数组的

CS=flipud(cumsum(Y))

area(x',Y',0)

legend('因素A','因素B','因素C')

gridon,

colormap('jet')

title('area+++weiman')

直方图(bar、barh、bar3、bar3h)

x=-2:

2;

Y=[3,7,2,5,1;3,7,5,2,1;5,4,1,2,5];

subplot(2,2,1)

bar(x',Y','stacked')

title('bar+++weiman')

xlabel('x'),ylabel('\Sigmay'),colormap('jet')

legend('因素A','因素B','因素C')

subplot(2,2,2)

bar3h(x',Y','grouped')

title('bar3h+++weiman')

subplot(2,2,4)

bar3(x',Y','stacked')

title('bar3+++weiman')

subplot(2,2,3)

barh(x',Y','grouped')

title('barh+++weiman')

饼图(pie、pie3)

a=[1,1.6,1.2,0.8,2.1];

subplot(1,2,1)

pie(a,[10100])

axisequal

title('pie+++weiman')

legend('因素A','因素B','因素C','因素D','因素E')

subplot(1,2,2)

pie3(a,double(a==min(a)))

colormap(jet)

title('pie3+++weiman')

legend('因素A','因素B','因素C','因素D','因素E')

散点图(scatter、scatter3、plotmatrix)

1.scatter(X,Y)

 X=[1:

10];

 Y=X.^2+rand(size(X));

 scatter(X,Y)

set(gca,'color','y');

title('scatter+++weiman')

函数scatter3

例子:

x=[4229042.634230585.024231384.964231773.634233028.584233296.714235869.684236288.29];

y=[431695.4441585.8432745.6436933.7428734.4431946.3428705.0432999.5];

z=[1.0191.0231.0111.0221.0201.0221.0221.023];

scatter3(x,y,z)

set(gca,'color','y');

title('scatter3+++weiman')

注:

x,y,z必须是等长度的数对(即三个等长的矢量)

Plotmatrix函数

x=randn(100,2)

plotmatrix(x)

5、三维图形编辑(精细控制)实验:

设计实验演示验证用view、rotate、colordef、colormap、shading、light、lighting、material、surfl等函数对三维图形进行精细控制的方法。

函数surfl功能

z=peaks(20); 

>> colordef white ; 

>> colormap jet; 

>> shading interp; 

>> surfl(z)

title('surfl+++weiman')

函数rotate功能

z=peaks(20);

subplot(1,2,1);surf(z);title('Default+++weiman');subplot(1,2,2);h=surf(z);title('Rotated+++weiman');rotate(h,[-2,-2,0],20,[2,2,0]);

函数view功能

z=peaks(10); 

>> subplot(1,2,1);surf(z);title('Default+++weiman'); 

>> subplot(1,2,2); 

>> subplot(1,2,2);h=surf(z);title('view+++weiman'); 

>> view(0,40); 

6、动画绘制实验:

设计实验演示验证getframe与movie相结合绘制动画的方法。

%影片生成例子:

旋转一个三维表面绘图

[X,Y,Z]=peaks(50);%创建山峰图形数据

surfl(X,Y,Z)%绘制带光照的表面

axis([-1010-1010-1010])%限制绘图范围

axisvis3doff%三维坐标修正,关闭坐标轴箭头

axisequal%等比例显示三维坐标

shadinginterp%加个影子美化

colormap(copper)%着色为铜色

fori=1:

360%旋转山峰,从1到360度,每一度捕捉一帧

view(-37.5+i,30)%从水平-37.5+i度,垂直30度的方向看山m(i)=getframe;%每从一个角度看到一张图像(帧),就存储到m

end%每次看完,水平转动1度,直到1周360度;

cla%为播放影片清除坐标

movie(m)%把刚才存到m里的图像连续播放一遍,就是影片了.

 

实验总结

在本次实验中,分别学习了离散数据可视化实验、二维曲线图、三维曲线图、统计图绘制的绘制,以及三维图形编辑(精细控制)、动画绘制。

在离散数据可视化实验中,主要的收获是复习了实验1的内容,并初步接触到了画图函数plot;在二维曲线图的绘制中,主要使用到了单一的画图函数plot,将多个图绘制在同一个窗口中的subplot函数,并通过xlabel、ylabel、zlabel对图像的坐标轴进行说明,通过legend函数对图例进行说明,通过title对所画图进行添加标题说明,还有通过gridon/off进行网格的添加或者去除等。

在三维曲线图的绘制的实验中,主要使用plot3函数进行三围函数对呃设置,并使用绘制带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。

并使用函数surf绘制该函数图像。

在统计图绘制的实验中主要学习了面域图、直方图(一维、三维直方图)、饼图(一维、三维)、散点图(scatter、scatter3、plotmatrix)的绘制。

在三维图形编辑(精细控制)的实验中,主要学习了在三维空间图中,对所绘图像视角、图像颜色、背景颜色、亮度等细节进行精细控制。

在动画绘制实验中,主要通过设计函数,验证学习了getframe与movie相结合绘制动画的方法。

在本次实验中,主要掌握了在MATLAB中二维曲线图、三维曲线图、三维曲面图的绘制方法、常用统计图的绘制方法、三维图形常用编辑方法、动画的绘制方法。

并且已完成实验,达到了实验目的。

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1