matlab绘制风场图如何用matlab绘制风场图,箭头的长度、颜色来表示风速的大小?能否把程序发来参考一下?
答案:1 悬赏:0 手机版
解决时间 2021-02-11 13:49
- 提问者网友:欲劫无渡
- 2021-02-11 07:09
matlab绘制风场图如何用matlab绘制风场图,箭头的长度、颜色来表示风速的大小?能否把程序发来参考一下?
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-02-11 08:05
看quiver的帮助文档
如果是3d的看quiver3追问就是现在有现成的在一定经纬度下的风向数据,风向的规律没有显示,怎么用quiver来画呢?一般不是与横纵坐标有关系的才能用quiver画吗?追答没数据没法回答追问就好比一个三维矩阵360*180*1,分别表示经度(0-360度)、纬度(-90-90度)和风向数据(360*180个),怎样画呢?只需要方法追答360*180*1好像是二维矩阵哦。然后,按你所说,这个矩阵里的每个值代表了对应经纬度的风向,但风向是矢量吧,就一个值怎么代表方向呢?追问按照海洋学公约,一般风吹向正北方为0度,正东为90度,正南为180度,正西为270度。我说的值就是0-360之间的值追答哦sorry,我没学过海洋学公约,所以还是不太明白这个360*180矩阵的含义。
因为你前面说这两个维度分别表示经度和纬度,假设b=A(30,1),他究竟表示的是什么?是表示经度30度,维度-90度这个位置的风的大小?还是方向?你要在这个经纬度上画上风的箭头,那么就要告诉我这个箭头的方向和长度,但现在只有一个值,怎么表示这两个量?追问是表示你所说位置的风向,至于箭头大小没有特别的要求。追答好,那我就随便画一个
clear;
clc;
A=rand(360,180)*360;%代表经度0~359,纬度-90~89的位置的风向,你用你自己的数据代替
[x,y] = ndgrid(0:359,-90:89);%生成经度和纬度
u=sind(A);v=cosd(A);%将方向表示为经纬坐标
a=axes;
quiver(x,y,u,v,0.25);
xlim([0,360]);ylim([-90,90]);axis equal tight;
set(a,'xtick',0:30:360,'ytick',-90:30:90);
xlabel('经度');ylabel('纬度')';
如果是3d的看quiver3追问就是现在有现成的在一定经纬度下的风向数据,风向的规律没有显示,怎么用quiver来画呢?一般不是与横纵坐标有关系的才能用quiver画吗?追答没数据没法回答追问就好比一个三维矩阵360*180*1,分别表示经度(0-360度)、纬度(-90-90度)和风向数据(360*180个),怎样画呢?只需要方法追答360*180*1好像是二维矩阵哦。然后,按你所说,这个矩阵里的每个值代表了对应经纬度的风向,但风向是矢量吧,就一个值怎么代表方向呢?追问按照海洋学公约,一般风吹向正北方为0度,正东为90度,正南为180度,正西为270度。我说的值就是0-360之间的值追答哦sorry,我没学过海洋学公约,所以还是不太明白这个360*180矩阵的含义。
因为你前面说这两个维度分别表示经度和纬度,假设b=A(30,1),他究竟表示的是什么?是表示经度30度,维度-90度这个位置的风的大小?还是方向?你要在这个经纬度上画上风的箭头,那么就要告诉我这个箭头的方向和长度,但现在只有一个值,怎么表示这两个量?追问是表示你所说位置的风向,至于箭头大小没有特别的要求。追答好,那我就随便画一个
clear;
clc;
A=rand(360,180)*360;%代表经度0~359,纬度-90~89的位置的风向,你用你自己的数据代替
[x,y] = ndgrid(0:359,-90:89);%生成经度和纬度
u=sind(A);v=cosd(A);%将方向表示为经纬坐标
a=axes;
quiver(x,y,u,v,0.25);
xlim([0,360]);ylim([-90,90]);axis equal tight;
set(a,'xtick',0:30:360,'ytick',-90:30:90);
xlabel('经度');ylabel('纬度')';
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯