1、数据可视化处理实验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、zlab
2、el、title、text、grid、box、hold、plotyy、fplot等函数在绘制二维曲线中的功能和使用方法。a) 设置三个函数y,z,h均以x作为变量,验证函数plot,subplot,set, axis,并使用grid on为图形加网格, box on加边框线。b) 设计函数y1=2e-0.5x和y2=cos(4x)绘制其曲线,为其添加title(图形名称) ,label(x轴说明),ylabel(y轴说明),text(x,y,图形说明),legend(图例1,图例2,)。c) 设计函数y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x),并在同一坐标内绘制
3、曲线,验证hold on/off命令的切换。d) 设计函数x=exp(i*t)和y=x;2*x;3*x在同一坐标中,绘制3个同心圆,并加坐标控制,并使用 grid on加网格线, box on加坐标边框,axis equal使坐标轴采用等刻度。e) 设计函数y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x),以不同标度在同一坐标内绘制曲线,验证函数plotyy。f) 设计函数f(x)=cos(tan(x),使用用flpot函数绘制其曲线。3、 三维曲线绘制实验:设计实验演示验证plot3、mesh、surf等函数在绘制三维曲线、曲面中的功能和使用方法。a) 设计函数y=
4、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,
5、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,1 0 1 0 0)、pie3(a,double(a=min(a)画出相应的饼图。c) 散点图(scatter、scatter3、plotmatrix):函数scatter设计函数Y = X.2 + rand(size(X),使用函数scatter(X, Y)以X中数据为横坐标
6、,以Y中数据位纵坐标描绘散点图,点的形状默认使用圈。函数scatter3设计数组x=4229042.63 4230585.02 4231384.96 4231773.63 4233028.58 4233296.71 4235869.68 4236288.29;y=431695.4 441585.8 432745.6 436933.7 428734.4 431946.3 428705.0 432999.5;z=1.019 1.023 1.011 1.022 1.020 1.022 1.022 1.023;使用函数scatter3(x,y,z),绘制出相应的三围散点图。d) plotmatrix设
7、计函数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(1
8、0);,使用view(0,40);验证函数view的功能。6、 动画绘制实验:设计实验演示验证getframe与movie相结合绘制动画的方法。a) 首先设置创建山峰图形数据b) 绘制带光照的表面,限制绘图范围c) 旋转山峰,从1到360度,每一度捕捉一帧d) view(-37.5+i,30)从水平-37.5+i度,垂直30度的方向看山峰e) 每从一个角度看到一张图像(帧),就存储到mf) movie(m)把刚才存到m里的图像连续播放一遍。实验记录1、离散数据可视化实验:绘制离散函数的图形,其中自变量的取值范围是(0,16)的整数。 n=1:0.5:16; y=1./(n-3).2+1)-1.
9、/(n-9).2+4); plot(n,y,*)2、二维曲线绘制实验:设计实验演示验证plot设置三个函数y,z,h均以x作为变量,验证函数plot,subplot,set, axis,并使用grid on为图形加网格, box on加边框线。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(0 4 0 20); h=plot(x,y); set(h,color,b); set(gca,XGrid,on,YGrid,off); set(gca,co
10、lor,g);grid onbox on设计函数y1=2e-0.5x和y2=cos(4x)绘制其曲线,为其添加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(x from 0 to 2pi); xlabel(Variable X); ylabel(Variable Y); text(0.8,1.5,曲线y1=2e-0.5x); text(2.5,1.1,曲线y2=co
11、s(4pix);legend(y1,y2) 设计函数y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x),并在同一坐标内绘制曲线,验证hold on/off命令的切换。x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)hold ony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off设计函数x=exp(i*t)和y=x;2*x;3*x在同一坐标中,绘制3个同心圆,并加坐标控制,并使用 grid on加网格线, box on加坐标边框,axis equal使坐标轴采用
12、等刻度。t=0:0.01:2*pi;x=exp(i*t);y=x;2*x;3*x;plot(y)grid on; %加网格线box on; %加坐标边框axis equal %坐标轴采用等刻度设计函数y1=0.2e-0.5xcos(4x) 和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函数绘制其曲线。fplo
13、t(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(Line in 3-D Space+WEIMAN);xlabel(X);ylabel(Y);zlabel(Z);grid on;设计
14、函数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) +we
15、iman3)subplot(2,2,4);surf(x,y,z);title(surf(x,y,z);4、统计图绘制实验:设计实验演示验证面域图(area)x=-2:2Y=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)grid on,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,
16、stacked)title(bar +weiman)xlabel(x),ylabel(Sigma y), 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,1 0 1 0 0
17、)axis equaltitle(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=422
18、9042.63 4230585.02 4231384.96 4231773.63 4233028.58 4233296.71 4235869.68 4236288.29;y=431695.4 441585.8 432745.6 436933.7 428734.4 431946.3 428705.0 432999.5;z=1.019 1.023 1.011 1.022 1.020 1.022 1.022 1.023;scatter3(x,y,z)set(gca,color,y);title( scatter3 +weiman)注:x,y,z必须是等长度的数对(即三个等长的矢量)Plotmatri
19、x函数x=randn(100,2)plotmatrix(x)5、三维图形编辑(精细控制)实验:设计实验演示验证用view、rotate、colordef、colormap、shading、light、lighting、material、surfl等函数对三维图形进行精细控制的方法。函数surfl功能z=peaks(20);colordefwhite;colormapjet;shadinginterp;surfl(z)title( surfl +weiman)函数rotate功能z=peaks(20); subplot(1,2,1);surf(z);title(Default+weiman);
20、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); %创建山
21、峰图形数据surfl(X, Y, Z) %绘制带光照的表面axis(-10 10 -10 10 -10 10) %限制绘图范围axis vis3d off %三维坐标修正,关闭坐标轴箭头axis equal %等比例显示三维坐标shading interp %加个影子美化colormap(copper) %着色为铜色for i=1:360 %旋转山峰,从1到360度,每一度捕捉一帧view(-37.5+i,30) %从水平-37.5+i度,垂直30度的方向看山 m(i)=getframe; %每从一个角度看到一张图像(帧),就存储到mend %每次看完,水平转动1度,直到1周360度;cla
22、%为播放影片清除坐标movie(m) %把刚才存到m里的图像连续播放一遍,就是影片了.实验总结在本次实验中,分别学习了离散数据可视化实验、二维曲线图、三维曲线图、统计图绘制的绘制,以及三维图形编辑(精细控制)、动画绘制。在离散数据可视化实验中,主要的收获是复习了实验1的内容,并初步接触到了画图函数plot;在二维曲线图的绘制中,主要使用到了单一的画图函数plot,将多个图绘制在同一个窗口中的subplot函数,并通过xlabel、ylabel、zlabel对图像的坐标轴进行说明,通过legend函数对图例进行说明,通过title对所画图进行添加标题说明,还有通过grid on/off进行网格的
23、添加或者去除等。在三维曲线图的绘制的实验中,主要使用plot3函数进行三围函数对呃设置,并使用绘制带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。并使用函数surf绘制该函数图像。在统计图绘制的实验中主要学习了面域图、直方图(一维、三维直方图)、饼图(一维、三维)、散点图(scatter、scatter3、plotmatrix)的绘制。在三维图形编辑(精细控制)的实验中,主要学习了在三维空间图中,对所绘图像视角、图像颜色、背景颜色、亮度等细节进行精细控制。在动画绘制实验中,主要通过设计函数,验证学习了getframe与movie相结合绘制动画的方法。在本次实验中,主要掌握了在MATLAB中二维曲线图、三维曲线图、三维曲面图的绘制方法、常用统计图的绘制方法、三维图形常用编辑方法、动画的绘制方法。并且已完成实验,达到了实验目的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1