) i+ L- [ R% d ) h0 {, L7 w8 [9 _问题分析# ?* p% S$ o7 U. j
(一)问题一分析4 W4 s: K4 X' [2 S1 c/ T
对于问题一,通过所给数据以及题目要求,可以通过一维插值的方法将散乱数据变成规则数据,再通过组网格,邻近插值等方法画出三维空间分布和二维等高线图。5 L2 I) Q# o( g
(二)问题二分析 {. m1 g# g9 V' C; R3 e3 e
对于问题二,我们可以首先对重金属和海拔进行相关性分析,通过功能区划分,并结合问题一的污染物分布分析,得到相关矩阵以及相关度,最后结合所有数据对重金属可能的主要来源以及重金属污染的主要原因进行分析。 & @+ d5 N: p- W2 m; M# A(三)问题三分析 ; @( G( o+ u* ^+ z& e7 \对于问题三,我们首先通过对数据的处理得到污染源的可能位置,然后通过建立模型,应用MATLAB进行拟合,从而更好地找到污染源的位置,得到比较满意的结果。 3 p; }: A' g1 b6 N(四)问题四分析; v7 U; S c' o) U5 G1 H) A
首先,我们对模型进行优缺点分析,然后通过查询资料以及数据收集对模型进一步优化处理,从而更好地选择模型解决问题。2 f$ d V: | k5 S
( U+ ` D! g9 {5 p" v& T7 c* n5 Q2 w+ V
2 z: h* B# t2 r, m- L( H6 R# g- G代码实现& y4 ]# I( S% u8 i3 b; Z, J
MATLAB程序代码: : Z' y; M& j0 z1 V) G问题一:3 `- R2 X J e f( r
A=xlsread(“cumcm2011A附件_数据.xlsx”,1,‘B4:E322’);%读取第一页数据7 a& `, V; ^; J$ z4 [
B=xlsread(“cumcm2011A附件_数据.xlsx”,2,‘B4:I322’);%读取第二页数据,物质浓度9 v5 W! ^6 Q$ H. P( ^
x=A(:,1);y=A(:,2);g=A(:,4);N=length(x);z1=A(:,3)9 P6 S3 f" a( s! y, o* L& B
BJ=[‘As’,‘Cd’,‘Cr’,‘Cu’,‘Hg’,‘Ni’,‘Pb’,‘Zn’];1 O2 Q9 t! i) h3 Q% e4 c: r
xi=linspace(min(x),max(x),N);%一维插值,散乱数据变规则数据 1 ?4 I" w9 f2 r& X# Xyi=linspace(min(y),max(y),N);1 M; ?. n, J6 E' I# T a% z0 m
[XI,YI]=meshgrid(xi,yi);%组网格1 y& O+ n3 q( f7 r4 E
; r, C9 P5 o9 [( J6 d. C8 f1 B
for i=1:8' Y! Z+ b8 K8 W5 x
z=B(:,i); - y; e' K/ s* Q[XI,YI,ZI]=griddata(x,y,z,XI,YI,‘cubic’);%邻近插值 " W5 o2 ~4 n: H% pfigure 9 `7 N% @: I4 K7 v8 Xmesh(XI,YI,ZI); : ^2 ?) w, N$ d7 C" P! r3 q%figure; , M5 j8 N% t; v8 A& L! z6 z7 z9 ^: Z%contour(XI,YI,ZI,40);%二维等高线图4 I, C! x1 }1 a& x7 m% g0 ]) x
title(BJ(2i-1:2i));%写出图形标题 . o1 e$ A6 l5 \end" ]- Z" w7 ^4 _ Q1 d. I6 b3 e* V, f( T
' Q1 `0 Y/ r8 O) l
F: V6 s0 e: X1 W2 E
问题二:7 ~& x' o9 |2 b) e6 {/ {( t# ]' o8 {
%clear;close all;%问题2 . |$ [8 I8 M6 a6 Z Y. j( XA=xlsread(“cumcm2011A附件_数据.xlsx”,1,‘B4:E322’);%读取第一页数据 5 @+ d6 Z& j+ Z7 U" Z+ h, a1 z: {B=xlsread(“cumcm2011A附件_数据.xlsx”,2,‘B4:I322’);%读取第二页数据,物质浓度 / v6 `+ q5 \. hx=A(:,1);y=A(:,2);g=A(:,4);N=length(x);8 C- ]! r. m k# D
BJ=[‘As’,‘Cd’,‘Cr’,‘Cu’,‘Hg’,‘Ni’,‘Pb’,‘Zn’]; . ^. }. w$ B5 S3 {xi=linspace(min(x),max(x),N);%一维插值,散乱数据变规则数据& h4 ^, M& p. J: f3 l- m/ T% C' {
yi=linspace(min(y),max(y),N);( q% y) c9 @! y: h
[XI,YI]=meshgrid(xi,yi);%组网格 ; e. b' M% H! X# n1 gfor i=1:8 ; b" O& X3 u7 H* x! R' ^z=B(:,i);. G( E) q1 u! t5 _, ]! q
[XI,YI,ZI]=griddata(x,y,z,XI,YI,‘cubic’);%邻近插值& j, l! B8 g$ h' k
%mesh(XI,YI,ZI);%三维空间分布图 : R2 x) a# {) O2 c/ h5 w% |8 ufigure;( ^5 X1 X% z' c. w5 t( k
contour(XI,YI,ZI,80);%二维等高地形图2 A) V) A. y& W4 c- W% T: F/ E# @
title(BJ(2i-1:2i));%写出图形标题 6 J6 e+ j( A, J7 J0 o4 chold on, m" ^$ L* i. ~/ }1 B! X2 b
for k=1:N %标记功能区 ( i8 o0 U8 F9 Q e. dif g(k)==1 5 w- L- J# I7 L6 M& J# qplot(x(k),y(k),‘r*’); . v& M8 j0 i! W0 J7 ?! Jelseif g(k)==28 T: r8 ?! q7 j: B
plot(x(k),y(k),‘r^’); ' C! P9 v- r \elseif g(k)==3 p% W* O0 c+ a& u6 x7 D3 g
plot(x(k),y(k),’+’); ' \, U( A+ h4 v& M8 eelseif g(k)==47 M0 Z# \. @/ t$ \
plot(x(k),y(k),‘x’); / H4 u; n( D0 v* g/ g$ belseif g(k)==5 F1 B) V4 {( m# y6 l! [8 w! `2 N
plot(x(k),y(k),‘ro’); 6 [; \0 ]; h: Z" {) D9 o# [end 3 N1 u+ o$ B2 C4 A# j* v; hend) T3 i, `4 J# v7 z0 [2 q
legend(‘等高线’,‘生活区’,‘工业区’,‘山区’,‘交通区’,‘公园’);%按绘图顺序标注5 o$ ]% V9 E* ^: d/ Q+ z
hold off* W& j- v5 d& s3 Q
end ; t5 J# Y8 d- O O7 ?: SB1=B$ k5 c0 g# G) H" e: _0 j* j/ v
for k=1:8& X5 L; B, B6 f7 p( r
a=max(B1(:,k));b=min(B1(:,k)); * b3 S7 v6 r& Z1 P7 L. wB1(:,k)=(B1(:,k)-b)/(a-b)%标准化处理 ' K$ H% p- n: u# K7 Lend 5 N) o' ~5 |5 f- o) ]( R. {R=corrcoef(B1);%相关性分析 4 v7 \( ?6 I$ _9 W, _/ s%xlswrite(‘cumcm2011A附件_数据.xlsx’,R,4); ! ~* `2 e# Z2 ^# T问题三: 7 M9 Y+ }) O! ]. U, G5 ~A=xlsread(“cumcm2011A附件_数据.xlsx”,1,‘B4:E322’);%读取第一页数据 $ K! _: T! r+ J8 g% s3 R# m$ m5 bB=xlsread(“cumcm2011A附件_数据.xlsx”,2,‘B4:I322’);%读取第二页数据,物质浓度( Q: J9 a7 N2 D
x=A(:,1);y=A(:,2);g=A(:,4);N=length(x);z1=A(:,3)% U* f) b. j+ K7 w
BJ=[‘As’,‘Cd’,‘Cr’,‘Cu’,‘Hg’,‘Ni’,‘Pb’,‘Zn’];' A4 l, r: l" t" k4 V
xi=linspace(min(x),max(x),N);%一维插值,散乱数据变规则数据 . c$ u& Z: C, Y7 D9 N, lyi=linspace(min(y),max(y),N);( E+ s% D" ?1 Y p0 V. i3 u
[XI,YI]=meshgrid(xi,yi);%组网格 : J2 X: n0 U: Q+ t5 }5 N- Z2 t1 d' X5 z
: g( a) C: k: {* kfor i=1% T3 T1 {7 W' b9 j: y
z=B(:,i);3 S$ H" r! g1 R8 h2 x
[XI,YI,ZI]=griddata(x,y,z,XI,YI,‘cubic’);%邻近插值 ) m+ N+ d. h* L- Z7 o. B! x `%figure" n T. d5 S/ Y5 _
%mesh(XI,YI,ZI);7 S. _8 z5 |9 C* |5 C
figure; # v" B' E: l6 F- \) v' tcontour(XI,YI,ZI,40);%二维等高线图- {5 y% R- o, F x" f
title(BJ(2i-1:2i));%写出图形标题 ' q9 U* c9 W% E# M% thold on) X" k. H$ {) H
( L% [; w$ _4 r( E. b( t8 E6 G, c
7 U1 }! d3 r- t7 y3 N
[px,py]=gradient(ZI,.2,.2);%计算梯度向量, ^/ n. S1 z0 t K
quiver(xi,yi,px,py);%绘制梯度 , u1 b! W- n7 G/ \: x! Z6 r+ f9 A. A) d* Y- Q3 W0 z
' o4 U% g( a wfor k=1:N %标记功能区* _& i' n9 _, O7 `7 n% u
if g(k)==1$ `! H' v% i. Q' v% L2 D
plot(x(k),y(k),'*');# \: Z3 P5 }! O5 ~
elseif g(k)==2- U. d; ~# d$ I. \8 A8 V2 j. T2 }
plot(x(k),y(k),'r^');. r" C3 m7 y! r/ Z% \* o
elseif g(k)==3, f$ a3 X4 J: F# u$ X
plot(x(k),y(k),'+');6 p; g; I6 }6 g( t, T% S
elseif g(k)==4 7 @3 [ ` Z' s4 V4 }$ ~% g plot(x(k),y(k),'x'); 0 J4 C3 m- t! P7 \# ? elseif g(k)==5/ S# O5 n% I" U$ i6 D
plot(x(k),y(k),'ro');1 q$ @0 H& I* O! q e6 q
end: J% l& D0 M- q8 Q9 o1 Q
end ! J3 a& g4 L$ c% c' \' v1 # a4 m5 L: P7 T4 I1 \* l28 X$ D1 C/ U2 B2 n k/ p- B+ d
3* v3 a' g1 h- k5 F& [6 E
46 i$ L4 Y. `# R# p. H& n, M
5 ( f% C4 A& y% ]+ t" o" q: N6 % Z x* a: _4 B$ O- `7 v6 {75 A- ]- G4 k+ A. g* }
8 , `$ p3 {2 E# D9 ) A& x- S9 [5 P# T! K+ Z1 a: P4 Q- G10 . U* B: M% C$ @11 2 j( o* d" M2 J6 p5 F2 O12 ; p$ D9 z8 a5 C9 m2 D13( l3 b0 @* `3 g' S2 k% s I; Y' X
14 & k7 `" Y1 V* a: `, b, B15 # s2 `! k. b1 W0 Z16/ c6 M$ X2 }' k+ s4 f/ P5 N
legend(‘等高线’,‘梯度向量’,‘生活区’,‘工业区’,‘山区’,‘交通区’,‘公园’);%按绘图顺序标注, `6 r( X1 w7 B3 k" g5 @' A
hold off/ V) K5 w. Q1 d( G$ s" V, `+ R. P
[x0,y0]=ginput(3);%用鼠标获取污染中心的位置 # q3 p9 R" m! ?/ N) P[x0,y0] $ r- @3 o# t E+ o; lfigure;- `+ _7 }, H+ O* W* \- F- f
plot(x0,y0,‘ro’,‘LineWidth’,1.5); z9 k) }9 S( r2 W7 ?# q& ]8 ^hold on . v6 y* V- b7 ]7 m# \. ^3 m+ ^; ~[XI,YI,ZI]=griddata(x,y,z1,XI,YI,‘cubic’);%邻近插值 9 d; Q) S9 B9 ]( W, W5 Ycontour(XI,YI,ZI,50); ) C1 J% f$ E9 }% h* a4 z) h. h6 u) {: B7 {3 v! a& ^
2 @ J3 Y7 n! d
模型建立与求解& y8 _1 Q9 |9 h2 V# F
(一)问题一的求解; r ~& Z5 Y% O9 _1 t T9 w
用MATLAB软件对所给数据进行插值拟合得出调查区的地形图和八种重金属元素在该区域的空间分布图,再用MATLAB软件对所给的数据进行分析,具体情况如下:, _: D0 s( F* C