八、附录
附录一 程序代码
程序1 计算标准差和个指标的权重
X=[10 50 200;20 80 250;30 100 350;80 260 400];%输入矩阵X Std(X) %计算标准差
X=[10 50 200;20 80 250;30 100 350;80 260 400];%输入矩阵X B=[0.1437;0.4343;0.4220]; %输入标准差矩阵B F=X*B %计算矩阵X与矩阵B的乘积
程序2 基于高斯烟羽模拟垃圾焚烧炉浓度分布图程序代码 [x,y]=meshgrid(0:20:3000,-2000:20:2000); %设定网格
Q=(4943.7*0.422+0.4343*6448+3008.6*0.1437)*3;%三种污染物按照权重比例得到的源强
v=[1.509091 1.854545 1.614286 3.126923 3.006329 2.968421 2.924603 1.904545]%八个风向的风速 H=80+2.4*10*4./v%污染物排放的有效高度
[m,n]=size(v);%计算v的元素个数,以便设置循环次数 for k=1:n
sigy=0.11*x.*(1+0.0001*x).^(-0.5);%y方向的烟气扩散系数 sigz=0.08*x.*(1+0.0015*x).^(0.5);%z方向的烟气扩散系数 Qpi=Q./(pi*v(k).*sigy.*sigz+eps);%计算公式第一部分 ex1=exp(-0.5*(y./(sigy+eps)).^2);% 计算公式第二部分
ex2=exp(-0.5*(H(k)./(sigz+eps)).^2);%计算公式第三部分 X1(:,:,k)=Qpi.*ex1.*ex2;%计算扩散气体浓度高维数组 X2=X1(:,:,k);
b1=cos((k-1)*45); b2=-sin((k-1)*45); b3=sin((k-1)*45); b4=cos((k-1)*45);
x1=sqrt(x.^2+y.^2).*(x.*b1-y.*b2);%将坐标系的x轴进行旋转(k-1)*45度
y1=sqrt(x.^2+y.^2).*(x.*b3+y.*b4); %将坐标系的y轴进行旋转(k-1)*45度
set(gcf,'Renderer','painters')
mesh(x1,y1,X2),%画出旋转后的八个方向的浓度分布图
hold on
xlabel('x轴向距离(m)'),ylabel('y轴向距离(m)'),zlabel('气体扩散浓度'),
title('基于高斯烟羽模拟垃圾焚烧炉浓度分布图'); end
程序3
clear all; x=0:5000
Q=4943.7*3*0.422+0.4343*3*6448+3008.6*3*0.1437; %三种污染物按照权重比例得到的源强
v=[1.509091 1.854545 1.614286 3.126923 3.006329 2.968421 2.924603 1.904545] %八个风向的风速 H=80+2.4*15*4./v%污染物排放的有效高度 sigy=0.08*x.*(1+0.0001*x).^(0.5); sigz=0.06*x.*(1+0.0015*x).^(0.5);
[m,n]=size(v);%计算v的元素个数,以便设置循环次数 for k=1:n
sigy=0.11*x.*(1+0.0001*x).^(-0.5);%y方向的烟气扩散系数 sigz=0.08*x.*(1+0.0015*x).^(0.5);%z方向的烟气扩散系数 Qpi=Q./(pi*v(k).*sigy.*sigz+eps);%计算公式第一部分 ex1=exp(-0.5*(y./(sigy+eps)).^2);% 计算公式第二部分
ex2=exp(-0.5*(H(k)./(sigz+eps)).^2);%计算公式第三部分 X1(:,:,k)=Qpi.*ex1.*ex2;%计算扩散气体浓度高维数组 End
figure(i)
plot(x,X1)%画出八个风向主方向轴的污染物的浓度 switch i case 1
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉东风浓度分布图 '); case 2
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉东北风浓度分布图 '); case 3
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉东南风浓度分布图'); case 4
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉南风浓度分布图'); case 5
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉西风浓度分布图'); case 6
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉西北风浓度分布图'); case 7
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉西南风浓度分布图'); case 8
xlabel('x轴向距离 (m)'),ylabel('y轴向距离 (m)') title('?基于高斯烟羽模拟垃圾焚烧炉北风浓度分布图'); end end 程序4
Clear,clc
[S I]=quad(@fun12,0,6000)%求总的积分面积 程序5
function [y1,y2]=fun(x1,x2)
Q=(4943.7*0.422+0.4343*6448+3008.6*0.1437)*3; %三种污染物按照比例权重加权以后的权重 v=3.126923;%南风风速
H=80+2.4*15*4/v;%计算污染物扩散的有效高度
y1=Q./(pi*v*(0.11*x1.*(1+0.0001*x1).^(-0.5)).*(0.08*x1.*(1+0.0015*x1).^(0.5))+eps).*exp(-0.5*(H./((0.08*x1.*(1+0.0015*x1).^(0.5))+eps)).^2); %计算积分下限对应的浓度值
y2=Q./(pi*v*(0.11*x2.*(1+0.0001*x2).^(-0.5)).*(0.08*x2.*(1+0.0015*x2).^(0.5))+eps).*exp(-0.5*(H./((0.08*x2.*(1+0.0015*x2).^(0.5))+eps)).^2);%计算积分上限对应的浓度值 程序6
x1=1:5000; %x1的取值范围 x2=1:5000; %x2的取值范围
Q=(4943.7*0.422+0.4343*6448+3008.6*0.1437)*3; %三种污染物按照权重比例得到的源强
v=3.126923;%南风的风速
H=80+2.4*15*4/v;%污染物扩散的有效高度 for m=500:1000;%第一次循环的范围
for n=1000:2000;%第二次循环的范围 a=x1(1,m);%积分上限 b=x2(1,n);%积分下限
[S I]=quad(@fun12,a,b);%求积分的面积 s=round(S);%对积分面积四舍五入取整
y1=Q./(pi*v*(0.11*a.*(1+0.0001*a).^(-0.5)).*(0.08*a.*(1+0.0015*a).^(0.5))+eps).*exp(-0.5*(H./((0.08*a.*(1+0.0015*a).^(0.5))+eps)).^2); %计算积分上限对应的浓度值
y2=Q./(pi*v*(0.11*b.*(1+0.0001*b).^(-0.5)).*(0.08*b.*(1+0.0015*b).^(0.5))+eps).*exp(-0.5*(H./((0.08*b.*(1+0.0015*b).^(0.5))+eps)).^2); %计算积分下限对应的浓度值
if s==42&abs(y1-y2)<=0.002%筛选条件 y1%积分上限对应的浓度值 y2%积分下限对应的浓度值 a%积分上限 b%积分下限 end end end 程序7
function y=fun12(x)
Q=(4943.7*0.422+0.4343*6448+3008.6*0.1437)*3; %三种污染物按照权重比例得到的源强 v=3.126923;%南风风速
H=80+2.4*15*4/v; %计算污染物扩散的有效高度
y=Q./(pi*v*(0.11*x.*(1+0.0001*x).^(-0.5)).*(0.08*x.*(1+0.0015*x).^(0.5))+eps).*exp(-0.5*(H./((0.08*x.*(1+0.0015*x).^(0.5))+eps)).^2); %污染物扩散的浓度
程序8 计算每种污染物的方差: TSP(颗粒物) clc; clear;
d=[24.87 29.94 56.4 35.44 18.59 19.52 17.93 18 16.94 18.53 20.1 20.56 20.9 21.39 23.16 24.75 25.8 27.54 27.66 30.31 29.21 28.2 30.09 32.95 29.61 31.94 30.89 28.16]; std(d,1)%计算颗粒物浓度的标准差 ans = 7.7723
SO2
d=[30.63 64.72 124.98 77.84 37.76 39.25 35.18 34.66 31.1 33.24 35.6 37.23 37.39 35.58 36.93 39.14 41.72 47.5 48.1 51.37 40.19 36.88 42.11 49.35 47.89 50.3 41.86 30.55];
std(d,1)%计算SO2浓度的标准差 ans = 18.4434
NOx
d=[49.65 70.13 128.69 81.92 45.51 45.98 38.15 38.32 35.95 39.25 43.85 46.44 48.63 50.71 55.63 60.54 55.34 55.98 57.38 63 58.25 55.73 61.24 68.45 65.08 70.71 67.01 58.02];
std(d,1)%计算NOX浓度的标准差 ans =
相关推荐: