工程常用算法综合实践作业

发布 2022-09-12 12:27:28 阅读 8407

《工程常用算法》综合实践作业三。

完成日期: 年月日。

一、作业题目。

用复化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...