收藏 分享(赏)

数学建模题 年降雨量计算.doc

上传人:精品资料 文档编号:9759462 上传时间:2019-09-02 格式:DOC 页数:11 大小:142.50KB
下载 相关 举报
数学建模题 年降雨量计算.doc_第1页
第1页 / 共11页
数学建模题 年降雨量计算.doc_第2页
第2页 / 共11页
数学建模题 年降雨量计算.doc_第3页
第3页 / 共11页
数学建模题 年降雨量计算.doc_第4页
第4页 / 共11页
数学建模题 年降雨量计算.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、组号 183B 题、中国水坝对区域降水的影响1. 摘要:本文通过建立数学模型研究了中国水坝对区域降水影响问题。对于气象空间站分布不均匀,使得中国大陆平均降雨量不能直接计算,并且很难得到某地区非常准确的降雨量数字,我们采用根据距离加权来计算某一点的降雨量,根据距离它最近的 m 个点来计算该点的降雨量。在建立模型求解中,我们着重解决了以下问题:1、用 matlab 编程处理所给 xls 信息;2、借助 c+实现我们做的模型,并进行稳定性测试。3、将算法移植到 matlab 上,解出精确度为 1 度的地图上的点的降雨量信息。4、借助 matlab 将中国地图大致范围求出。5、分析某地区的降雨量变化声

2、明:由于原始数据坐标问题,导致画出图像与真实情形相差太大,故借助 matlab 将错误数据更正。2. 问题重述根据附件中的材料,研究中国水坝对区域降水的影响。建立相应的数学模型,并解决的如下问题:1. 估计 1951 年2008 年中国大陆的年平均降水量;2. 估计 1951 年2008 年某一地区的年降水量,即给出某一地区的经度和纬度,用所建模型计算出该地区的年降水量。按照你的方法,估计水坝地区的降水量(1951 年2008 年) 。3. 研究中国水坝对区域降水的影响。 (注:影响可能是多方面的。可能会增加某地区的降水,也可能会减少另一地区的降水, 还可能会对某一地区的降水无影响。请大家从多

3、个层面考虑这个问题。 )3. 基本假设a) 假设经过修改的数据真实可靠。b) 假设大坝是平均分布在全国各地的。c) 假设大坝没有因年代久远或水量过大而影响蓄水量,并且一直完好如初。4. 符号说明:m 为距离任意点(x,y)最近的点的个数未知点(x,y)的降雨量为已知点的年平均降雨量为第 i 个已知点第 j 年的降雨量为 m 个最近点中第 i 个点与任意点(x,y)的距离为第 i 个计算出来的点的降雨量,n 为计算过的点的个数。5. 术语说明:已知点预测:在验证求未知的是否准确的时候,假设一个离已知点很近的点为未知点,求出它的降雨量,与刚取的已知点比较,看差距大小。下文提到的 c+程序只有一个,

4、就是附录 3 中给的6. 模型的建立与求解6.1 模型的建立:由题目中附件 3 可以看出,气象站在全国并不是平均分布的,所以不能用加起来求平均值的方法,我们利用距离位权法建立了数学模型,以求出任意一点的平均降雨量。设任意一点(x,y)降雨量为 R(x,y)则:其中:为距离任意点 (x,y)最近的点的个数为已知点的年平均降雨量rj 为第 i 个已知点第 j 年的降雨量wi 为 m 个最近点中第 i 个点与任意点(x,y)的距离m 点的取值和 R(x,y)的精确度有关,若 m 很大,则会包括所有城市,虽然进行已知点验证时很精确,但不符合实际情况,若 m 很小,则精确度会下降,关于 m 的取值,将会

5、在下边的可靠性分析中讨论。6.2 模型可靠性分析:根据利用 c+编出来的程序,可以验证,当 m60 时,进行已知点验证,与原降雨量差距很小,但是不符合实际,因为某地区降雨量不会和很远距离的降雨量有太大相关性。根据 c+程序验证,取m=15。本模型对于气象站分布较密集的地方精确度较高,但对于西部地区气象站分布不均且数量有限情况下,可靠性会下降。从 c+程序来看(去掉 70 行处注释符) ,当 m=15 时进行已知点预测的差别大的主要在编号 140 以后的地区。6.3 问题求解:6.3.1 问题一的解:借助 matlab 将数据网格化大致算出中国降雨量可能会覆盖到的地方如附件 2。如图 1纬度图

6、1经度得到了中国大致的限制方程:-0.72*x0+94.72-y0 1950water(i-1950) = damYearY(i);endend%附录 2,画图构造降雨量覆盖图xtmp = linspace(min(x),max(x),80);ytmp = linspace(min(y),max(y),80);X,Y = meshgrid(xtmp,ytmp);Z1 = griddata(x,y,z1,X,Y);Z2 = griddata(x,y,z2,X,Y);%mesh(X,Y,Z1);mesh(X,Y,Z2);附录 3#include#include#include#include#de

7、fine MAX 200using namespace std;double sum(double*a,int m)double ans = 0;for(int i=0;ixi;for(i=0;iyi;for(i=0;irainPerSitei;for(m = 2;msavej)mini = j;tmpi = savemini;savemini = 100000;for(i=0;i0.1)count+;/cout(1-fabs(rainPerSite0*.7+rainPerSite1*0.3)-ans)/ans)endl;/去掉此注释符看出已知点验证法中相差的具体百分比/if(m=15)cou

8、t“站点: “k+1“ “(1-fabs(rainPerSite0*.7+rainPerSite1*0.3)-ans)/ans)endl;/去掉注释符可以看出 m=15 时一直点预测的具体差距的百分比cout “与原点相差大于 10%的点的个数“ countendl;return 0;附录 4function re=res(x,y,n)%RES 求的是最小二乘法的相关系数 r,其中%x, y 为数据,n 是数据的个数lxx=sum(x.2)/n-(sum(x)/n)2;lyy=sum(y.2)/n-(sum(y)/n)2;lxy=sum(x.*y)/n-sum(x)/n*sum(y)/n;re=lxy/(sqrt(lxx*lyy);end附录 5以 matlab 程序下用来写入记事本供 c+用z90 = rot90(zz);a = sum(z90);a= a./58;fp = fopen(aa.txt,wt);for i =1 : 160fprintf(fp, %.2f , x(i);endfprintf(fp,n);for i = 1:160fprintf(fp,%.2f ,y(i);endfprintf(fp,n);for i = 1:160fprintf(fp,%.2f ,a(i);endfclose(fp);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报