怎么用MATLAB画出风向图与风速图

怎么用MATLAB画出风向图与风速图,第1张

怎腔棚么用MATLAB画出风向图与风速

设t和r分别代表风向(弧度或陵)和风速

那么u=r*cos(t),v=r*sin(t),然后就衫圆戚可以用quiver画了

检查了下面一段程序。这含游仿个if语句最后应有一个end。还有磨枣其它几个地方。见下面的注释。只要你有耐心,你本也应该检查的出来。

for i=1:17

if bhy(i)>=0

if bhx(i)>=0

d(i)=ct(i)+pi

else

d(i)=ct(i)+pi

end

else

if bhx(i)>=0

d(i)=ct(i)+2.*pi

else

d(i)=ct(i)

end

end%这里加了一个end。

end

v=sqrt(bhx.^2+hby.^2)./60;%hby应是bhy

figure

subplot(1,2,1)

plot(v,hm,'-*') %v里的元素数谈纤目是17.hm里的元素数目是否多于17?

对于xy范围的问题,看你怎么理解你设立的坐标体系,如果x有正有负,则正表示顺风距离,负表示逆转风向的顺风距离,根据你的这个公式绝不会计算出逆风向气体浓度,就搭樱吵是说,你站在上风口,烟囱在你的下风口,你站的这里的气体扩散浓度是算不出来,因为这个公式就是这么设计的,你知侍必须在下风口才能计算出浓度,这是公式的原本的设计,不管你如何编程都不可能得到它数学上都没有的结果。下面是遵颂银照您的指示的程序和图,在我看来只算x取正的那部分就行了,另一半负的虽然和正的部分有一点偏差(极大值(x:-270y:0z:0.03146)和极大值(x:270y:0z:0.03232)z只相差0.00086),但基本是对称的。

clear all

[x,y]=meshgrid(-3000:30:3000,-3000:30:3000)%设定网格,下风向排放点距离x米,烟气中心轴水平距离y米

Q=2600%源强,释放速度

u=2.7%风速

H=80

sigy=0.22*x./(sqrt(1+0.0001*x)+eps)%水平扩散系数

sigz=0.2*x%垂直扩散系数

Qpi=Q./(pi*u*sigy.*sigz+eps)%计算公式第一部分

ex1=exp(-0.5*(y./(sigy+eps)).^2)%计算公式第二部分

ex2=exp(-0.5*(H./(sigz+eps)).^2)%计算公式第三部分

C=Qpi.*ex1.*ex2%计算扩散气体浓度

mesh(x,y,C)

xlabel('x轴下风向距离(m)'),ylabel('y轴向距离(m)'),zlabel('气体扩散浓度'),


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12487807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存