MATLAB5:数据和函数的可视化


一、实验目的

  1. 掌握基本的二维绘图中曲线图的绘制方法。
  2. 掌握三维绘图中曲面图的绘制方法。
  3. 掌握三维绘图中网线图的绘制方法。
  4. 了解三维表面图的绘制方法。
  5. 了解图形的渲染方法、剪切、光照效果以及色调搭配等内容。

二、实验内容

  1.常用的图形绘制命令

指令说明
plot基本二维曲线图形命令
stairs阶梯图;主要用于采样数据
stem二维杆图;主要用于离线数据
polar以极坐标绘制图形

  2.颜色和线型

指令颜色或线型指令颜色或线型指令颜色或线型
bg绿r
cm品红y
kw-实线
:虚线-.点划线双划线

  3.数据点形

指令数据点形指令数据点形指令数据点形
.实心黑点+十字符*星号
^向上三角<向左三角>向右三角
v向下三角d菱形h六角星
o空心圆p五角星s方块
x叉号

  4.坐标控制

指令说明
axis auto使用缺省设置
axis off取消轴背景
axis(V)人工设定坐标范围,例如:V=[x1,x2,y1,y2,z1,z2]
axis normal缺省矩形坐标系
axis equal横、纵轴等长刻度
axis square产生正方形坐标系
axis image横、纵轴等长刻度,且坐标矿紧贴数据范围
axis tight把数据范围直接设为坐标范围

  5. 分格线和坐标框

指令说明
grid分格线切换(状态翻转)
grid on/off画出/不画分格线
box坐标形式切换(状态翻转)
box on/off使当前坐标呈封闭式/开启式

注:缺省设置为不画分格线、封闭式

  6.图形标识

指令说明
title(‘s’)书写图名
xlabel(‘s’)横坐标轴名
ylabel(‘s’)纵坐标轴名
legend(‘s1’,’s2’,…)线型、颜色、数据点的图例
text(x,y,’s’)在图形(x,y)坐标处标注释

  7.多次叠绘

指令说明
hold on保持图形和坐标轴,准备绘制新曲线
hold off取消叠绘

  8. 双纵坐标图

指令说明
plotyy(X1,Y1,X2,Y2)以左右不同纵轴绘制两条曲线

  9.多子图

指令说明
subplot(m,n,k)选择m×n幅子图中的第k幅为当前子图

  10.获取二维图形数据的指令(唯一能从图上获取数据的指令)

指令说明
[x,y]=ginput(n)用鼠标从二维图形上获取n个点的数据坐标(x,y);该指令仅适用于二维图形;指令中的x,y存放所取点的坐标;n必须为正整数,它表示用户希望通过鼠标从图上获得的数据点个数。

  11.三维图形指令

指令说明
plot3(X,Y,Z,’s’)表现单参数的三维曲线
mesh(X,Y,Z,C)表现网线图/曲面图,mesh不上色
surf(X,Y,Z,C)表现网线图/曲面图,surf上色

  12.三维图形的修饰

指令说明
view([az,el])视点控制,通过方位角az、俯视角el设置视点
colormap(hot)设置当前图形窗的着色色图
alpha(n)对图形进行透明度处理
shading interp对图形进行浓淡处理

三、仿真结果

1.一条曲线可由下列方程式表示:
x=sin(-t)+t;y=1-cos(-t)
当t由0变化到4*pi时,画出此曲线在XY平面的轨迹。
答:

>> t=0:pi/100:4*pi;
x=sin(-t)+t;
y=1-cos(-t); 
plot(x,y),
title('第一题')

在这里插入图片描述
2.Chebysheve多项式的定义如下:y=cos(m/cos(x))
其中x的值介于[-1,1],当m的值由2变化到5时,我们可得到4条曲线,请使用hold on/off指令将这4条曲线画在同一张图上面,分别用细实线,虚点线,点划线和虚划线表示,加图名,并且使用legend指令来标明每一条曲线。思考:如果四条线的颜色要求都用黑色怎么处理?
答:

>> x=-1:0.01:1;
y=cos(2./cos(x));
plot(x,y,'k-'),hold on,
y1=cos(3./cos(x));
plot(x,y1,'k:'),hold on,
y2=cos(4./cos(x));
plot(x,y2,'k-.'),hold on,
y3=cos(5./cos(x));
plot(x,y3,'k--'),title('第二题'),
legend('y=cos(2/cos(x))','y1=cos(3/cos(x))','y2=cos(4/cos(x))','y3=cos(5/cos(x))')
思考:四条线的颜色要求用黑色,已在上述中表示,用’k’表示黑色。

在这里插入图片描述

3.在多子图模式下绘制y=sin(t)sin(9t)及其包络线,第三幅子图的位置自己指定。
答:

>> t=(pi*(0:1000)/1000)';
y1=sin(t);
y2=sin(9*t);
y12=sin(t).*sin(9*t);
subplot(2,2,1),plot(t,[y1,-y1]),
axis([0,pi,-1,1]),
subplot(2,2,2),plot(t,y12),
axis([0,pi,-1,1]),
subplot('position',[0.2,0.05,0.6,0.45]),
plot(t,y12,'b-',t,[y1,-y1],'r:'),axis([0,pi,-1,1]),title('第三题')

在这里插入图片描述
4.绘制三维曲线x=sint,y=cost,z=sintcost,t取值[0,2pi]
答:

>> t=0:pi/200:2*pi;
x=sin(t);
y=cos(t);
z=sin(t).*cos(t);
plot3(x,y,z),
view([27,30]),
title('第四题')

在这里插入图片描述
5.x取值[-2,2],y取值[-2,2],步长自拟,产生三维网络X,Y,并在一个图形窗口绘制z=xexp^(-xx-y*y)的三维网络图,三维曲面图,并给图形加上x轴标签,y轴标签。
答:

>> x=-2:0.01:2;
y=-2:0.01:2;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.*X-Y.*Y);
subplot(1,2,1),plot3(X,Y,Z),
view([27,30]),shading interp,
xlabel('X'),ylabel('Y'),zlabel('Z'),
title('第五题')subplot(1,2,2),surf(X,Y,Z),
colormap(hot),view([27,30]),shading interp
xlabel('X'),ylabel('Y'),zlabel('Z'),
title('第五题')

在这里插入图片描述

四、实践中遇到的问题及解决方法

  1.问题:画三维图形时,分不清三维网络图和三维曲面图的区别
  解决方法:三维网络图和三维曲面图是不同的概念,其中用plot3(X,Y,Z,’s’)画三维网络图;用mesh(X,Y,Z,C)或surf(X,Y,Z,C)画三维网线图/曲面图,mesh不上色,surf上色
  2.问题:最开始绘图时分不清是点还是线。例如:plot(x,y),plot(x,y,‘r–’),plot(x,y,‘rs-.’)
  解决方法:用MATLAB多次绘制,可以找到规律,其中plot(x,y)默认的是蓝色的实线,plot(x,y,‘r–’)对应的是红色的双划线,plot(x,y,‘rs-.’)对应的既有红色的方块点形,又有红色的点画线。
  3.问题:不会使用ginput指令
  解决方法:它的应用指令是[x,y]=ginput(n),需要从图上获取数据,其中n必须为正整数,我们可以通过鼠标从图上获得的数据点个数。指令中的x,y存放所取点的坐标。
  4.问题:画完一幅图后,想在这幅图上接着构绘曲线,不知道怎么办?
  解决方法:使用指令hold on
  5.问题:图名标注时,有特殊字符不知道如何书写?例如:ρ=1-cosθ
  解决方法:这里不应该用软键盘书写,应该常采用特殊字符对应的字符串。该题可以写成:\rho=1-cos\theta。
  6.问题:学习绘图时,杆图,梯形曲线图依旧用plot画,不知道咋弄?
  解决办法:杆图对应的是stem,梯形曲线图对应的是stairs
  7.问题:绘制三维图形时,MATLAB显示出来的图形经常重叠,看不到它的总体轮廓
  解决办法:加一个view([az,el]),进行视点控制,通过方位角az、俯视角el设置视点,可以从合适的角度观察它的轮廓。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道无方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值