- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河北工业大学数值分析实验三实验四实验报告
数值分析实验报告
指导老师: 宛艳萍
姓 名:
班 级:
学 号:
实验三 复化辛卜生法,龙贝格法
实验名称:复化辛卜生法,龙贝格法
实验目的
1)通过实际计算体会各种方法的精确度。
2)会编写用复化辛卜生、龙贝格算法求定积分的程序。
3.算法描述
1)用复化辛卜生法计算积分
算法:复化辛卜生公式为Sn=h/6,
计算过程为:
1.令
2.对 计算
3. 。
2)龙贝格算法计算
算法
用事后估计法控制精度 。
4.源程序:1)/* 用复化辛卜生公式求积分 */
#include stdio.h
float fx(float x)
{
double f;
f=1.0/(1.0+x*x);
return f;
}
double fs(int n)
{
double a=0.0,b=1.0,h,s,s1,s2=0;
int i;
h=(b-a)/n;
s1=fx(a+h/2);
for(i=1;in;i++)
{
s1=s1+fx(a+i*h+h/2);
s2=s2+fx(a+i*h);
}
s=(h/6.0)*(fx(a)+fx(b)+4*s1+2*s2);
return s;}
void main()
{
printf(实验三 复化辛卜生法 计算机112 耿向飞 学号:112434\n);
printf(s(2)=%lf\ns(4)=%lf\ns(8)=%lf,fs(2),fs(4),fs(8));
}
2)/* 龙贝格法 */
#include stdio.h
#include math.h
#define E 2//被积函数f(x)
double fx(double x)
{
double f;
f=1/(1+x*x);
return f;
}
//梯形公式求tn
double tx(int n)
{
double s3=0.0,h,t,b=1.0,a=0.0;
int i;
h=(b-a)/n;
for(i=1;in;i++)
s3=s3+fx(i*h);
t=(h/2)*(fx(a)+fx(b)+2*s3);
return t;
}
double s(int n)
{
double s;
s=tx(2*n)+(1.0/3.0)*(tx(2*n)-tx(n));
return s;
}
double c(int n)
{
double c;
c=s(2*n)+(1.0/15.0)*(s(2*n)-s(n));
return c;
}
double r(int n)
{
double r;
r=c(2*n)+(1.0/63.0)*(c(2*n)-c(n));
return r;
}
void main()
{
double rr,pp;
int n=1;
rr=r(n);
pp=r(2*n)-r(n);
printf(实验三 龙贝格法 计算机112 耿向飞 学号:112434\n);
printf(结果为:%.15lf 误差小于等于: %.15lf,rr,pp);
}复化辛卜生公式
2)龙贝格算法
对算法的理解与分析:
复化辛卜生公式和龙贝格算法适用于求数值积分,而且都能提高计算积分的精度
龙贝格算法其实是在复化辛卜生公式递推的基础之上生成的一种精度高,而且收敛速度也较快的一种算法。对于复化辛卜生算法来说,程序比较容易编写,而龙贝格算法,程序中需要注意用龙贝格算法加速收敛的时候如何处理判断以后生成的返回值才能使龙贝格算法达到预期目的,求得所需要的结果。
数值分析实验报告
指导老师: 宛艳萍
姓 名: 耿向飞
班 级: 计112
学 号: 112434
实验四 改进欧拉方法、二分法和牛顿迭代法
1.实验名称:改进欧拉方法、二分法和牛顿迭代法
文档评论(0)