- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微积分上机作业
微积分上机实验报告
学生系别:
学生专业:
学生班级:
学号姓名:
指导老师:
2012年5月28号
选作第2题、第6题
2、题目:(数值积分)人造地球卫星的轨道可视为平面上的椭圆,地心位于椭圆的一个焦点处.已知一颗人造地球卫星近地点距地球表面439 km,远地点距地球表面2384 km,地球半径为6371 km.求该卫星的轨道长度.
算法:椭圆的标准方程:(焦点在x轴)。函数每给X一个值都有唯一的一个值与之对应,而椭圆确有2个值,所以椭圆不属于函数,故将椭圆分为上下两部分,上下两部分分别为函数,先求出上半椭圆的长度,再乘两倍既是椭圆的长度。
上半椭圆方程:(y=0),两边对x求导有:
,y'==
构造上半椭圆的弧微分,作为积分微元。采用数值积分的方法,通过 for循环语句在积分域内构造很多个小长方形,以这些长方形面积之和代替积分数值。当步长很小,长方形个数很多时,长方形面积之和则很接近这个积分的数值。
运用C语言编写程序,定义数值积分函数,采用for循环语句,依据精度的不同设置不同的步长,依次求和,即可计算出近似结果,得到椭圆长度。
在编写程序之前,计算椭圆的长半轴和焦距的一半的长度:
长半轴a=(439+2384+6371*2)/2=7782.5
焦距的一半c=a-6371-439=972.5
短半轴b=a*a-c*c
C语言源程序:
#includestdio.h
#includemath.h
#define a 7782.5
#define c 972.5
#define b sqrt(pow(a,2)-pow(c,2))
#define n 1.0e-3
main()
{
double L=0,x,f;
for(x=-99999*a/100000;xa;x+=n){
f=sqrt(1+pow(b,2)*pow(x,2)/(pow(a,4)-pow(a,2)*pow(x,2)));
L=L+f*n;
}
L=L*2;
printf(卫星的轨道长度为:);
printf(%lf\n,L);
}
结果:
分析:
对于这个程序,当x取值到-a时,积分微元的分母为零,对应的y值为0,所以在程序中,x最初取值为-99999*a/100000。当这个值越接近-a时,计算出来的值越接近真实值。同时,在程序中,步长越小,分出的小矩形越多,计算出的值越接近真实值。但是随着步长的减小,运算量会增加,运算时间也会增长,例如,本程序中n=1.0e-3,如果取n=1.0e-4时,运算时间大大加长,这是该程序的不足之处。
6、题目:(最小二乘法)(1)假设t时刻人口增长速度与 t时刻人口总数 p(t) 成正比, 比例系数为k,求t时刻人口总数。
(2)据统计,六十年代人口增长情况如下表:
年 1960 1961 1962 1963 1964 1965 1966 1967 1968 人口(百万) 2972 3061 3151 3213 3234 3285 3356 3420 3483 试求出最佳拟合曲线,并预测2020年时的世界人口。
(3)能否用该模型作长期人口预报?为什么?怎样改革该模型?
解:(1)p=ekt+b
(2)y=logp=kt+b,即能体现线性关系,通过最小二乘法建立经验公式,通过MATLAB软件可求出该直线方程。
算法:1、首先画出散点图;
2、其次观察图中点的分布规律,确定为线性关系,求出函数表达式;
3、最后求出与测量值的偏差的平方和 Q=
令Q取最小值,便可确定f(t)表达式中的未知参数,从而得到f(t)。
函数关系:y=kt+b,其中常数k,b待定。由最小二乘法知,问题变为求二元函数 Q(k,b)= 的最小值。
利用多元函数极值的必要条件,得
=2=0
=2=0
整理化简,得唯一驻点 k=0.0186,b=-28.4331
依据问题的实际意义,Q(k,b)定有最小值,且驻点唯一,所以(0.0186,-28.4331)为Q(k,b)的最小值点,所求经验公式y=0.0186t-28.4331,p=
当t=2020时,y=9.1389,则p=
MATLAB程序:
先编写程序得到最佳拟合曲线(此为程序截图):
通过plot函数得到图形:
所得图形趋近于一条直线,直线方程:y=kx+b。
接着编写程序,通过polyfit函数得到线性方程的一次项系数和常数项值
(此为程序截图):
y=kt+b 其中 k=0.0186 b=-28.4331
即 y=0.0186t-28.4331
当t=2020时,y=9.1389,则p=
预测2020年时的世界人口为人。
(3)不能用该模型作长期人口预报,因为没有考虑到其因素的影响,比如说经济因素、文化因素、医疗卫生因素、自然资源因素等。
可以采用下列
文档评论(0)