《工程常用算法》综合实践作业三。
完成日期: 年月日。
一、作业题目。
用复化simpson、复化cotes和复化romberg公式计算,精确到小数点后12位,比较不同方法的计算结果。
二、程序流程图。
sinpson法。
科斯特法。龙贝格法。
三、完整的程序及简要的注释。
辛普森法。function simpson()
x=[0:0.01:1];s=0;h=0.01;a=[1:3];y=[1:3];%初始化。
for i=1:100%分别求每段的积分,并相加。
a(1)=x(i);a(2)=(x(i)+x(i+1))/2;a(3)=x(i+1);%初始化。
for j=1:3
y(j)=4/(1+a(j)^2);%求插值点的函数值。
endformat long;%显示位数。
s=s+h/6*(y(1)+4*y(2)+y(3))%求每段的积分并将其相加。
endend
结果:柯特斯法。
function cotes()
x=[0:0.01:1];s=0;h=0.01;a=[1:5];y=[1:5];%初始化。
for i=1:100
a(1)=x(i);a(2)=a(1)+h/4;a(3)=a(2)+h/4;
a(4)=a(3)+h/4;a(5)=x(i+1每段的插入点。
for j=1:5
y(j)=4/(1+a(j)^2);%段内插入点的函数值。
endformat long;
s=s+h/90*(7*(y(1)+y(5))+32*(y(2)+y(4))+12*y(3))%求每段的积分并相加。
endend
结果:龙贝格法。
function romberg()
x=[0:0.01:1];s=0;h=0.01;a=[1:5];y=[1:5];
for i=1:100
a(1)=x(i);a(2)=a(1)+h/4;a(3)=a(2)+h/4;a(4)=a(3)+h/4;a(5)=x(i+1);
for j=1:5
y(j)=4/(1+a(j)^2);
ends=s+h/90*(7*(y(1)+y(5))+32*(y(2)+y(4))+12*y(3));
end %此前的所有程序段与复合柯特斯相同。
x2=[0:0.005:1];s2=0;h2=0.005;%将此前的段二分。
for i=1:200%将二分后的函数段求柯特斯积分。
a(1)=x2(i);a(2)=a(1)+h2/4;a(3)=a(2)+h2/4;
a(4)=a(3)+h2/4;a(5)=x2(i+1);
for j=1:5
y(j)=4/(1+a(j)^2);
ends2=s2+h2/90*(7*(y(1)+y(5))+32*(y(2)+y(4))+12*y(3));
endformat long;
s2=(64*s2-s)/63%将龙贝格积分。
end结果:
四、程序运行结果。
复合辛普森。
复合柯特斯。
龙贝格。
《工程常用算法》综合实践作业一
完成日期 2010年11月15日。小组成员 学号姓名。学号姓名。学号姓名。已知方程,请用二分法 牛顿法和割线法求此方程实根的近似值,使误差不超过0.0001。注意先确定出方程的有根区间。完成二分法 牛顿法 割线法 二 程序流程图。三 完整的程序。1 二分法 include include doubl...
《工程常用算法》综合实践作业七
完成日期 2010年12月20日。小组成员 学号姓名。学号姓名。学号姓名。常微分初值问题如下 请用euler方法 四阶经典runge kutta格式和四阶adams方法求解。要求 任选一种方法,但希望得到 优秀 成绩的小组必须完成后两种求解方法。完成四阶经典runge kutta 四阶adams 二...
《工程常用算法》综合实践作业一
哈尔滨工程大学机电工程学院。综合实践大作业。2015年 7 月 10 日。作业名称 非线性方程求根完成日期 15 年 6月 1日。已知方程,请分别用二分法 牛顿法和割线法求此方程的根。误差限取 注意先确定出方程的有根区间。f 0 0 0 1 0 f 1 1 2 e 0 所以在区间 0,1 内有根。2...