用Matlab作三维图谢谢!

发布时间:2021-02-25 09:44:54

用Matlab作三维图谢谢!

网友回答

clear all;
[x,y]=meshgrid(0:50:25000,-2000:50:2000); %设定网格,下风向排放点距离x米,烟气中心轴水平距离y米
Q=30;%源强,释放速度
gam1=0.110726;gam2=0.104534;
alp1=0.929418;alp2=0.826212;
gam3=0.146669;gam4=0.400167;
alp3=0.888723;alp4=0.632023;
 
sigy=gam1*x.^alp1.*(x>=0&x<=1000)+gam3*x.^alp3.*(x>1000);%水平扩散系数
sigz=gam2*x.^alp2.*(x>=0&x<=1000)+gam4*x.^alp4.*(x>1000);%垂直扩散系数
u=3.24;%风速
He=183.51;
z=0;%高度
 
Qpi=2*Q./(2*pi*u.*sigy.*sigz+eps);%计算公式第一部分
ex1=exp(-0.5*(y./(sigy+eps)).^2);%计算公式第二部分
ex2=exp(-0.5*((z-He)./(sigz+eps)).^2)+exp(-0.5*((z+He)./(sigz+eps)).^2);%计算公式第三部分
C=Qpi.*ex1.*ex2;%计算扩散气体浓度
 
mesh(x,y,C);
xlabel('x轴下风向距离(m)'),ylabel('y轴向距离(m)'),zlabel('气体扩散浓度'),
[Cmax,I]=max(C(:));%计算c的最大值(Cmax),并得到下标
xmax=x(I);%利用下标得到x的最大值(xmax)
 
以上问题属网友观点,不代表本站立场,仅供参考!