- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB--计算国土面积
国土面积的计算
摘要:数学建模方法是处理科学理论的一种经典方法,也是解决各类实际问题的常用方法。本文采用插值、复化梯形公式的方法,并利用数学软件MATLAB对国土面积进行计算,计算结果与实际记录基本吻合,最终将误差控制在1%内。
关键词:建模 分段 插值 复化梯形公式(trapz)方法 MATLAB
1.问题分析
在生产与科学试验中,反映自然规律的函数关系,往往是通过实验、观测得到的。从题目我们知道本题的本质是就是求不规则平面图形的面积。题目给出地图测量数据,我们就可以使用MATLAB软件的plot函数画出该不规则平面图形的模拟图。题中已经把图形分成上下边疆线,所以可以运用插值与复化梯形公式分别求出上下边疆的面积,最后求出图形面积。
2.算法设计
2.1作图
因为表中数据点较多,并且横轴有重复的点,无法直接进行插值,所以需要进行分段。分别把上下边疆线按数字连续截取,遇到重复的值,或小的值进行分段。
记为xn,其中n=1,2,3,……
以下边疆线为例:
把下边疆线分为6段,分别是:
x1=[17 18 20 31 41 58 66 72 ];
x2=[57 60 71 104 130 146 160 163 168 179 196 223 258 282 307 315 330 352 377 ];
x3=[377 392 428 462 501 524 533 555];
x4=[542 550 561 574 590 599 610 635 644 649 669 671 677 678 696 720 723];
x5=[69 72];
x6=[542 555];
为了作出一个合理的图像,首先考虑用线性插值。记为yni,其中n=1,2,3……
以x1为例
x1i=17:1:72;
y1i=interp1(x1,y1,x1i);
y1i就是以区间[17 72]运用线性插值构造的函数值,x1,y1是插值节点,x1i是被插值点。所以我们对被分段的上下边疆的数据进行线性插值。
2.2求面积
对每段构造的函数值分别用复化梯形公式(trapz)求积分,记为sn,其中n=1,2,3……
以s1为例 s1=trapz(y1i)*1
设区间[17 72]之间的面积为s1。s1的面积是蓝色的部分,同理可求上、下边疆的面积。sx=s1+s2+s3+s4+s5-s6; ss=s7+s8+s9+s10+s11+s12-s13.
最后根据图形与题意用四则运算分别计算出整个上边疆线与下边疆线的面积,分别记为ss,sx。用ss减sx所求得的值即为地图面积,记为s。
2.3误差
设图形面积为s,根据比例尺把s换算成实际单位,并与实际面积1566500平方公里作比较,求误差。
3.程序运行结果
上边疆线面积 ss=220240
下边疆线面积 sx=77909;
图形面积 s=142330;
误差估计为0.0095234
参考文献:计算方法——数值分析
附录
部分源代码:
x1=[17 18 20 31 41 58 66 72 ];
y1=[299 298 288 273 262 254 234 220 ];
x1i=17:1:72;
y1i=interp1(x1,y1,x1i);
plot(x1,y1,bo,x1i,y1i,b-)
hold on;
x2=[57 60 71 104 130 146 160 163 168 179 196 223 258 282 307 315 330 352 377 ];
y2=[175 166 160 150 137 121 117 106 83 64 63 56 50 52 46 38 32 21 21 ];
x2i=57:1:377;
y2i=interp1(x2,y2,x2i);
plot(x2,y2,mo,x2i,y2i,m-)
hold on;
x3=[377 392 428 462 501 524 533 555];
y3=[16 14 34 43 46 60 75 95];
x3i=377:1:555;
y3i=interp1(x3,y3,x3i);
plot(x3,y3,ko,x3i,y3i,k-)
hold on;
x4=[542 550 561 574 590 599 610 635 644 649 669 671 677 678 696 720 723];
y4=[114 138 139 133 133 139 157 162 174 188 200 207 205 206 216 218 225];
x4i=542:1:723;
y4i=interp1(x4,y4,x4i);
plot(x4,y4,ro,x4i,y4i,r-)
hold on;
x
文档评论(0)