我的计算代码部分:
#基本上有用的计算部分我都存下来了,用matlab写计算就写了一千多行,简直就是累到心死,但是真的成长还是挺快的,以下就是基本上所有的代码了。
%17个站点的三样检测因素的平均值
c=[9.1543 8.9304 8.5054 8.6832 7.7536 7.4554 7.4911 5.5586 8.9761 6.8650 9.2911 7.1100 8.3150 7.4214 5.6982 7.9104 8.1379
2.4321 2.0964 2.8750 3.7857 2.4286 2.5750 2.0929 5.2429 2.7357 3.3393 1.9536 2.4857 4.1929 3.3250 2.3239 3.7429 3.0214
0.1829 0.3318 0.2643 0.3300 0.1604 0.2289 0.1279 0.9243 0.4304 0.8118 0.0921 0.9164 0.3857 0.1975 4.6332 0.2864 0.2871];
clc;
clear;
s1=7.5+6+5+3+2+0;
m=6;
x1=[9.1543 8.9304 8.5054 8.6832 7.7536 7.4554 7.4911 5.5586 8.9761 6.8650 9.2911 7.1100 8.3150 7.4214 5.6982 7.9104 8.1379];
w1=s1./(m.*x1) %权重矩阵
s2=2+4+6+10+15+20;
x2=[2.4321 2.0964 2.8750 3.7857 2.4286 2.5750 2.0929 5.2429 2.7357 3.3393 1.9536 2.4857 4.1929 3.3250 2.3239 3.7429 3.0214];
w2=(m*x2)./s2 %权重矩
s3=0.15+0.5+1.0+1.5+2.0+30;
x3=[0.1829 0.3318 0.2643 0.3300 0.1604 0.2289 0.1279 0.9243 0.4304 0.8118 0.0921 0.9164 0.3857 0.1975 4.6332 0.2864 0.2871];
w3=(m.*x3)./s3 %权重矩阵
%归一化处理
clc;
clear;
w=[0.4278 0.4386 0.4605 0.4511 0.5051 0.5253 0.5228 0.7046 0.4363 0.5705 0.4216 0.5509 0.4710 0.5278 0.6874 0.4951 0.4813
0.2560 0.2207 0.3026 0.3985 0.2556 0.2711 0.2203 0.5519 0.2880 0.3515 0.2056 0.2617 0.4414 0.3500 0.2446 0.3940 0.3180
0.0312 0.0566 0.0451 0.0563 0.0274 0.0391 0.0218 0.1578 0.0735 0.1386 0.0157 0.1564 0.0658 0.0337 0.7909 0.0489 0.0490];
b=sum(w);
for i=1:3
for k=1:17
w1(i,k)=w(i,k)/b(k)
end
end
%归一化处理结果
a=[0.5983 0.6127 0.5698 0.4980 0.6409 0.6287 0.6835 0.4982 0.5469 0.5379 0.6558 0.5685 0.4815 0.5790 0.3990 0.5278 0.5674
0.3580 0.3083 0.3744 0.4399 0.3243 0.3245 0.2880 0.3902 0.3610 0.3314 0.3198 0.2701 0.4512 0.3840 0.1420 0.4200 0.3749
0.0436 0.0791 0.0558 0.0621 0.0348 0.0468 0.0285 0.1116 0.0921 0.1307 0.0244 0.1614 0.0673 0.0370 0.4591 0.0521 0.0578]’;
%第1-6类水
s=[7.5 2 0.15;
6 4 0.5;
5 6 1.0;
3 10 1.5;
2 15 2.0;
0 20 30];
%DO的隶属度
clc;
clear;
x=[9.1543 8.9304 8.5054 8.6832 7.7536 7.4554 7.4911 5.5586 8.9761 6.8650 9.2911 7.1100 8.3150 7.4214 5.6982 7.9104 8.1379];
for i=1:17
if x(i)<=6
l(i,1)=0;
elseif x(i)>6 && x(i)<=7.5
l(i,1)=(x(i)-6)/1.5;
else
l(i,1)=1;
end
if x(i)>5 && x(i)<=6
l(i,2)=x(i)-5;
elseif x(i)>6 && x(i)<=7.5
l(i,2)=-(x(i)-7.5)/1.5;
else
l(i,2)=0;
end
if x(i)>3 && x(i)<=5
l(i,3)=(x(i)-3)/2;
elseif x(i)>5 && x(i)<6
l(i,3)=-(x(i)-6);
else
l(i,3)=0;
end
if x(i)>2 && x(i)<=3
l(i,4)=x(i)-2;
elseif x(i)>3 &&x(i)<=5
l(i,4)=-(x(i)-5)/2;
else
l(i,4)=0;
end
if x(i)>0 && x(i)<=2
l(i,5)=(2-x(i))/2;
elseif x(i)>2 && x(i)❤️
l(i,5)=-(x(i)-3);
else
l(i,5)=0;
end
if x(i)==0
l(i,6)=1;
elseif x(i)>0 && x(i)<=2
l(i,6)=-(x(i)-2)/2;
else
l(i,6)=1;
end
end
%COMm的隶属度
clc;
clear;
x=[2.4321 2.0964 2.8750 3.7857 2.4286 2.5750 2.0929 5.2429 2.7357 3.3393 1.9536 2.4857 4.1929 3.3250 2.3239 3.7429 3.0214];
for i=1:17
if x(i)>=0&&x(i)<2
l(i,1)=1;
elseif x(i)>=2 && x(i)<4
l(i,1)=(4-x(i))/2;
else
l(i,1)=0;
end
if x(i)>2 && x(i)<=4
l(i,2)=(x(i)-2)/2;
elseif x(i)>6 && x(i)<4
l(i,2)=(6-x(i))/2;
else
l(i,2)=0;
end
if x(i)>4 && x(i)<=6
l(i,3)=(x(i)-4)/2;
elseif x(i)>6 && x(i)<10
l(i,3)=(10-x(i));
else
l(i,3)=0;
end
if x(i)>6 && x(i)<=10
l(i,4)=(x(i)-6)/2;
elseif x(i)>10 &&x(i)<15
l(i,4)=(15-x(i))/5;
else
l(i,4)=0;
end
if x(i)>10 && x(i)<=15
l(i,5)=(x(i)-10)/2;
elseif x(i)>15 && x(i)<20
l(i,5)=(20-x(i))/5;
else
l(i,5)=0;
end
if x(i)>=20
l(i,6)=1;
elseif x(i)>15 && x(i)<20
l(i,6)=(15-x(i))/5;
else
l(i,6)=0;
end
end
%NH3-N的隶属度
clc;
clear;
x=[0.1829 0.3318 0.2643 0.3300 0.1604 0.2289 0.1279 0.9243 0.4304 0.8118 0.0921 0.9164 0.3857 0.1975 4.6332 0.2864 0.2871];
for i=1:17
if x(i)>=0&&x(i)<0.15
l(i,1)=1;
elseif x(i)>=0.15 && x(i)<0.5
l(i,1)=(0.5-x(i))/0.35;
else
l(i,1)=0;
end
if x(i)>=0.15 && x(i)<0.5
l(i,2)=(x(i)-0.15)/0.35;
elseif x(i)>0.5 && x(i)<1
l(i,2)=(1-x(i))/0.35;
else
l(i,2)=0;
end
if x(i)>0.5 && x(i)<1
l(i,3)=(x(i)-0.5)/0.5;
elseif x(i)>=1 && x(i)<1.5
l(i,3)=(1.5-x(i))/0.35;
else
l(i,3)=0;
end
if x(i)>=1 && x(i)<=1.5
l(i,4)=(x(i)-1)/0.5;
elseif x(i)>=1.5 && x(i)<2
l(i,4)=(2-x(i))/0.5;
else
l(i,4)=0;
end
if x(i)>=1.5 && x(i)<2
l(i,5)=(x(i)-0.15)/0.5;
elseif x(i)>=2 && x(i)<30
l(i,5)=(30-x(i))/28;
else
l(i,5)=0;
end
if x(i)>=30
l(i,6)=1;
elseif x(i)>2 && x(i)<30
l(i,6)=(x(i)-2)/28;
else
l(i,6)=0;
end
end
%矩阵复合
clear;
clc;
a1=[0.5983 0.3580 0.0436];
a2=[0.6127 0.3083 0.0791] ;
a3=[0.5698 0.3744 0.0558] ;
a4=[ 0.4980 0.4399 0.0621] ;
a5=[0.6409 0.3243 0.0348] ;
a6=[0.6287 0.3245 0.0468] ;
a7=[0.6835 0.2880 0.0285] ;
a8=[.4982 0.3902 0.1116] ;
a9=[0.5469 0.3610 0.0921] ;
a10=[0.5379 0.3314 0.1307] ;
a11=[0.6558 0.3198 0.0244] ;
a12=[0.5685 0.2701 0.1614] ;
a13=[0.4815 0.4512 0.0673] ;
a14=[0.5790 0.3840 0.0370] ;
a15=[0.3990 0.1420 0.4591] ;
a16=[0.5278 0.4200 0.0521] ;
a17=[0.5674 0.3749 0.0578] ;
b1=[ 1 0 0 0 0 1
0.78395 0.21605 0 0 0 0
0.906 0.094 0 0 0 0 ];
b2=[ 1 0 0 0 0 1
0.9518 0.0482 0 0 0 0
0.48057 0.51943 0 0 0 0 ];
b3=[ 1 0 0 0 0 1
0.5625 0.4375 0 0 0 0
0.67343 0.32657 0 0 0 0];
b4=[ 1 0 0 0 0 1
0.10715 0.89285 0 0 0 0
0.48571 0.51429 0 0 0 0 ];
b5=[ 1 0 0 0 0 1
0.7857 0.2143 0 0 0 0
0.97029 0.029714 0 0 0 0];
b6=[0.97027 0.029733 0 0 0 1
0.7125 0.2875 0 0 0 0
0.77457 0.22543 0 0 0 0 ];
b7=[ 0.99407 0.0059333 0 0 0 1
0.95355 0.04645 0 0 0 0
1 0 0 0 0 0 ];
b8=[0 0.5586 0.4414 0 0 1
0 0 0.62145 0 0 0
0 0.21629 0.8486 0 0 0 ];
b9=[ 1 0 0 0 0 1
0.63215 0.36785 0 0 0 0
0.19886 0.80114 0 0 0 0];
b10=[ 0.57667 0.42333 0 0 0 1
0.33035 0.66965 0 0 0 0
0 0.53771 0.6236 0 0 0 ];
b11=[ 1 0 0 0 0 1
1 0 0 0 0 0
1 0 0 0 0 0 ];
b12=[ 0.74 0.26 0 0 0 1
0.75715 0.24285 0 0 0 0
0 0.23886 0.8328 0 0 0];
b13=[1 0 0 0 0 1
0 0 0.09645 0 0 0
0.32657 0.67343 0 0 0 0];
b14=[ 0.9476 0.0524 0 0 0 1
0.3375 0.6625 0 0 0 0
0.86429 0.13571 0 0 0 0 ];
b15=[ 0 0.6982 0.3018 0 0 1
0.83805 0.16195 0 0 0 0
0 0 0 0 0.90596 0.094043 ];
b16=[ 1 0 0 0 0 1
0.12855 0.87145 0 0 0 0
0.61029 0.38971 0 0 0 0 ];
b17=[ 1 0 0 0 0 1
0.4893 0.5107 0 0 0 0
0.60829 0.39171 0 0 0 0 ];
s1=a1b1
s2=a2b2
s3=a3b3
s4=a4b4
s5=a5b5
s6=a6b6
s7=a7b7
s8=a8b8
s9=a9b9
s10=a10b10
s11=a11b11
s12=a12b12
s13=a13b13
s14=a14b14
s15=a15b15
s16=a16b16
s17=a17*b17
%最大污染量模型
clc;
clear;
A=[2646.154 12510.23 16773.85 19073.08 24807.69 28061.54 30123.08];
c=[2.4321 0.1829
2.0964 0.3318
2.8750 0.2643
3.7857 0.3300
2.4286 0.1604
2.5750 0.2289
2.0929 0.1279];
Tk=[4.2732 13.8293 25.1528 27.8905 26.4575 28.1937];
for k=1:6
for i=1:2
b(k+1,i)=((A(k+1)c(k+1,i))/exp(-0.2Tk(k)))-A(k)*c(k,i);
fprintf(’%f ',b(k+1,i));
end
fprintf('\n');
end
%最小污染量模型
clc;
clear;
A=[2646.154 12510.23 16773.85 19073.08 24807.69 28061.54 30123.08];
c=[2.4321 0.1829
2.0964 0.3318
2.8750 0.2643
3.7857 0.3300
2.4286 0.1604
2.5750 0.2289
2.0929 0.1279];
Tk=[4.2732 13.8293 25.1528 27.8905 26.4575 28.1937];
for k=1:6
for i=1:2
b(k+1,i)=A(k+1)*c(k+1,i)-A(k)*c(k,i)exp(-0.2Tk(k));
fprintf(’%f ‘,b(k+1,i));
end
fprintf(’\n’);
end
%灰色预测排污总量
clc,clear;
syms a b;
c=[a b]’;
A=[174 179 183 189 207 234 220.5 256 270 285];%1995-2004年长江污水排放量
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘排水量’)
%灰色预测后十年水文年1类水的百分比增长趋势
a=[25.8 15.3 12.2 11.5 5.2 5.6 5.9 4.4 4.7 1.2
24.7 25.6 14.6 10.3 0 9.5 2.3 3.1 8 1.1
26.7 7.0 12.2 12.3 6.5 4.8 6.7 4.7 4.1 1.2];
%1类水全流域
clc,clear;
syms a b;
c=[a b]’;
A=[25.8 15.3 12.2 11.5 5.2 5.6 5.9 4.4 4.7 1.2];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%1类水干流百分比
clc,clear;
syms a b;
c=[a b]’;
A=[24.7 25.6 14.6 10.3 0 9.5 2.3 3.1 8 1.1];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%1类水支流
clc,clear;
syms a b;
c=[a b]’;
A=[26.7 7.0 12.2 12.3 6.5 4.8 6.7 4.7 4.1 1.2];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%二类水百分比
a=[42.6 20.2 24.9 24.1 39.8 32.8 33.1 44 41.5 26.9
35.7 29.5 27.6 20.1 56.4 35.9 30.1 35.4 17.8 25.8
48.2 12.7 20.8 27.0 34.5 32.2 33.7 45.7 46 27.1];
%2类水全流域
clc,clear;
syms a b;
c=[a b]’;
A=[42.6 20.2 24.9 24.1 39.8 32.8 33.1 44 41.5 26.9];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%2类水干流
clc,clear;
syms a b;
c=[a b]’;
A=[35.7 29.5 27.6 20.1 56.4 35.9 30.1 35.4 17.8 25.8];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%2类水支流
clc,clear;
syms a b;
c=[a b]’;
A=[48.2 12.7 20.8 27.0 34.5 32.2 33.7 45.7 46 27.1];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%3类水百分比
a=[24.7 49.8 43.6 52.8 35.2 35.6 34.7 28.3 31.3 39.9
30 44.1 44.5 69.6 30.8 29.1 35.3 30.3 68 40.6
20.4 54.4 42.9 40.9 35.2 37 34.6 27.9 24.2 39.8];
%3类水全流域
clc,clear;
syms a b;
c=[a b]’;
A=[24.7 49.8 43.6 52.8 35.2 35.6 34.7 28.3 31.3 39.9];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%3类水干流
clc,clear;
syms a b;
c=[a b]’;
A=[30 44.1 44.5 69.6 30.8 29.1 35.3 30.3 68 40.6];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%3类水支流
clc,clear;
syms a b;
c=[a b]’;
A=[20.4 54.4 42.9 40.9 35.2 37 34.6 27.9 24.2 39.8];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%4类水百分比
a=[3.9 9.7 13.3 8.3 9.5 16.6 14 10.0 6.4 14.8
2.9 0 13.3 0 5.5 25.4 18.7 17.4 1.5 15.7
4.7 17.5 13.3 14.1 10.4 14.8 13 8.5 7.3 14.6];
%4类水全流域
clc,clear;
syms a b;
c=[a b]’;
A=[3.9 9.7 13.3 8.3 9.5 16.6 14 10.0 6.4 14.8];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%4类水干流
clc,clear;
syms a b;
c=[a b]’;
A=[2.9 0 13.3 0 5.5 25.4 18.7 17.4 1.5 15.7];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%4类水支流
clc,clear;
syms a b;
c=[a b]’;
A=[4.7 17.5 13.3 14.1 10.4 14.8 13 8.5 7.3 14.6];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%5类水百分比
a=[3.0 1.9 2.6 1.7 6.2 4.4 5.5 3.2 5.8 5.9
6.7 0.8 0 0 7.3 0 7.8 5.1 4.6 7.8
0 2.8 4.7 2.9 6.0 5.3 5 2.8 6.1 5.5];
%5类水全流域
clc,clear;
syms a b;
c=[a b]’;
A=[3.0 1.9 2.6 1.7 6.2 4.4 5.5 3.2 5.8 5.9];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%5类水干流
clc,clear;
syms a b;
c=[a b]’;
A=[6.7 0.8 0 0 7.3 0 7.8 5.1 4.6 7.8];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%5类水支流
clc,clear;
syms a b;
c=[a b]’;
A=[0 2.8 4.7 2.9 6.0 5.3 5 2.8 6.1 5.5];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%6类水百分比
a=[0 3.1 3.4 1.6 4.1 5.3 6.8 10.0 10.3 11.3
0 0 0 0 0 0 5.8 8.7 0 9.0
0 5.6 6.2 2.8 5.1 6.4 7 10.3 12.3 11.7];
%6类水全流域
clc,clear;
syms a b;
c=[a b]’;
A=[0 3.1 3.4 1.6 4.1 5.3 6.8 10.0 10.3 11.3];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%6类水干流域
clc,clear;
syms a b;
c=[a b]’;
A=[0 0 0 0 0 0 5.8 8.7 0 9.0];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%6类水支流域
clc,clear;
syms a b;
c=[a b]’;
A=[0 5.6 6.2 2.8 5.1 6.4 7 10.3 12.3 11.7];%1995-2004年
B=cumsum(A); % 原始数据累加
n=length(A);
for i=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(EE’)ED;
c=c’;
a=c(1);b=c(2);
% 预测后续数据
F=[];F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a(i-1))+b/a ;
end
G=[];G(1)=A(1);
for i=2:(n+10)
G(i)=F(i)-F(i-1); %得到预测出来的数据
end
t1=1995:2004;
t2=1995:2014;
G,a,b % 输出预测值,发展系数和灰色作用量
plot(t1,A,‘o’,t2,G) %原始数据与预测数据的比较
xlabel(‘年份’)
ylabel(‘百分比’)
%处理污水的量
clc;
clear;
b=[0.8676 0.60382 0.42022 0.29245 0.20352 0.14164 0.098571 0.068599 0.04774 0.033224
28.17 27.649 27.137 26.635 26.142 25.658 25.183 24.717 24.259 23.81
42.024 41.719 41.417 41.117 40.819 40.523 40.229 39.938 39.649 39.361
16.728 18.246 19.902 21.708 23.679 25.828 28.172 30.729 33.518 36.56
10.554 13.039 16.108 19.9 24.584 30.372 37.521 46.354 57.266 70.747
22.362 31.726 45.012 63.862 90.605 128.55 182.38 258.76 367.11 520.85 ];
c=[120.7056 132.9828 149.9962 173.5144 206.0325 251.0726 313.5836 400.5666 521.8497 691.3612];
for i=1:6
for j=1:10
w(i,j)=b(i,j)/c(j)
end
end
%百分之20以内排污水
clc;
clear;
n=[303.0122 322.5221 343.2881 365.3912 388.9175 413.9585 440.6118 468.9812 499.1772 531.3174];
w=[0.0072 0.0045 0.0028 0.0017 0.0010 0.0006 0.0003 0.0002 0.0001 0.0000
0.2334 0.2079 0.1809 0.1535 0.1269 0.1022 0.0803 0.0617 0.0465 0.0344
0.3482 0.3137 0.2761 0.2370 0.1981 0.1614 0.1283 0.0997 0.0760 0.0569
0.1386 0.1372 0.1327 0.1251 0.1149 0.1029 0.0898 0.0767 0.0642 0.0529
0.0874 0.0981 0.1074 0.1147 0.1193 0.1210 0.1197 0.1157 0.1097 0.1023
0.1853 0.2386 0.3001 0.3681 0.4398 0.5120 0.5816 0.6460 0.7035 0.7534];
for j=1:10
if w(4,j)+w(5,j)>0.2
k(j)=(w(4,j)+w(5,j)-0.2+w(6,j))*n(j)
else
k(j)=w(6,j)*n(j)
end
end
%未来十年内要处理污水的量
k=[64.0265 88.3388 116.7866 149.0431 184.3469 221.8404 260.4456 302.9619 351.1712 400.2945];