设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('气体扩散浓度'),
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)