水文随机分析小论文.doc

上传人:陆** 文档编号:5313134 上传时间:2022-01-01 格式:DOC 页数:17 大小:322.50KB
返回 下载 相关 举报
水文随机分析小论文.doc_第1页
第1页 / 共17页
水文随机分析小论文.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《水文随机分析小论文.doc》由会员分享,可在线阅读,更多相关《水文随机分析小论文.doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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.1596U0.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.2Wi2930313233343636373

6、839404142取 n1=n2=21计算得 Wi=419 |U|=0.81756 U0.025=1.96 所以党城湾序列有明显上升趋势(2) 党城湾跳跃检验结果Xt8.878.99.059.399.469.69.639.711010.310.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.91971.96 党城湾序列有跳跃

7、(3) 党城湾周期检验结果周期23456F0.1050.9360.0880.4980.62周期7891011F0.2740.4830.3810.3490.158经计算得 党城湾序列没有周期3、 札马什克检验结果(1) 札马什克趋势检验结果序号12345678910111213Xt25.433.222.521.819.324.225.92323.624.920.320.817.5P6017212862754181725序号14151617181920212223242526Xt22.625.916.719.723.222.322.92217.819.125.921.227P10223163939

8、1714291序号27282930313233343536373839Xt22.719.922.72222.932.722.618.719.519.522.718.322.2P2725101422010经计算得 P=301 n=39t=-0.1876 var(t)=0.01245U=-1.6815U-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.

9、722.722.9Wi14151717181920222225252527Xt22.92323.223.624.224.925.425.925.925.92732.733.2Wi27282930313233363636373839取 n1=18 n2=19计算得 Wi=415 |U|=0.9834F005(5,33)=2.503 第二周期分析周期2345678910F000.0851.85200.4391.490.5480.907周期111213141516171819F1.8420.1061.240.8981.3770.5841.1930.3880.703经分析不存在第二周期五、 程序代码1

10、、趋势检验(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 Not EOF(1) ReDim Preserve a(i) As Single Input #1, a(i) i = i + 1LoopClose #1nn = i -

11、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 * nn + 5) / 9 / nn / (nn - 1)U = t / Sqr(var)With TChart1 .Series(0).Clear .Series(1).ClearF

12、or i = 1 To nn .Series(0).Add a(i), i, clTeeColor .Series(1).Add a(i), i, clTeeColorNext iEnd WithIf Abs(U) 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

13、- n1 * (n1 + n2 + 1) / 2) / Sqr(n1 * 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、周期检验(简单分波法)程序(1)读入数据Private S

14、ub 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 i = 1 To n q(i) = (s(i) - x) 2 fc = q(i) + fc

15、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 Integer, r As Integer, ys As Integer, f() As SingleDim a As Bo

16、olean, 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) ReDim num(j) If Int(n / j) = n / j Then h = n / j ys = 0 Else

17、 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 If a = True Then Exit For Next row If ys = 0 Then For col = 1 To

18、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 Fo

19、r 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 & 个数字为: & vbCrLfFor i = 1 To nt = t & s(i) & , & If i Mod 10 = 0 Then t = t & vbCrLfNextt

20、 = t & vbCrLf & 最大周期长度为: & l & vbCrLft = t & F计算值分别为: & vbCrLfFor i = 2 To l t = t & Format(f(i), #0.000) & & 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值) s

21、c = Str(bz)If f(bz) fz Then tt = 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, row As Integer, col As Integer, r As Integer,

22、 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, ys1 As Integer, qq() As SingleReDim s1(n)

23、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 - 1) = s(j + bz * (cha - 1) - cha1(j) Next

24、 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) Next j End If For i = 1 To n sum = s1(i) + sum

25、Nextx = 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 If row = h col = j ReDim xx(row, col) For r

26、ow = 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 =

27、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(col) = num(col) * (k1(col) - 1) 2) Next col For r = 1 To j q3

28、2(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 ttt = n & 个数字为: & vbCrLfFor i = 1 To nttt = ttt & s1(i) & , & If i Mod 10 = 0 Then ttt = ttt & vbCrLfNextttt = ttt & vbCrLf & 最大周期长度为: & l & vbCrLfttt = ttt & F计算值分别为: & vbCr

29、LfFor i = 2 To l ttt = ttt & Format(f(i), #0.000) & & If i Mod 10 = 0 Then ttt = ttt & vbCrLfNext MsgBox tttDim 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 tttt = tttt & 原序列第二周期为: & bz & 年! & vbCrLfElse tttt = tttt & 原序列不存在第二周期! & vbCrLfEnd IfText3.Text = ttttOpen F:水文随机分析水文序列检验党城湾周期检验结果.txt For Append As #1 Print #1, tttClose #1End Sub

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁