第八讲 Matlab在环境科学中的应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
底浓度值 x2=[3 8 32 0.005 0.01 0.01 0.01 2.0]’; S=S2;%各指标对应的河流水质预测浓度值 A=[S1, S2, S3, S4,S5,x1,x2 ]; W=[0.120 0.115 0.115 0.110 0.110 0.105 0.115 0.110 ]’; % %各指标对应的权值
a.模型建立
本规划的目的有两个,其一是使固体废物运输和处理的 总费用最小,其二是两个城市产生的所有固体废物都必须全 部处置掉。首先考虑是否采取某一种处理方式,这需要定义 一类离散变量(x1~x3)。该离散变量应取整数,即xi=1 (采取处理方式);xi=0 (不采取该处理方式)。另一类决 策变量为每个城市所焚化、投海和卫生填埋的垃圾量。定义 如下:xij为从城市i 到处理场j 所处理的固体废物量 (t·wk-1)。现把得到的最优化模型的系数如表4.11 所示 (在计算程序中, 为简便起见, 以变量名x4~x9代替xij)。
-1000 -500 -1300 1 1 1
1 1
1
≤1 ≤1
16
计算机在环境工程计算中的应用
b.应用MATLAB 求解 ► 建立m文件planning: function [z ] = planning (x) y = [3850 1150 1920 19.5 18.5 21.0 17.0 23.5 18.5 ] ; % %固体废物处理最优化模型函数 z = y * x ► 建立m文件solidwaste: function solidwaste () A = [ - 1000 0 0 1 0 0 1 0 0 ;0 - 500 0 0 1 0 0 1 0 ;0 0 - 1300 00 1 0 0 1 ;1 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 ; 0 0 1 0 0 0 0 0 0 ] ;%最优化计算中不等式 限制条件的系数矩阵
6
计算机在环境工程计算中的应用
② MATLAB在多项水质参数综合评价方面的应用
【例2】一个拟建项目的废水含挥发酚和各种无毒有机物 以及CN、As、Cd和石油类污染物,经过处理达标排入一条河 流,该河的功能为II类水体,上列污染物的本底浓度和受纳 该项目废水后的预测浓度见表4.9。该河的其它水质参数在受 纳废水后仍保持I类水质。以下分别用幂指数法、加权平均法 和向量模法对该项目废水排放前、后的河流水质作评价,并 比较三种方法的特点。
10
for i = 1 : size (A , 2) for j = 1 :n index1 (1 ,i) = index1 (1 ,i) 3 power ( I (j ,i) ,w) ; index2 (1 ,i) = index2 (1 ,i) 3 power ( I (j ,i) ,W(j) ) ; index5 (1 ,i) = power ( I (j ,i) ,2) + index5 (i) ; end index5 (1 , i) = sqrt (w 3 index5 (1 , i) ) ; end index1; % %幂指数法(等权值) index2; % %幂指数法(不等权值) index3 = sum (w * I); % %加权平均法(等权值) index4 = W ’* I; % %加权平均法(不等权值) index5; % %向量模法 index = [ index1’,index2’,index3’,index4’,index5’]’ bar (index) 注:以上index 编号次序与图1 中的水质综合指数编号一致。
2
计算机在环境工程计算中的应用
③ MATLAB的应用前景 MATLAB的功能和特点使它具备了对应用学科(特别是边缘 学科和交叉学科)的极强适应力,并很快地成为应用学科计算 机辅助分析、设计、仿真、教学乃至科技文字处理不可缺的基 础软件。在国外的高等院校里,MATLAB已经成为大学生、硕士 生、博士生必须掌握的基本技能;在设计研究单位和工业部门, MATLAB已经成为研究和解决各种具体工程问题的一种标准软件。 MATLAB广泛流行的另一个表现是,国际上许多新版的科技 书籍(特别是高校教材)在讲述其专业内容时都把MATLAB当作 基本工具使用。在我国应用MATLAB的单位和个人近年来急剧增 加,国内一些理工类重点院校已经或正在把MATLAB作为攻读学 位所必须掌握的一种软件。
3
(2)MATLAB应用实例 ① MATLAB在水资源线性规划方面的应用 【例1】水资源系统规划调度常应用系统分析方法处理, 以一个水资源分配问题为例,讨论线性规划问题。例:有甲、 乙两个水库同时给A、B、C三个城市供水,甲水库的日供水量 为28万m3/d,乙水库的日供水量为35万m3/d,三个城市的日需 水量分别为A ≥10万m3/d,B ≥15万mm3/d,C ≥20万m3/d。由 于水库与各城市的距离不等,输水方式不同,因此单位水费也
7
计算机在环境工程计算中的应用
表4.9 河流本底浓度和和项目排水后预测浓度(mg/L)
水质参数 溶解氧 BOD5 CODCr 挥发酚 本底浓度 6 3 6 0.001 预测浓度 3 8 32 0.005 水质参数 CN 总Cu 总Cd 石油类 本底浓度 0.002 0.005 0.0005 0.3 预测浓度 0.01 0.01 0.01 2.0
index=
同时生成柱状图如图4.11所示。
12
计算机在环境工程计算中的应用图4.11ຫໍສະໝຸດ 不同水质类别的综合指数值13
③ MATLAB在城市固体废物管理规划方面的应用 【例4.10】城市A和城市B的固体废物产量分别为700t/ wk和1200t/ wk。 处理厂I计划建成焚烧厂,距离城市A 15km,距离城市B 10km;处理厂计划 建成垃圾投海码头,距离城市A 5km,距离城市B 15km;卫生填埋场L 距离 城市A 30km,距离城市B 25km;固体废物的运输费用是0.5元/ t·km。每 个处理场的固定费用和可变费用及处理能力见表2。现要确定应如何规划处 置设施, 使得两城市每年总的固体废物处置费用最小。
9
n=size(A,1); w=1/n;T=30;DOf =468/(31.6+T);% %溶解氧的计算方法: index1=ones(1,size(A,2)); index2=ones(1,size(A,2)); index5= zeros(1,size(A,2)); for i=1:size (A,2) if A(1,i) ≥S(i) I(1,i)=abs(DOf-A(1,i))/(DOf-S(i)); else I(1,i)=10-9*A(1,i)/S(i); end end for j=2:n for i = 1:size(A,2) I(j,i)=A(j,i)/A(j,2); end end
1
计算机在环境工程计算中的应用
② MATLAB的运行环境 MATLAB4.0、4.1、4.2以上版本硬件要求: 基于IBM-PC的80386、80486或奔腾的各种机型;80386必 须有相应的数学协处理器; 至少4MB内存,推荐使用8MB以上; VGA以上的彩显卡; 鼠标虽非必需,但为了能在Windows下工作轻松而迅捷, 建议使用; 至少16MB的硬盘空间(不包括工具包Toolbox时)。 软件要求: S-DOS或PC-DOS3.3版以上的操作系统,以及Microsoft Windows3.x或Microsoft Windows9英文版; 当使用Notebook时,还需要MS-Word6.0或以上的中英文版。
表2 拟建固体废物处置场的费用和处理能力 处置场代号 处置方式 固定费用 (元a-1) 固定费用 (元kw-1) 可变费用 (元t-1) 处理能力 (t·wk-1)
I
O L
焚烧
投海 卫生填埋
200000
60000 100000
3850
1150 1920
12
16 6
1000
500 1300
14
计算机在环境工程计算中的应用
多项水质参数综合评价小程序: M文件:function index1() S1=[7.5 3 15 0.002 0.005 0.01 0.001 0.05]’; % %各指标对应的Ⅰ级水质标准值
8
计算机在环境工程计算中的应用
S2=[6 3 15 0.002 0.05 1 0.005 0.05]’;%各指标对应的Ⅱ级水质标准值 S3=[5 4 20 0.005 0.2 1 0.005 0.05]’;%各指标对应的Ⅲ级水质标准值 S4=[3 6 30 0.01 0.2 1.0 0.005 0.5]’;%各指标对应的Ⅳ级水质标准值 S5=[2 10 40 0.1 0.2 1.0 0.01 1.0]’;%各指标对应的Ⅴ级水质标准值 x1=[6.3 6.0.001 0.002 0.005 0.0005 0.3]’;%各指标对应的河流水质本
计算机在环境工程计算中的应用
1.MATLAB软件及其在环境工程中的应用 (1)MATLAB简介 ① MATLAB的特点与功能 MATLAB自1984年由Maths公司推向市场以来,历经十几 年的发展和竞争,现已逐步风靡世界;可靠的数值和符号运 算能力、简单易学的程序语言、强大的图形和可视化功能以 及为数众多的应用工具包(Toolbox)是MATLAB区别于其它 科技应用软件的显著特点。 a.数值和符号计算功能 b.MATLAB语言 c.图形和可视化功能 d.工具包
图4.10 供水简图
5
建立约束条件: x11 + x21 ≥ 10 x12 + x22 ≥ 15 x13 + x23 ≥ 20 x11 + x12 + x13 ≤ 28 x21 + x22 + x23 ≤ 35 x11,x12,x13,x21,x22,x23,≥0 目标函数:minZ=c11x11+c12x12+c13x13+c21x21+c22x22+c23x23 这样的问题用单纯形法求解是非常繁琐的,而MLTLAB求解是十分 简单的,只要在命令行输入: f=[0.2 0.3 0.4 0.45 0.35 0.3]; A=[-1 0 0 -1 0 0;0–1 0 0 -1 0;0 0 -1 0 0 -1;1 1 1 0 0 0;0 0 0 1 1 1]; b=[-10 -15 -20 28 35]; lb=zeros(6,1); [X,Zmin]=linprog(f,A,b,[],[],lb); 最后得出x=[10 15 0 0 0 20]万m3,Zmin=12.5万元。
不同。各单位水费分别为c11=2000元/万m3、c12=3000元/万m3、
c13=4000元/万m3、c21=4500元/万m3、c22=3500元/万m3、c23
=3000元/万m3。试作出在满足对三个城市供水的情况下,输
水费用最小的方案。
4
计算机在环境工程计算中的应用
设甲水库向三城市日供水量分别为xll、x12、x13,乙水库向 三城市日供水量分别为x2l、x22、x23。
11
计算机在环境工程计算中的应用
运行结果:
0 . 2431 0 . 2833 0 . 5464 0 . 5527 0 . 7118 1 . 0000 1 . 0000 1 . 0000 1 . 0000 1 . 0000 1 . 6069 1 . 6484 1 . 8333 1 . 8500 2 . 0933 2 . 8539 2 . 9409 3 . 8125 3 . 8000 4 . 7599 5 . 1538 5 . 2084 11 . 2500 10 . 0500 19 . 3269 0 . 2646 0 . 3830 1 . 1306 1 . 0793 2 . 1915 1 . 3715 2 . 1706 6 . 8762 6 . 3905 14 . 3710
15
表3
x1 3850 x2 1150 x3 1920
固体废物处理最优化模型系数
x4(x11) x5(x12) x6(x13) x7(x21) x8(x22) x9(x23) 19.5 1 18.5 1 21.0 1 1 1 1 17.0 23.5 18.5 =Z =700 =1200 ≤0 1 1 1 ≤0 ≤0 ≤1
a.模型建立
本规划的目的有两个,其一是使固体废物运输和处理的 总费用最小,其二是两个城市产生的所有固体废物都必须全 部处置掉。首先考虑是否采取某一种处理方式,这需要定义 一类离散变量(x1~x3)。该离散变量应取整数,即xi=1 (采取处理方式);xi=0 (不采取该处理方式)。另一类决 策变量为每个城市所焚化、投海和卫生填埋的垃圾量。定义 如下:xij为从城市i 到处理场j 所处理的固体废物量 (t·wk-1)。现把得到的最优化模型的系数如表4.11 所示 (在计算程序中, 为简便起见, 以变量名x4~x9代替xij)。
-1000 -500 -1300 1 1 1
1 1
1
≤1 ≤1
16
计算机在环境工程计算中的应用
b.应用MATLAB 求解 ► 建立m文件planning: function [z ] = planning (x) y = [3850 1150 1920 19.5 18.5 21.0 17.0 23.5 18.5 ] ; % %固体废物处理最优化模型函数 z = y * x ► 建立m文件solidwaste: function solidwaste () A = [ - 1000 0 0 1 0 0 1 0 0 ;0 - 500 0 0 1 0 0 1 0 ;0 0 - 1300 00 1 0 0 1 ;1 0 0 0 0 0 0 0 0 ;0 1 0 0 0 0 0 0 0 ; 0 0 1 0 0 0 0 0 0 ] ;%最优化计算中不等式 限制条件的系数矩阵
6
计算机在环境工程计算中的应用
② MATLAB在多项水质参数综合评价方面的应用
【例2】一个拟建项目的废水含挥发酚和各种无毒有机物 以及CN、As、Cd和石油类污染物,经过处理达标排入一条河 流,该河的功能为II类水体,上列污染物的本底浓度和受纳 该项目废水后的预测浓度见表4.9。该河的其它水质参数在受 纳废水后仍保持I类水质。以下分别用幂指数法、加权平均法 和向量模法对该项目废水排放前、后的河流水质作评价,并 比较三种方法的特点。
10
for i = 1 : size (A , 2) for j = 1 :n index1 (1 ,i) = index1 (1 ,i) 3 power ( I (j ,i) ,w) ; index2 (1 ,i) = index2 (1 ,i) 3 power ( I (j ,i) ,W(j) ) ; index5 (1 ,i) = power ( I (j ,i) ,2) + index5 (i) ; end index5 (1 , i) = sqrt (w 3 index5 (1 , i) ) ; end index1; % %幂指数法(等权值) index2; % %幂指数法(不等权值) index3 = sum (w * I); % %加权平均法(等权值) index4 = W ’* I; % %加权平均法(不等权值) index5; % %向量模法 index = [ index1’,index2’,index3’,index4’,index5’]’ bar (index) 注:以上index 编号次序与图1 中的水质综合指数编号一致。
2
计算机在环境工程计算中的应用
③ MATLAB的应用前景 MATLAB的功能和特点使它具备了对应用学科(特别是边缘 学科和交叉学科)的极强适应力,并很快地成为应用学科计算 机辅助分析、设计、仿真、教学乃至科技文字处理不可缺的基 础软件。在国外的高等院校里,MATLAB已经成为大学生、硕士 生、博士生必须掌握的基本技能;在设计研究单位和工业部门, MATLAB已经成为研究和解决各种具体工程问题的一种标准软件。 MATLAB广泛流行的另一个表现是,国际上许多新版的科技 书籍(特别是高校教材)在讲述其专业内容时都把MATLAB当作 基本工具使用。在我国应用MATLAB的单位和个人近年来急剧增 加,国内一些理工类重点院校已经或正在把MATLAB作为攻读学 位所必须掌握的一种软件。
3
(2)MATLAB应用实例 ① MATLAB在水资源线性规划方面的应用 【例1】水资源系统规划调度常应用系统分析方法处理, 以一个水资源分配问题为例,讨论线性规划问题。例:有甲、 乙两个水库同时给A、B、C三个城市供水,甲水库的日供水量 为28万m3/d,乙水库的日供水量为35万m3/d,三个城市的日需 水量分别为A ≥10万m3/d,B ≥15万mm3/d,C ≥20万m3/d。由 于水库与各城市的距离不等,输水方式不同,因此单位水费也
7
计算机在环境工程计算中的应用
表4.9 河流本底浓度和和项目排水后预测浓度(mg/L)
水质参数 溶解氧 BOD5 CODCr 挥发酚 本底浓度 6 3 6 0.001 预测浓度 3 8 32 0.005 水质参数 CN 总Cu 总Cd 石油类 本底浓度 0.002 0.005 0.0005 0.3 预测浓度 0.01 0.01 0.01 2.0
index=
同时生成柱状图如图4.11所示。
12
计算机在环境工程计算中的应用图4.11ຫໍສະໝຸດ 不同水质类别的综合指数值13
③ MATLAB在城市固体废物管理规划方面的应用 【例4.10】城市A和城市B的固体废物产量分别为700t/ wk和1200t/ wk。 处理厂I计划建成焚烧厂,距离城市A 15km,距离城市B 10km;处理厂计划 建成垃圾投海码头,距离城市A 5km,距离城市B 15km;卫生填埋场L 距离 城市A 30km,距离城市B 25km;固体废物的运输费用是0.5元/ t·km。每 个处理场的固定费用和可变费用及处理能力见表2。现要确定应如何规划处 置设施, 使得两城市每年总的固体废物处置费用最小。
9
n=size(A,1); w=1/n;T=30;DOf =468/(31.6+T);% %溶解氧的计算方法: index1=ones(1,size(A,2)); index2=ones(1,size(A,2)); index5= zeros(1,size(A,2)); for i=1:size (A,2) if A(1,i) ≥S(i) I(1,i)=abs(DOf-A(1,i))/(DOf-S(i)); else I(1,i)=10-9*A(1,i)/S(i); end end for j=2:n for i = 1:size(A,2) I(j,i)=A(j,i)/A(j,2); end end
1
计算机在环境工程计算中的应用
② MATLAB的运行环境 MATLAB4.0、4.1、4.2以上版本硬件要求: 基于IBM-PC的80386、80486或奔腾的各种机型;80386必 须有相应的数学协处理器; 至少4MB内存,推荐使用8MB以上; VGA以上的彩显卡; 鼠标虽非必需,但为了能在Windows下工作轻松而迅捷, 建议使用; 至少16MB的硬盘空间(不包括工具包Toolbox时)。 软件要求: S-DOS或PC-DOS3.3版以上的操作系统,以及Microsoft Windows3.x或Microsoft Windows9英文版; 当使用Notebook时,还需要MS-Word6.0或以上的中英文版。
表2 拟建固体废物处置场的费用和处理能力 处置场代号 处置方式 固定费用 (元a-1) 固定费用 (元kw-1) 可变费用 (元t-1) 处理能力 (t·wk-1)
I
O L
焚烧
投海 卫生填埋
200000
60000 100000
3850
1150 1920
12
16 6
1000
500 1300
14
计算机在环境工程计算中的应用
多项水质参数综合评价小程序: M文件:function index1() S1=[7.5 3 15 0.002 0.005 0.01 0.001 0.05]’; % %各指标对应的Ⅰ级水质标准值
8
计算机在环境工程计算中的应用
S2=[6 3 15 0.002 0.05 1 0.005 0.05]’;%各指标对应的Ⅱ级水质标准值 S3=[5 4 20 0.005 0.2 1 0.005 0.05]’;%各指标对应的Ⅲ级水质标准值 S4=[3 6 30 0.01 0.2 1.0 0.005 0.5]’;%各指标对应的Ⅳ级水质标准值 S5=[2 10 40 0.1 0.2 1.0 0.01 1.0]’;%各指标对应的Ⅴ级水质标准值 x1=[6.3 6.0.001 0.002 0.005 0.0005 0.3]’;%各指标对应的河流水质本
计算机在环境工程计算中的应用
1.MATLAB软件及其在环境工程中的应用 (1)MATLAB简介 ① MATLAB的特点与功能 MATLAB自1984年由Maths公司推向市场以来,历经十几 年的发展和竞争,现已逐步风靡世界;可靠的数值和符号运 算能力、简单易学的程序语言、强大的图形和可视化功能以 及为数众多的应用工具包(Toolbox)是MATLAB区别于其它 科技应用软件的显著特点。 a.数值和符号计算功能 b.MATLAB语言 c.图形和可视化功能 d.工具包
图4.10 供水简图
5
建立约束条件: x11 + x21 ≥ 10 x12 + x22 ≥ 15 x13 + x23 ≥ 20 x11 + x12 + x13 ≤ 28 x21 + x22 + x23 ≤ 35 x11,x12,x13,x21,x22,x23,≥0 目标函数:minZ=c11x11+c12x12+c13x13+c21x21+c22x22+c23x23 这样的问题用单纯形法求解是非常繁琐的,而MLTLAB求解是十分 简单的,只要在命令行输入: f=[0.2 0.3 0.4 0.45 0.35 0.3]; A=[-1 0 0 -1 0 0;0–1 0 0 -1 0;0 0 -1 0 0 -1;1 1 1 0 0 0;0 0 0 1 1 1]; b=[-10 -15 -20 28 35]; lb=zeros(6,1); [X,Zmin]=linprog(f,A,b,[],[],lb); 最后得出x=[10 15 0 0 0 20]万m3,Zmin=12.5万元。
不同。各单位水费分别为c11=2000元/万m3、c12=3000元/万m3、
c13=4000元/万m3、c21=4500元/万m3、c22=3500元/万m3、c23
=3000元/万m3。试作出在满足对三个城市供水的情况下,输
水费用最小的方案。
4
计算机在环境工程计算中的应用
设甲水库向三城市日供水量分别为xll、x12、x13,乙水库向 三城市日供水量分别为x2l、x22、x23。
11
计算机在环境工程计算中的应用
运行结果:
0 . 2431 0 . 2833 0 . 5464 0 . 5527 0 . 7118 1 . 0000 1 . 0000 1 . 0000 1 . 0000 1 . 0000 1 . 6069 1 . 6484 1 . 8333 1 . 8500 2 . 0933 2 . 8539 2 . 9409 3 . 8125 3 . 8000 4 . 7599 5 . 1538 5 . 2084 11 . 2500 10 . 0500 19 . 3269 0 . 2646 0 . 3830 1 . 1306 1 . 0793 2 . 1915 1 . 3715 2 . 1706 6 . 8762 6 . 3905 14 . 3710
15
表3
x1 3850 x2 1150 x3 1920
固体废物处理最优化模型系数
x4(x11) x5(x12) x6(x13) x7(x21) x8(x22) x9(x23) 19.5 1 18.5 1 21.0 1 1 1 1 17.0 23.5 18.5 =Z =700 =1200 ≤0 1 1 1 ≤0 ≤0 ≤1