箭头加直线_【Matlab学习秘籍】绘制带箭头的流线
问题来源:某讨论小班建构区教案 群某同学的提问,想做出⼀个带有箭头电场的流线图。
绘制流线,Matlab提供了streamline函数,由于我也是哺乳期牙痛怎么办 第⼀次遇到这个问题,于是乎打开streamline的帮助⽂档,然后仔细查看⼀番,⼼
⾥便有了思路,开始动⼿实践,下⾯就以这个函数的官⽅帮助⽂档⾥的demo来演⽰,如何实现在流线上绘制箭头。
clear;clc;
%直接把streamline函数的帮助⽂档demo拷贝过来
[x,y]=meshgrid(0:0.1:1,0:0.1:1);
u=x;
v=-y;
startx=0.1:0.1:0.9;
starty=ones(size(startx));
%需要获取所有流线的属性
lines=streamline(x,y,u,v,startx,starty);
%下⾯开始画箭头,涉及到坐标的转换
%获取Axes位置
posAxes=get(gca,'Position');
posX=posAxes(1);
posY=posAxes(2);
width=posAxes(3);
height=posAxes(4);
%获取Axes范围
limX=get(gca,'Xlim');
limY=get(gca,'Ylim');
minX=limX(1);
maxX=limX(2);
minY=limY(1);
maxY=limY(2);
%遍历,逐条流线加箭头
fori=1:红豆怎么煮 length(lines)
%获取每条流线的数据
xData=lines(i).XData;
yData=lines(i).YData;
%这⾥取的是最后两个点,⼀定要是相邻飞机简笔画图片 的两个点⽤来确定箭头⽅向
x0=xData(end-1:end);
y0=yData(end-1:end);
%转换坐标到相对于figure的坐标
xNew=posX+(x0-minX)/(maxX-minX)*width;
yNew=posY+(y0-生肖兔和什么生肖最配 minY)/(maxY-minY)*height;
%画箭头
holdon
annotation('arro蘑菇做法 w',xNew,yNew,'color','b');
end正能量网名
holdoff
title('带箭头的流线图');
看看效果图:
带有箭头的流线图
【秘籍】
1.获取流线的坐标数据,如何获取,查看帮助⽂档得知,绘制时赋值即可获取到所有绘制对象的属性,然后逐条流线获取数据即可;
2.绘制箭头,这个⽅法前⾯也有⽂章提到过(【Matlab学习秘籍】绘制带箭头直线),这⾥把主要过程也重复了⼀遍;
3.关于箭头的两个坐标,选取两个相邻的点,⽅便确定箭头的⽅向。
本文发布于:2023-03-20 14:06:43,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1679292404151886.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:流线图.doc
本文 PDF 下载地址:流线图.pdf
留言与评论(共有 0 条评论) |