MATLAB绘制二维箭头图和轮廓图

临风暖阳 发表于 2022/10/31 14:26:35 2022/10/31
【摘要】 笔者主要用MATLAB绘制二维箭头图和轮廓图

quiver函数用于在二维平面的给定点绘制矢量, 这里需要绘制的矢量由x组元和y组元
组成。箭头图通常是与其他图形配合使用的, 例如, 假设我们首先用peaks函数创建10轮廓

n=-2.0:.22:2.0;
[X,Y,Z]=peaks(n);
contour(X,Y,Z,10);

[U,V]=gradient(Z,.2);
hold on
quiver(X,Y,U,V)
hold off

%4.5.4三维箭头图
%在MATLAB中, 函数quiver 3用于在三维空间中在(x, y, z) 点包含(u, v, w) 组元的矢量。下
%面我们举例用三维箭头图显示抛物线。该抛物线用时间为自变量的函数表达式如下:
%在MATLAB中, 为表达式各变量赋值:
vz=10;%速度
a=-32;
%加速度
%然后,计算高度z,此处时间从0增加到1,增幅是0.1:
t=0:.1:1;
z=vz*t+1/2*a*t.^2;;
%计算x方向和y方向的位置:
vx=2;
x=vx*t;
vy=3;
y=vy*t;
%最后,计算速度矢量的组元,并将该速度矢量用三维箭头图显示出来:
u=gradient(x);
v=gradient(y);
w=gradient(z);
scale=0;
quiver3(x, y, z, u, v, w, scale)
axis square

%而下面的代码:
[X,Y,Z] =peaks;
contour3(X, Y, Z, 30)
h=findobj('Type', 'patch');
set(h, LineWidth', 1.5)
title('具有30个轮廓线的peaks函数')
%将在一个三维视图中显示具有30个轮廓线的peaks函数,

开发环境:MATLAB 2021b

MATLAB高级应用---图形及影像处理  清源计算机工作室 编著----北京[M]:机械工业出版社

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。