作业帮 > 综合 > 作业

matlab绘制风场图如何用matlab绘制风场图,箭头的长度、颜色来表示风速的大小?能否把程序发来参考一下?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 16:18:05
matlab绘制风场图如何用matlab绘制风场图,箭头的长度、颜色来表示风速的大小?能否把程序发来参考一下?
看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('纬度')';