水文随机分析小论文_第1页
水文随机分析小论文_第2页
水文随机分析小论文_第3页
水文随机分析小论文_第4页
水文随机分析小论文_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、水文时间序列的组成分析 水文时间序列的组成分析水文时间序列是指某种水文特征值随时间而变的一系列观测值,一般包括非周期,周期,随机成分。非周期一般又包括趋势、突变、跳跃,周期包括简单和复合周期成分。一、 趋势分析趋势是指一个时间序列,随着时间的增长,呈现出系统而连续地增加或减少的变化。水文观测值是某一地区一定时期内气候、自然地理、人类活动等综合作用的产物。随着时间的推移,观测值系列愈来愈长,很容易引起人们对长系列水文要素是否有趋势性变化的关注。例如气温过程的缓慢逐年变冷或变暖的趋势或降水过程的缓慢逐年变小或变多的趋势等。如果通过分析发现有关某种趋势变化,可进一步分析产生这种变化的原因,引起人们的

2、警惕。可见水文时间序列的趋势性分析在应对当今全球气候变暖,分析降水或径流的变化趋势,预测未来可能出现的大洪水或枯水等方面显得尤为重要。本文的趋势检验采用的是Kendell秩相关检验法对昌马堡、党城湾、札马什克三个站的资料进行趋势检验。二、 跳跃性检验跳跃式水文系列急剧变化的一种形式。跳跃一般是由于人为或天然原因造成的,比如修筑水库前的坝下最大流量序列与修建水库后经过水库调节后的年最大流量序列,就是人为引起的跳跃,修剪后均值和方差变小。又以为修建水库后水面积增加,增发增加,可能引起下游年径流量均值的跳跃。由于没有其他参证资料,本文把资料平均分成前后两个系列,检验两个系列是否具有跳跃性。跳跃的检验

3、方法主要时序累计值曲线法和分布一致性检验,分布一致性检验邮费为秩和检验法和游程检验法。本文采用秩和检验法对昌马堡、党城湾、札马什克三个站的资料进行跳跃性检验。三、 周期性检验周期是指水文序列规律的循环运动。周期的成因一般有地球绕太阳公转,比如月径流、旬径流、日平均流量周期分别为12个月、36旬、365天;地球自转,比如气温和蒸发量存在24小时周期。周期还有可能跟月球绕地球旋转和太阳黑子运动等有关。本文主要采用简单分波法对昌马堡、党城湾、札马什克三个站的资料进行第一、第二周期检验。四、 检验结果1、 昌马堡的检验结果(1)昌马堡的趋势检验结果序号1234567891011121314Xt31.8

4、23.724.413.121.334.324.822.725.323.82531.722.531.3P630263833324282224226246序号1516171819202122232425262728Xt28.120.123.927.633.144.220.726.726.318.932.225.927.123P7241983019991728512序号2930313233343536373839404142Xt39.231.815.123.825.42725.525.735.822.328.425.926.828P011198365040210经计算得 P=484 n=42 t=0

5、.124 var(t)=0.01148U=1.1596<U0.025=1.96 所以昌马堡序列没有趋势(2)昌马堡跳跃检验结果Xt13.115.118.920.120.721.322.322.522.72323.723.823.823.9Wi1234567891011131314Xt24.424.82525.325.425.525.725.925.926.326.726.82727.1Wi1516171819202123232425262728Xt27.62828.128.431.331.731.831.832.233.134.335.839.244.2Wi293031323334363

6、6373839404142取 n1=n2=21计算得 Wi=419 |U|=0.81756<1.96 昌马堡序列没有跳跃(3)昌马堡周期检验结果周期234567891011F0.0860.4290.5480.8790.861.6520.6861.3141.1640.754周期12131415161718192021F0.9750.7461.9810.830.3851.5120.9931.2081.1630.713经计算得 昌马堡序列没有周期2、 党城湾计算结果(1) 党城湾趋势检验结果序号123456789101112131415Xt9.639.68.879.4610.310.510.5

7、9.719.398.99.0510.710.711.510P23232723191717191920191313815序号161718192021222324252627282930Xt10.311.611.412.211.210.713.113.512.211.314.211.513.414.810.7P1478588423412100经计算得 P=342 n=30 t=0.572 var(t)=0.01166U=4.442 > U0.025=1.96 所以党城湾序列有明显上升趋势(2) 党城湾跳跃检验结果Xt8.878.99.059.399.469.69.639.711010.310

8、.310.510.510.710.7Wi123456789111113131717Xt10.710.711.211.311.411.511.511.612.212.213.113.413.514.214.8Wi171718192022222325252627282930取 n1=n2=15计算得 Wi=138 |U|=3.9197>1.96 党城湾序列有跳跃(3) 党城湾周期检验结果周期23456F0.1050.9360.0880.4980.62周期7891011F0.2740.4830.3810.3490.158经计算得 党城湾序列没有周期3、 札马什克检验结果(1) 札马什克趋势检验

9、结果序号12345678910111213Xt25.433.222.521.819.324.225.92323.624.920.320.817.5P6017212862754181725序号14151617181920212223242526Xt22.625.916.719.723.222.322.92217.819.125.921.227P102231639391714291序号27282930313233343536373839Xt22.719.922.72222.932.722.618.719.519.522.718.322.2P2725101422010经计算得 P=301 n=39t

10、=-0.1876 var(t)=0.01245U=-1.6815>U-0.025=-1.96 札马什克站没有趋势(2) 札马什克跳跃检验结果Xt16.717.517.818.318.719.119.319.519.519.719.920.320.8Wi12345679910111213Xt21.221.8222222.222.322.522.622.622.722.722.722.9Wi14151717181920222225252527Xt22.92323.223.624.224.925.425.925.925.92732.733.2Wi272829303132333636363738

11、39取 n1=18 n2=19计算得 Wi=415 |U|=0.9834<1.96 札马什克没有跳跃(3) 札马什克周期检验结果第一周期分析周期2345678910F0.6310.9250.3011.1252.960.2071.2540.6480.719周期111213141516171819F1.3641.2541.0970.5491.1780.5171.6041.1170.78经分析第一周期为6 此时的F=2.96>F005(5,33)=2.503 第二周期分析周期2345678910F000.0851.85200.4391.490.5480.907周期111213141516

12、171819F1.8420.1061.240.8981.3770.5841.1930.3880.703经分析不存在第二周期五、 程序代码1、趋势检验(Kendell秩次相关检验)程序Private Sub Command2_Click() '趋势检验Dim nn As Integer, a() As Single, p() As Integer, U As Single, t As Single, var As Single, pp As Singlei = 1Open "F:水文随机分析水文序列检验党城湾.txt" For Input As #1Do While

13、Not EOF(1) ReDim Preserve a(i) As Single Input #1, a(i) i = i + 1LoopClose #1nn = i - 1ReDim Preserve p(nn) As IntegerFor i = 1 To nn p(i) = 0 For j = i + 1 To nn If a(j) > a(i) Then p(i) = p(i) + 1 Next jNext ipp = 0For i = 1 To nn pp = pp + p(i)Next it = 4 * pp / nn / (nn - 1) - 1var = 2 * (2 *

14、 nn + 5) / 9 / nn / (nn - 1)U = t / Sqr(var)With TChart1 .Series(0).Clear .Series(1).ClearFor i = 1 To nn .Series(0).Add a(i), i, clTeeColor .Series(1).Add a(i), i, clTeeColorNext iEnd WithIf Abs(U) < 1.96 Then Text1.Text = "原序列没有趋势"Else Text1.Text = "原序列有上升趋势"End IfOpen "

15、;F:水文随机分析水文序列检验党城湾趋势检验结果.txt" For Append As #1For i = 1 To nn Print #1, i, a(i), p(i)Next i Print #1, "U=" U; "t=" t; "var=" var; "pp=" ppClose #1End Sub2、跳跃性检验(秩和检验)程序Private Sub Command1_Click() '跳跃检验Dim nn As Integer, n1 As Integer, n2 As Integer,

16、a() As Single, b() As Single, r() As SingleDim temp As Single, W As Single, U As Singlei = 1Open "F:水文随机分析水文序列检验党城湾.txt" For Input As #1Do While Not EOF(1) ReDim Preserve a(i) As Single, b(i) As Single Input #1, a(i) b(i) = a(i) i = i + 1LoopClose #1nn = i - 1n1 = nn 2n2 = nn - n1ReDim Pre

17、serve r(nn) As SingleFor i = 1 To nn - 1 For j = i + 1 To nn If b(i) > b(j) Then temp = b(i) b(i) = b(j) b(j) = temp End If Next jNext i For i = 1 To nn For j = 1 To nn If a(i) = b(j) Then r(i) = j End If Next jNext iW = 0For i = 1 To n1 W = r(i) + WNext iU = (W - n1 * (n1 + n2 + 1) / 2) / Sqr(n1

18、 * n2 * (n1 + n2 + 1) / 12)If Abs(U) < 1.96 Then Text2.Text = "原序列没有跳跃"Else Text2.Text = "原序列有跳跃"End IfOpen "F:水文随机分析水文序列检验党城湾跳跃检验结果.txt" For Append As #2For i = 1 To nn Print #2, i, a(i), r(i), b(i)Next i Print #2, "U=" U; "W=" WClose #2End Sub3、

19、周期检验(简单分波法)程序(1)读入数据Private Sub Command3_Click() '周期分析读数据sum = 0: fc = 0i = 1Open "F:水文随机分析水文序列检验党城湾.txt" For Input As #1Do While Not EOF(1) ReDim Preserve s(i) As Single Input #1, s(i) i = i + 1LoopClose #1n = i - 1ReDim q(n)ReDim k(n)For i = 1 To n sum = s(i) + sumNextx = sum / nFor

20、i = 1 To n q(i) = (s(i) - x) 2 fc = q(i) + fc k(i) = s(i) / xNextIf Int(n / 2) < (n / 2) Then l = (n - 1) / 2 Else l = n / 2End IfIf Int(n / l) <> n / l Then m = Int(n / l) + 1 Else m = Int(n / l)End IfEnd Sub(2)第一周期分析Private Sub Command4_Click()Dim xx() As Single, row As Integer, col As In

21、teger, r As Integer, ys As Integer, f() As SingleDim a As Boolean, x1() As Single, k1() As Single, num() As Single, zj() As Single, q32() As Single, q22() As SingleDim sc As StringReDim q32(l)ReDim q22(l)ReDim f(l)ReDim x11(l, l) For j = 2 To l dxh = j a = False ReDim x1(j) ReDim k1(j) ReDim zj(j) R

22、eDim num(j) If Int(n / j) = n / j Then h = n / j ys = 0 Else h = Int(n / j) + 1 ys = n Mod j End If row = h col = j ReDim xx(row, col) For row = 1 To h For col = 1 To j If col + row + j * (row - 1) - row > n Then a = True Exit For End If xx(row, col) = s(col + row + j * (row - 1) - row) Next col

23、If a = True Then Exit For Next row If ys = 0 Then For col = 1 To j num(col) = h Next col Else For col = 1 To ys num(col) = h Next col For col = ys + 1 To j num(col) = h - 1 Next col End If For col = 1 To j For row = 1 To h x1(col) = xx(row, col) + x1(col) Next row Next col For col = 1 To j x11(dxh,

24、col) = x1(col) / num(col) k1(col) = x11(dxh, col) / x Next col For col = 1 To j zj(col) = num(col) * (k1(col) - 1) 2) Next col For r = 1 To j q32(j) = x 2 * (num(r) * (k1(r) - 1) 2) + q32(j) Next r q22(j) = fc - q32(j) f(j) = (q32(j) / (j - 1) / (q22(j) / (n - j)Next j t = n & "个数字为:"

25、& vbCrLfFor i = 1 To nt = t & s(i) & "," & " "If i Mod 10 = 0 Then t = t & vbCrLfNextt = t & vbCrLf & "最大周期长度为:" & l & vbCrLft = t & "F计算值分别为:" & vbCrLfFor i = 2 To l t = t & Format(f(i), "#0.000") &

26、; " " & " "If i Mod 10 = 0 Then t = t & vbCrLfNext MsgBox tDim max As Single, fz As Singlemax = 0For i = 2 To l If f(i) > max Then max = f(i) bz = i End IfNext i fz = Val(InputBox("周期长为" & bz & "年的F0.05值") sc = Str(bz)If f(bz) > fz Then t

27、t = tt & "原序列第一周期为:" & bz & "年!" & vbCrLfElse tt = tt & "原序列不存在第一周期!" & vbCrLfEnd IfText3.Text = ttOpen "F:水文随机分析水文序列检验党城湾周期检验结果.txt" For Append As #1 Print #1, tClose #1End Sub(3)第二周期分析Private Sub Command5_Click()Dim xx() As Single, ro

28、w As Integer, col As Integer, r As Integer, ys As Integer, f() As Single, kk() As SingleDim a As Boolean, x1() As Single, k1() As Single, num() As Single, zj() As Single, q32() As Single, q22() As SingleDim dxh As Integer, sc As String, cha1() As Single, cha As Integer, bz1 As Integer, h1 As Integer

29、, ys1 As Integer, qq() As SingleReDim s1(n)ReDim q32(l)ReDim q22(l)ReDim f(l)ReDim cha1(n)ReDim qq(n)ReDim kk(n)bz1 = bzsum = 0: fc = 0: x = 0ReDim Preserve x11(l, l) If Int(n / bz) = n / bz Then h1 = n / bz ys1 = 0 For i = 1 To h1 cha = cha + 1 For j = 1 To bz cha1(j) = x11(bz1, j) s1(j + bz * (cha

30、 - 1) = s(j + bz * (cha - 1) - cha1(j) Next j Next i Else h1 = Int(n / bz) + 1 ys1 = n Mod bz For i = 1 To h1 - 1 cha = cha + 1 For j = 1 To bz cha1(j) = x11(bz1, j) s1(j + bz * (cha - 1) = s(j + bz * (cha - 1) - cha1(j) Next j Next i For j = 1 To ys1 s1(j + bz * cha) = s(j + bz * cha) - cha1(j) Nex

31、t j End If For i = 1 To n sum = s1(i) + sumNextx = sum / nFor i = 1 To n qq(i) = (s1(i) - x) 2 fc = qq(i) + fc kk(i) = s1(i) / xNext For j = 2 To l dxh = j a = False ReDim x1(j) ReDim k1(j) ReDim zj(j) ReDim num(j) If Int(n / j) = n / j Then h = n / j ys = 0 Else h = Int(n / j) + 1 ys = n Mod j End

32、If row = h col = j ReDim xx(row, col) For row = 1 To h For col = 1 To j If col + row + j * (row - 1) - row > n Then a = True Exit For End If xx(row, col) = s1(col + row + j * (row - 1) - row) Next col If a = True Then Exit For Next row If ys = 0 Then For col = 1 To j num(col) = h Next col Else For col = 1 To ys num(col) = h Next col For col = ys + 1 To j num(col) = h - 1 Next col End If For col = 1 To j For row = 1 To h x1(col) = xx(row, col) + x1(col) Next row Next col For col = 1 To j x11(dxh, col) = x1(col) / num(col) k1(col) = x11(dxh, col) / x Next col For col = 1 To j zj(c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论