- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算方法结课大作业
计算方法结课大作业
第一题:求数值积分,精确到。
解:Romberg方法基本思想:
根据
分别算出T0(0), T0(1),T1(0)…….的值,若对角线上的值的差足够小则停止,否则继续计算,直到足够小为止。
T0(0)=
=
=
其中sin1= 0.841471 sin(-1)= -0.841471
==0.438098
T0(1)= T0(0)+
= 0.469049
T1(0)== =0.479366
T0(2)=T0(1)
=0.476729
T1(1) ===0.479289
T2(0)===0.479284
T0(3)=T0(2)=0.478645
T1(2)== =0.478645
T2(1)=T0(1)=0.438098
T3(0)===0.479284
化简成缩略图,根据公式可一目了然:
T0(0)=,
T0(1)=0.469049, T1(0)= 0.479366
T0(2)=0.476729, T1(1) =0.479289 T2(0)=0.479284
T0(3)= 0.478645, T1(2)=0.47, T2()=,T3(0)= T3(0)=0.479284
第二题:设实验数据如下
1 2 3 4 5 6 7 8 9 10 5.8191 10.3626 18.4715 26.0003 34.9121 48.1684 60.2300 73.9750 92.2391 109.3331 建立形如最小二乘拟合。
解:已知曲线,将表格中所有点依次代入得到方程:
改写成矩阵形式:
根据公式进行转置:
上式整理得: =
整理为方程如下:
得解为:
于是所求拟合曲线为
第三题 :给定初值问题
经典四阶R-K方法,分别取,计算并打印各点的值,并于准确值相比较。
解:四阶龙格-库塔算法公式如下:
当步长h=0.1时,运行结果如下:
当步长h=0.025时,运行结果如下:
当步长h=0.01时,运行结果如下:
与准确值相比较:
注:(因数据庞大,此处只取前十一个数作比较)
用编程实现如下:
注:此处只举例出当步长h=0.1时执行的程序,当h=0.025和h=0.01时只需稍加修改即可。
#includestdlib.h
#includestdio.h
/*n表示几等分,n+1表示输出的个数*/
int RungeKutta(double y0,double a,double b,int n,double *x,double *y,double (*function)(double,double))
{
double h=(b-a)/n,k1,k2,k3,k4;
int i;
x[0]=a;
y[0]=y0;
for(i=0;in;i++)
{
x[i+1]=x[i]+h;
k1=function(x[i],y[i]);
k2=function(x[i]+h/2,y[i]+h*k1/2);
k3=function(x[i]+h/2,y[i]+h*k2/2);
k4=function(x[i]+h,y[i]+h*k3);
y[i+1]=y[i]+h*(k1+2*k2+2*k3+k4)/6;
}
return 1;
}
double function(double x,double y)
{
return -30*y+30*x*x+2*x;
}
//例子求y=-30y+30*x*x+2*x(0x1);y0=1;
int main()
{
double x[11],y[11];
printf(用四阶龙格-库塔方法\n);
RungeKutta(1,0,1,10,x,y,function);
for(int i=0;i11;i++)
printf(x[%d]=%f,y[%d]=%f\n,i,x[i],i,y[i]);
return 1;
}
第1页 共8页
您可能关注的文档
最近下载
- 人教版(新插图)五年级上册数学全册教学课件.pptx
- 《机械制图与CAD绘图》课件——剖视图.pptx VIP
- TEAC V-970X_R-919X三磁头卡座维修手册.pdf
- 03S402 室内管道支架及吊架.docx VIP
- 体例格式6:工学一体化课程《windows服务器基础配置与局域网组建》任务7学习任务分析表.docx VIP
- 【初中生物】光合作用第一课时 2024--2025学年北师大版生物七年级上册(2024版).pptx VIP
- 高标准农田高效节水灌溉工程建设项目建议书.pdf VIP
- 统编版(2024新版)七年级上册历史必背知识点提纲详细版 .pdf VIP
- SL 228-2013 混凝土面板堆石坝设计规范.pdf VIP
- 个人简历表格下载word(最新).pdf VIP
原创力文档


文档评论(0)