数学建模论文研讨.docx
《数学建模论文研讨.docx》由会员分享,可在线阅读,更多相关《数学建模论文研讨.docx(12页珍藏版)》请在冰豆网上搜索。
数学建模论文研讨
1.模型建立的思路与方法分析
问题一的分析,第一步将污染等级量化;第二步将所有观测点的原始矩阵转化为量化矩阵并且通过归一化得到权重矩阵;第三步建立逼近理想解的排序模型,此过程涉及矩阵的规范化,以及利用逼近理想解得到每一个观测点每个月的评价值;第四步便是利用灰色关联分析法求解关联度从而得到各观测点的综合评价值。
本问题主要涉及了TOPSIS模型并且利用灰色关联分析法以及归一化的方法。
问题二的分析,通过分析段尾的污染量等于段首的污染量加上段中的排放量我们可以列出一个关系式。
利用模型准备的方程可以求得每段内排污点的排污量然后将这些月份的排放总量进行比较得到排污情况的分布。
问题三的分析,该问要求对未来十年的污染情况作出预测,通过已知的数据分析看出数据整体呈现波动性上升的趋势,所以就将变化利用能更好反映波动性的AR模型以及能更好刻画上升趋势的灰色模型组合起来进行预测。
问题四的分析,该问题要求在满足一定的条件下求出应该处理掉的污水量。
文中首先假设污水的百分比与污水排放量以及水流总量之间存在线性关系,在满足约束条件的基础下求出最大废水排放量。
然后通过灰色模型对未来十年的污水进行性预测减去最大污水排放量就得到需要处理的污水量了。
问题五的分析,该问题建立在前面对污水情况的评价以及预测之上,透过污染情况号召大家要为污水处理尽自己最大的努力,并且相应的给出一些措施。
2.模型的值得借鉴之处
(1)模型运用的方法比较广泛,并且基本上都比较合理,尤其是在第三问模型预测时考虑到模型的变化趋势利用小波分析的方法利用灰色-AR模型进行预测似的模型的预测更加准确。
(2)模型刻画合理清晰,例如在将污染指标量化处理时考虑到污染与非污染之间的突变利用s模型刻画不同污染情况的量化指标。
加的权值符合实际能够较好的反映出实际的情况。
(3)问题处理从简化,例如将以为水质模型忽略次要保留主要从而方便后面的求解。
(4)运用守恒化思想。
3.模型存在的一些问题
(1)在问题三利用AR(5)求解时没有对模型进行检验并且作者的数据与所求的数据有出入,第二问数据也不太合理。
(2)在求权重的时候,可以不必使用归一化,例如某月某地的三种污染源在量化后均为0.05。
则归一化后比重变为1/3,而同样如果三种污染源的量化结果分别为0.05,0.12.0.25,则很明显归一化后0,05的比重减小,同样的污染情况导致权重不一样所以说归一化是不合理的。
(3)缺乏检验在第三问时确定AR阶数时缺少残差检验,第四问在二元线性回归模型建立时也没有模型误差检验。
4.模型的求解结果与程序
4.1问题一程序与结果:
程序得到量化矩阵
m=zeros(1,6);
fori=1:
6
m(i)=0.35*(i-3.48).^(1/3)+0.52;
end
m=zeros(1,6);
fori=1:
6
m(i)=0.35*(i-3.48)^(1/3)+0.52;
end
b=zeros(476,4);
forj=2:
4
fori=1:
476
ifj==2
ifa(i,j)>=7.5
b(i,j)=0.05;
end
if(a(i,j)>=6)&(a(i,j)<7.5)
b(i,j)=0.12;
end
if(a(i,j)>=5)&(a(i,j)<6)
b(i,j)=0.25;
end
if(a(i,j)>=3)&(a(i,j)<5)
b(i,j)=0.8;
end
if(a(i,j)>=2)&(a(i,j)<3)
b(i,j)=0.92;
end
if(a(i,j)>=0)&(a(i,j)<2)
b(i,j)=1;
end
end
ifj==3
ifa(i,j)<=2
b(i,j)=0.05;
end
if(a(i,j)>2)&(a(i,j)<=4)
b(i,j)=0.12;
end
if(a(i,j)>4)&(a(i,j)<=6)
b(i,j)=0.25;
end
if(a(i,j)>6)&(a(i,j)<=10)
b(i,j)=0.8;
end
if(a(i,j)>10)&(a(i,j)<=15)
b(i,j)=0.92;
end
ifa(i,j)>15
b(i,j)=1;
end
end
ifj==4
ifa(i,j)<=0.15
b(i,j)=0.05;
end
if(a(i,j)>0.15)&(a(i,j)<=0.5)
b(i,j)=0.12;
if(a(i,j)>0.5)&(a(i,j)<=1)
b(i,j)=0.25;
end
if(a(i,j)>1)&(a(i,j)<=1.5)
b(i,j)=0.8;
end
if(a(i,j)>1.5)&(a(i,j)<=2)
b(i,j)=0.92;
end
ifa(i,j)>2
b(i,j)=1;
end
end
end
End
得到归一化矩阵
d=zeros(476,4);
fori=1:
476
forj=1:
4
d(i,j)=c(i,j)/(c(i,2)+c(i,3)+c(i,4));
end
End
得到一致化矩阵
s=zeros(476,4);
fori=1:
476
forj=1:
4
s(i,j)=c(i,j)/(c(i,2)+c(i,3)+c(i,4));
end
end
B=zeros(476,4);
B(:
1)=abs(a(:
1)-7.5);
B(:
2)=1./a(:
2);
B(:
3)=a(:
3);
B(:
4)=a(:
4);
B
得到综合评价指标
f=zeros(476,4);
g=zeros(476,4);
forj=1:
4
fort=1:
28
f((17*(t-1)+1):
17*t,j)=max(z((17*(t-1)+1):
17*t,j));
g((17*(t-1)+1):
17*t,j)=min(z((17*(t-1)+1):
17*t,j));
end
end
h=zeros(476,4);
k=zeros(476,4);
fori=1:
476
forj=1:
4
h(i,j)=z(i,j)-f(i,j);
k(i,j)=z(i,j)-g(i,j);
end
end
l=zeros(476,1);
m=zeros(476,1);
n=zeros(476,1);
fori=1:
476
l(i,1)=sqrt(h(i,1)^2+h(i,2)^2+h(i,3)^2+h(i,4)^2);
m(i,1)=sqrt(k(i,1)^2+k(i,2)^2+k(i,3)^2+k(i,4)^2);
n(i,1)=m(i,1)./(l(i,1)+m(i,1));
end
对所有数据进行排序
s=zeros(28,17);u=zeros(28,17);
fori=1:
28
s(i,:
)=sort(r(i,:
));
end
fori=1:
28
forj=1:
17
fort=1:
17
ifr(i,t)==s(i,j)
u(i,t)=j;
end
end
end
end
求解关联度以及相应的排名
q=zeros(28,1);
fori=1:
28
q(i,1)=min(K(i,:
));
end
p=zeros(28,17);
fori=1:
28
forj=1:
17
p(i,j)=K(i,j)-q(i,1)';
end
end
>>
x=min(min(p));
y=max(max(p));
z=(x+0.5*y)./(p+0.5*y);
z1=mean(z)*1000;
z2=sort(z1);
z3=zeros(1,17);
fori=1:
17
forj=1:
17
ifz2(1,i)==z1(1,j)
z3(1,j)=18-i;
end
end
End
>>
表一第一问最终结果
观测点
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
评价值
804
845
777.6
657
799.8
764.6
750.7
543
783.3
665.1
924
660.3
629.1
701.9
422.8
693.8
723.9
排名
3
2
6
14
4
7
8
16
5
12
1
13
15
10
17
11
9
4.2问题二结果与程序:
提取出七个城市的高锰酸钾以及氨氮的水质含量,结合水流的速度以及水流量,通过所给的关系式。
通过编程得到每个河段的两种污染物的量为
fori=1:
13
forj=1:
6
B1(i,j)=60*60*24*30*0.5*(a(i,j+1)+a(i,j))*(b1(i,j+1)-b2(i,j)*exp(-(0.4/(24*60*60))*c(1,j)/(d(i,j+1)+d(i,j))))*exp(-(0.2/(24*60*60))*lI(1,j)/(d(i,j+1)+d(i,j)))/l(1,j);
B2(i,j)=60*60*24*30*0.5*(a(i,j+1)+a(i,j))*(b1(i,j+1)-b2(i,j)*exp(-(0.4/(24*60*60))*c(1,j)/(d(i,j+1)+d(i,j))))*exp(-(0.2/(24*60*60))*lI(1,j)/(d(i,j+1)+d(i,j)))/l(1,j);
end
end
表二问题二的结果
1
2
3
4
5
6
高锰酸钾
187988.1
660732.4
2212211
679460.9
1697576
1338601
氮氨
29228.02
66364.59
211735.4
65357.65
105127.1
9289.15
可以看出高锰酸盐第三和第五河段都很高,氮氨在第三河段很高。
4.3问题三结果与程序:
通过对图像分析看出利用灰色-AR模型进行预测程序为:
灰色模型+AR5
function[z,G]=Untitled(A)
symsab;
B=cumsum(A);
n=length(A);
fori=1:
(n-1)
C(i)=(B(i)+B(i+1))/2;
end
D=A;
D
(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c
(1);
b=c
(2);
F=[];
F
(1)=A
(1);
fori=2:
(n+10)
F(i)=(A
(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];
G
(1)=A
(1);
fori=2:
(n+10)
G(i)=F(i)-F(i-1);
end
g=G(1:
10);
X1=(A-g)';
a3=lpc(X1,5);
a33=zeros(1,5);
a33(1,1)=-a3(1,6);
a33(1,2)=-a3(1,5);
a33(1,3)=-a3(1,4);
a33(1,4)=-a3(1,3);
a33(1,5)=-a3(1,2);
Q3=zeros(1,10);
xx3=X1(6:
10);
fori=1:
10
Q3(1,i)=a33*xx3;
forj=1:
4
xx3(j,1)=xx3(j+1,1);
end
xx3(5,1)=Q3(1,i);
end
x=X1';
y=[x,Q3];
z=y+G;
得到数据为
表三问题三最终结果
水期
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
全流域
枯水期
32.3668
37.8718
38.9702
39.0279
41.6559
44.7399
48.0699
50.4504
52.1921
55.3633
丰水期
36.5769
44.4156
49.8015
53.8274
62.3767
70.9957
79.0179
89.5322
102.2664
114.8954
水文年
33.9702
35.2142
36.6776
40.5386
44.9544
49.5208
53.0595
56.9162
61.9076
67.8691
干流域
枯水期
52.6092
62.8193
76.0193
88.5514
103.2063
122.0364
145.6758
173.485
206.0859
244.2333
丰水期
48.9607
67.9665
84.4229
98.8463
117.1299
144.3202
181.9562
228.3328
282.2818
345.8826
水文年
35.7509
47.0665
51.8035
54.327
63.1514
74.6873
89.0904
103.8686
119.3279
137.4235
支流域
枯水期
26.8996
27.1372
28.2547
26.987
28.3326
27.5739
27.2632
27.3769
26.9771
27.1802
丰水期
32.0207
35.7254
37.0309
35.6429
39.577
43.9442
45.6447
48.1958
52.4391
54.6853
水文年
28.8654
25.8941
29.4765
32.2765
30.1807
29.9946
33.4566
34.7147
33.4119
34.3593
4.4问题四结果与程序:
利用函数线性拟合可以得到方程如下
x1=[174129183189207234220.5256270285];
x2=[920595139171.2613127951399248892.81021099809405];
y1=[4.27.76.76.110.611.913.716.317.917.1];
[b1,bint,r,rint,stats]=regress(y1',[ones(10,1),x1',x2']);
b1
b1=
0.0900
-0.0006
>>x1=[174129183189207234220.5256270285];
x2=[920595139171.2613127951399248892.81021099809405];
y2=[6.917.232.714.32326.828.732.427.532.2];
[b2,bint,r,rint,stats]=regress(y2',[ones(10,1),x1',x2']);
b2
b2=
0.1162
-0.0020
P1=0.09m-5.936p2=0.12m-19.788求出极限值为128.5亿吨
A=[174129183189207234220.5256270285];
symsab;
B=cumsum(A);
n=length(A);
fori=1:
(n-1)
C(i)=(B(i)+B(i+1))/2;
end
D=A;
D
(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c
(1);
b=c
(2);
F=[];
F
(1)=A
(1);
fori=2:
(n+10)
F(i)=(A
(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];
G
(1)=A
(1);
fori=2:
(n+10)
G(i)=F(i)-F(i-1);
end
预测数据为{315.7340.7367.8397.1428.7462.7499.6539.3582.2628.5};
应该处理的污水量需要处理的污水量{187.2212.2233.3262.7293.7429.6469.2512.2558.8}