数值分析课程——数值积分实验报告
数值分析实验报告
数值分析实验报告【引言】数值分析是一门研究利用计算机和数学方法解决实际问题的学科,它在工程、科学和经济领域中有着广泛的应用。
在这个实验报告中,我将分享我在数值分析实验中的一些发现和结果。
【实验目的】本次实验的目的是通过数值方法对给定的问题进行求解,并分析数值方法的精确性和稳定性。
我们选择了经典的插值和数值积分问题来进行实验。
【实验过程】在插值问题中,我使用了拉格朗日插值和样条插值两种方法。
通过使用已知的数据点,这些方法能够通过构造多项式函数来逼近原始函数,从而能够在未知点上进行预测。
通过比较两种插值方法的结果,我发现拉格朗日插值在低维数据上表现更好,而样条插值在高维数据上更能保持插值曲线的平滑性。
在数值积分问题中,我使用了复合梯形公式和复合辛普森公式来进行数值积分。
这两种方法可以将复杂的区间上的积分问题转化为对若干个小区间进行数值积分的问题。
实验结果表明,复合辛普森公式在使用相同的步长时,其数值积分结果更为精确。
【实验结果】我以一个实际问题作为例子来展示实验结果。
问题是计算半径为1的圆的面积。
通过离散化的方法,我将圆划分为多个小的扇形区域,并使用数值积分方法计算每个扇形的面积。
最后将每个扇形的面积相加,即可得到圆的近似面积。
通过调整离散化的精度,我发现随着扇形数量的增加,计算得到的圆的面积越接近真实的圆的面积。
在插值问题中,我选择了一段经典的函数进行插值研究。
通过选择不同的插值节点和插值方法,我发现当插值节点越密集时,插值结果越接近原函数。
同时,样条插值方法在高阶导数连续的情况下能够更好地逼近原始函数。
【实验总结】通过这次实验,我对数值分析中的插值和数值积分方法有了更深入的理解。
我了解到不同的数值方法在不同的问题中有着不同的适用性和精确度。
在实际应用中,我们需要根据具体问题选择合适的数值方法,并进行必要的数值计算和分析,以获得准确可靠的结果。
总的来说,数值分析作为一种重要的工具和方法,在科学研究和工程实践中具有广泛的应用,并且不断发展和创新。
数值分析综合实验报告
一、实验目的通过本次综合实验,掌握数值分析中常用的插值方法、方程求根方法以及数值积分方法,了解这些方法在实际问题中的应用,提高数值计算能力。
二、实验内容1. 插值方法(1)拉格朗日插值法:利用已知数据点构造多项式,以逼近未知函数。
(2)牛顿插值法:在拉格朗日插值法的基础上,通过增加基函数,提高逼近精度。
2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,通过不断缩小区间来逼近根。
(2)Newton法:利用函数的导数信息,通过迭代逼近根。
(3)不动点迭代法:将方程转化为不动点问题,通过迭代逼近根。
3. 数值积分方法(1)矩形法:将积分区间等分,近似计算函数值的和。
(2)梯形法:将积分区间分成若干等分,用梯形面积近似计算积分。
(3)辛普森法:在梯形法的基础上,将每个小区间再等分,提高逼近精度。
三、实验步骤1. 拉格朗日插值法(1)输入已知数据点,构造拉格朗日插值多项式。
(2)计算插值多项式在未知点的函数值。
2. 牛顿插值法(1)输入已知数据点,构造牛顿插值多项式。
(2)计算插值多项式在未知点的函数值。
3. 方程求根方法(1)输入方程和初始值。
(2)选择求解方法(二分法、Newton法、不动点迭代法)。
(3)迭代计算,直到满足精度要求。
4. 数值积分方法(1)输入被积函数和积分区间。
(2)选择积分方法(矩形法、梯形法、辛普森法)。
(3)计算积分值。
四、实验结果与分析1. 插值方法(1)拉格朗日插值法:通过构造多项式,可以较好地逼近已知数据点。
(2)牛顿插值法:在拉格朗日插值法的基础上,增加了基函数,提高了逼近精度。
2. 方程求根方法(1)二分法:适用于函数在区间内有正负值的情况,计算简单,但收敛速度较慢。
(2)Newton法:利用函数的导数信息,收敛速度较快,但可能存在数值不稳定问题。
(3)不动点迭代法:将方程转化为不动点问题,收敛速度较快,但可能存在初始值选择不当的问题。
3. 数值积分方法(1)矩形法:计算简单,但精度较低。
数值积分实验报告
数值积分实验报告数值积分实验报告导言:数值积分是数学中的一个重要概念,它在实际应用中具有广泛的意义。
本实验旨在通过数值积分方法,探索如何近似计算函数的积分值,并对结果进行分析和比较。
一、实验目的本实验的主要目的有以下几点:1. 了解数值积分的基本概念和原理;2. 掌握常见的数值积分方法,如矩形法、梯形法和辛普森法;3. 进行实际函数的数值积分计算,并与解析解进行对比。
二、实验原理1. 数值积分的基本概念数值积分是一种通过将函数曲线下的面积近似分解为多个小矩形、梯形或抛物线的面积之和,从而计算函数积分值的方法。
常见的数值积分方法有矩形法、梯形法和辛普森法。
2. 矩形法矩形法是一种简单的数值积分方法,它将函数曲线下的面积近似为多个矩形的面积之和。
常见的矩形法有左矩形法、右矩形法和中矩形法。
3. 梯形法梯形法是一种更精确的数值积分方法,它将函数曲线下的面积近似为多个梯形的面积之和。
梯形法的计算公式为:积分值≈ (b-a) * (f(a) + f(b)) / 2,其中a和b为积分区间的上下限。
4. 辛普森法辛普森法是一种更加精确的数值积分方法,它将函数曲线下的面积近似为多个抛物线的面积之和。
辛普森法的计算公式为:积分值≈ (b-a) * (f(a) +4f((a+b)/2) + f(b)) / 6。
三、实验步骤1. 确定积分区间和函数表达式;2. 根据所选的数值积分方法,编写相应的计算代码;3. 运行代码,得到数值积分的结果;4. 将数值积分的结果与解析解进行对比,并分析误差。
四、实验结果与分析在本次实验中,我们选择了函数 f(x) = x^2 在区间 [0, 1] 上进行积分计算。
根据不同的数值积分方法,得到的结果如下:1. 矩形法:- 左矩形法:积分值≈ 0.25- 右矩形法:积分值≈ 0.5- 中矩形法:积分值≈ 0.3752. 梯形法:积分值≈ 0.3753. 辛普森法:积分值≈ 0.3333与解析解进行对比,我们可以发现不同的数值积分方法得到的结果与解析解(积分值为 1/3)存在一定的误差。
数值分析积分实验报告(3篇)
第1篇一、实验目的本次实验旨在通过数值分析的方法,研究几种常见的数值积分方法,包括梯形法、辛普森法、复化梯形法和龙贝格法,并比较它们在计算精度和效率上的差异。
通过实验,加深对数值积分理论和方法的理解,提高编程能力和实际问题解决能力。
二、实验内容1. 梯形法梯形法是一种基本的数值积分方法,通过将积分区间分割成若干个梯形,计算梯形面积之和来近似积分值。
实验中,我们选取了几个不同的函数,对积分区间进行划分,计算积分近似值,并与实际积分值进行比较。
2. 辛普森法辛普森法是另一种常见的数值积分方法,它通过将积分区间分割成若干个等距的区间,在每个区间上使用二次多项式进行插值,然后计算多项式与x轴围成的面积之和来近似积分值。
实验中,我们对比了辛普森法和梯形法的计算结果,分析了它们的精度差异。
3. 复化梯形法复化梯形法是对梯形法的一种改进,通过将积分区间分割成多个小区间,在每个小区间上使用梯形法进行积分,然后计算所有小区间积分值的和来近似积分值。
实验中,我们对比了复化梯形法和辛普森法的计算结果,分析了它们的精度和效率。
4. 龙贝格法龙贝格法是一种通过外推加速提高计算精度的数值积分方法。
它通过比较使用不同点数(n和2n)的积分结果,得到更高精度的积分结果。
实验中,我们使用龙贝格法对几个函数进行积分,并与其他方法进行了比较。
三、实验步骤1. 编写程序实现梯形法、辛普森法、复化梯形法和龙贝格法。
2. 选取几个不同的函数,对积分区间进行划分。
3. 使用不同方法计算积分近似值,并与实际积分值进行比较。
4. 分析不同方法的精度和效率。
四、实验结果与分析1. 梯形法梯形法在计算精度上相对较低,但当积分区间划分足够细时,其计算结果可以接近实际积分值。
2. 辛普森法辛普森法在计算精度上优于梯形法,但当积分区间划分较细时,计算量较大。
3. 复化梯形法复化梯形法在计算精度上与辛普森法相当,但计算量较小。
4. 龙贝格法龙贝格法在计算精度上优于复化梯形法,且计算量相对较小。
数值分析数值积分
实验报告专用纸实验项目名称数值积分课程名称计算机数值方法教师评语及成绩:实验成绩:教师签字:(请按照实验报告的有关要求书写,一般必须包括:1、实验目的;2、实验内容;3、实验步骤与方法;4、实验数据与程序清单;5、出现的问题及解决方法;6、实验结果、结果分析与体会等内容。
)1、实验目的(1)学会用复合辛普森公式、复合梯形公式、牛顿-科特斯积分公式计算积分;(2)学会用MATLAB或C等实现数值积分。
2、实验内容计算定积分(1)用牛顿-科特斯积分法计算定积分;(2)取不同的步长h,分别用复合梯形公式及复合辛普森公式计算积分,给出误差中关于h的函数,并与积分精确值比较两个公式的精度。
3、实验原理(1)复合梯形公式(2)复合辛普森公式(3)牛顿-科特斯积分公式4、实验步骤(1)认真分析题目的条件和要求,复习相关的理论知识,选择适当的算法;(2)编写上机实验程序,作好上机前的准备工作(3)上机调式程序,并记录计算的结果(4)分析实验结果(5)按照要求撰写实验报告5、实验程序function y=f(x)y=sin(x);%复合梯形function Tn=Tn(a,b,n)format longh=(b-a)/n;sum=0;for k=1:n-1sum=sum+f(a+k.*h);endTn=(f(a)+2*sum+f(b))*h/2;endfunction Sn=Sn(a,b,n)format longh=(b-a)/n;sum1=0;sum2=0;for i=0:n-1sum1=sum1+f(a+(i+1/2).*h);endfor j=1:n-1sum2=sum2+f(a+j.*h);endSn=h/6*(f(a)+4*sum1+2*sum2+f(b));%复合Ctoesfunction Cn=Cn(a,b,n)format longh=(b-a)/n;sum1=0;sum2=0;for i=0:n-1sum1=sum1+32*f(a+(i+1/4).*h)+12*f(a+(i+1/2).*h)+32*f(a+(i+3/4).*h);endfor j=1:n-1sum2=sum2+14*f(a+j.*h);endCn=h/90*(7*f(a)+sum1+sum2+7*f(b));%不同区间和分割次数下的精确值和近似值的比较y=[-0.150920964949986,0.106044306328975,-1.260000791649389,1.1227 33727670800,0.185427920752058,0.955618503172607];Tn=[-0.144707438957434,0.103357516942886,-0.809037206720437,1.07 4587530720150,0.176653381231435,0.874739367319743];Sn=[-0.150933735388946,0.106047691917755,-1.267931587831384,1.12 2836754412495,0.185448626084829,0.956086587141625];Cn=[-0.150920958200157,0.106044290463326,-1.259953005777527,1.12 2733636186552,0.185427890841067,0.955744078179222];plot(y,'-k*');hold on;plot(Tn,'-g.');hold on;plot(Sn,'-bo');hold on;plot(Cn,'-r+');legend('精确值','Tn','Sn','Cn');6、实验结果及分析(1)实验结果图1不同区间和分割次数下的精确值和近似值的比较(2)结果分析在上面的数值计算中,复化Cotes公式计算所得的误差最小,其次是复化Simpson公式,误差最大的是复化梯形公式。
数学实验报告数值积分
0.0003*x^5+0.0303*x^4+0.1236*x^3+0.0296*x^2+0.9901*x^1+0.00 13*x^0 把 x=0.596 带入得到: F(0.596)=0.63192 绘制图像有:
求拉格朗日插项式,并由此求出 f(0.596)的近似值 问题分析: 对于已知的 n 个数据点 (x1,y1) , (x2,y2) , (x3,y3) …… ( xn,yn ) , 总可 以唯 一 确定 一 条 n-1 次 y=a(0)+a(1)x+a(2)x^2+a(3) x^3+…… +a(n-1)x^( n-1) 。因为 n 个数据点都在曲线上,所以
(−1 < x ≤ 1)
令 x = 1,即 ln 2 = 1 − 1 + 1 − 1 ++ (−1) n−1 1 + ;其误差为
2 3 4 n
Rn = ln 2 − S n = (−1) n
1 1 1 1 1 + (−1) n+1 + = − + < n +1 n + 2 n +1 n +1 n+2
程序编写 1: clc;clear; n=0; r=1; p=0; k=-1; while r>=1.0e-5 n=n+1; k=k*(-1); p=p+k/n; r=abs(k/n); fprintf('n=%.0f,p=%.10f\n',n,p1); end
-2-
数学实验报告----------------------------------------------------------------能动 04 吴建东
实验六-数值积分-数值分析-实验报告
实验六-数值积分-数值分析-实验报告山西大学计算机与信息技术学院实验报告姓名学号班级 08 计科课程名称计算方法实验日期 2021 年 12 月6 日实验名称实验六数值积分成绩一、实验目的利用复化梯形公式,复化辛普生公式和龙贝格数值积分公式计算a( )b_f _ d的近似值。
二、实验方法(1)将[a,b]区间 n 等分,记分点为 ,( , 0,1,..., )ib a_ a ih h i nn,并在每个小区间[1,i i_ _]上应用梯形公式11[ ( ) 2 ( ) ( )]2nn iihT f a f _ f b(2)在每个小区间[1,i i_ _]上应用辛普生公式1 111 12[ ( ) 4 ( )2 ( ) ( )]6n nn iii ihS f a f _ f _ f b式中,12i_为[1,i i_ _]的中点,即1212ii_ _ h。
(3)先用梯形公式计算 ( )/ 2_[ ( ) ( )]iT b a f a f b ,然后,将求积区间(a,b)逐次折半的方法,令区间长度 ( )/ 2 ( 0,1,2....)ih b a i 。
计算211/ 2_/ 2_( _( 1/ 2))nn nkT T h f a h k,式中 2 i n 。
于是,得到辛普生公式2 2( )/3n n n nS T T T。
科特斯求积公式2 2( )/15n n n nC S S S最后,得到龙贝格求积公式2 2( )/63n n n nR C C C利用上述各式计算,直到相邻两次的积分结果之差满足精度要求。
三、实验内容利用复化梯形公式,复化辛普生公式和龙贝格数值积分公式计算221__e _e d 和12041_d_的近似值,要求误差为71_102,将计算结果与精度值比较,并对计算结果进行分析。
四、实验程序#include“stdio.h” #include“math.h”#include“iostream.h” #include“iomanip.h”doublef1(double _) {return __e_p(_); } double f2(double _) {return 4/(1+___); } //.............梯形公式..............................doubleT(double a,double b,int n) {double _[20__00];double h=(b-a)/n;for(int i=0;i<n;i++) {_[i]=a+i_h;}double m=0;for(i=1;i<=n-1;i++) {m=m+f1(_[i]);}return h/2_(f1(a)+2_m+f1(b)); } void teT {int a=1,o=0;double q=T(1,2,a);while(fabs(w-q)>0.00000005){o++;a=a_2;q=T(1,2,a);w=T(1,2,2_a);}printf(“%d”,o);printf(“T=%15.10f”,T(1,2,2_a)); } double T1(double a,double b,int n) {double _[10000];double h=(b-a)/n;for(int i=0;i<n;i++){_[i]=a+i_h;}double m=0;for(i=1;i<=n-1;i++){m=m+f2(_[i]);}return h/2_(f2(a)+2_m+f2(b)); } void teT1 {int b=1,p=0;double d=T1(0,1,2_b);while(fabs(s-d)>0.00000005) {p++;b=b_2;s=T1(0,1,b);d=T1(0,1,2_b);}printf(“\n%d”,p);printf(“T1=%15.10f”,T1(0,1,b)); }//......................辛普生公式........................................double S(double a,double b,int n){double h=(b-a)/n;double s=f1(a)-f1(b);double _;_=a;for(int i=0;i<n;i++){_=_+h/2;s=s+4_f1(_);_=_+h/2;s=s+2_f1(_);}s=s_h/6;return s; } void teS{int c=1,l=0;double g=S(1,2,c);double h=S(1,2,2_c);while(fabs(h-g)>0.00000005){l++;c=c_2;g=S(1,2,c);h=S(1,2,2_c);}printf(“\n%d”,l);printf(“S=%15.10f”,S(1,2,c)); } double S1(double a,double b,int n){double h=(b-a)/n;double s=f2(a)-f2(b);double _;_=a;for(int i=0;i<n;i++){_=_+h/2;s=s+4_f2(_);_=_+h/2;s=s+2_f2(_);}s=s_h/6;return s; } void teS1{int m=1,v=0;double j=S1(0,1,m);double k=S1(0,1,2_m);while(fabs(k-j)>0.00000005){v++;m=m_2;j=S1(0,1,m);k=S1(0,1,2_m);}printf(“\n%d”,v);printf(“S1=%15.10f\n”,S1(0,1,m)); }//.................龙贝格公式...........................voidL(double a,double b){double h=b-a;double t1=(f1(a)+f1(b))_h/2,t2; int k=1;double d=0;double r1=0,r2=1;double c1,c2;double s1=0,_,s2;while(1){if(fabs(r2-r1)<0.00000005) break ;s1=0;_=a+h/2;while(_<b){s1=s1+f1(_);_=_+h;}t2=t1/2+h/2_s1;s2=t2+1/3_(t2-t1);if(k==1){k=k+1;h=h/2;t1=t2;continue;}c2=s2+1/15_(s2-s1);if(k==2){c1=c2;k=k+1;h=h/2;t1=t2;s1=s2;continue;}r1=d;r2=c2+1/63_(c2-c1);if(k==3){d=r2;c1=c2;h=h/2;k=1;t1=t2;s1=s2; continue;}}printf(“L=%15.10f\n”,r2); } void main{ teT;teT1;teS;teS1;L(1,2); } 五、实验结果六、结果分析在对积分区间作同样分割或利用同样个数的函数值的条件下,复化辛普生公式比复化梯形公式的计算精度高。
数值分析实验课——数值积分与数值微分实验
数值分析实验报告四数值积分与数值微分实验(2学时)一 实验目的1.掌握复化的梯形公式、辛扑生公式等牛顿-柯特斯公式计算积分。
2. 会用高斯公式计算积分。
3. 掌握数值微分的计算方法。
二 实验内容1.分别用复化的梯形公式和辛扑生公式计算积分。
⎰90dx x M=4 2.给定下列表格值利用四点式(n=3)求)50()50('''f f 和的值。
三 实验步骤(算法)与结果1复化的梯形公式:()()()()01121222bM M a h h h f x dx f f f f f f b a h M -=+++++-=⎰基于上述公式,进行编程,程序代码如下:#include"stdio.h"#include"math.h"#define M 4int main(){float a=9,b=0;int i;float h;float x[M+1];float f=0;h=(a-b)/M;for(i=0;i<M+1;i++){x[i]=b+h*i;}for(i=0;i<M;i++){f=f+h/2*((sqrt(x[i]))+(sqrt(x[i+1])));}printf("\n%f\n",f);return 0;}运行结果如下:复化的辛扑生公式:()()()()01351246243323bM M a M h h f x dx f f f f f f h f f f f b ah M--=+++++++++++-=⎰基于上述公式,进行编程计算,程序代码如下: #include"stdio.h"#include"math.h"#define M 4int main(){float a=9,b=0;int i;float h;float x[M+1];float f=0;h=(a-b)/M;for(i=0;i<M+1;i++){x[i]=b+h*i;}for(i=0;i<M/2;i++){f=f+(h/3)*((sqrt(x[2*i]))+4*(sqrt(x[2*i+1]))+(sqrt(x[2*i+2]))); }printf("\n%f\n",f);return 0;}运算结果如下:2一阶和二阶数值微分公式四点式:()()()()'00123''00123211118926112302466f x y y y y h f x y y y y h ≈-+-+≈-+-基于上述公式,进行编程计算,程序代码如下: #include"stdio.h"int main(){float x[4]={50,55,60,65};float y[4]={1.6990,1.7404,1.7782,1.8129};float f1,f2;float h=x[1]-x[0];f1=(1/(6*h))*(-11*y[0]+18*y[1]-9*y[2]+2*y[3]); f2=(1/(6*h*h))*(12*y[0]-30*y[1]+24*y[2]-6*y[3]);printf("f1=%f",f1);printf("\nf2=%f",f2);return 0;}运算结果如下:四实验收获与教师评语。
数值分析课程——数值积分实验报告
0.74718 0.946146
0.746834 0.946083
1 0
sin x x
分析:随着结点数目的增加,积分公式的代数精度逐渐增高,截断误差减小,得到的 结果也越加接近精确值。
(2) 编写 C++程序,分别用区间逐次分半的复化梯形公式和区间逐次分半的复化 Simpson 公式计算上述积分的近似值,比较它们的迭代次数。 答: 精度为 1e-6 积分函数 复化梯形公式 复化 Simpson 公式 1 (迭代次数) (迭代次数) x 0.746823 0.746825 I1 e d x 0 8 22
I1
I2
1
e
0
x
2
dx
dx
0.746824 0.946083
4 4
1 0
sin x x
分析:在相同精度要求下,龙贝格公式的迭代次数比复化梯形公式的迭代次数少,比复 化 Simpson 公式的迭代次数少,因此龙贝格公式的收敛速度比复化梯形公式的收敛速度 快,比复化 Simpson 公式的收敛速度快。
应用高阶的newtoncotes型求积公式计算积分会出现数值不稳定而低阶公式又因为积分区间步长过大使得离散误差很大然而若积分区间愈小则离散误差愈小因此为提高求积公式的精确度可以将积分区间分成若干个子区间在每个子区间上使用低阶求积公式然后将计算的结果加起来据成了复化求积公式
数值分析课程—数值积分实验报告
dx
1 0
sin x x
精度要求 1 0
6
。
(1) 编写 C++程序,分别用梯形公式、Simpson 公式和 Cotes 公式计算上述积分的近似值。 并对计算结果作一比较。 答: 梯形公式 Simpson 公式 Cotes 公式
数值分析实习报告
一、实习背景随着科学技术的飞速发展,数值分析在各个领域都得到了广泛的应用。
为了更好地掌握数值分析的基本理论和方法,提高自己的实践能力,我于2023年暑期参加了某科技有限公司的数值分析实习。
二、实习内容1. 数值微分在实习期间,我首先学习了数值微分的基本理论和方法。
通过实际操作,我掌握了使用中心差分法、前向差分法和后向差分法计算函数在某点的导数。
在实际应用中,我使用这些方法对工程问题中的函数进行了导数计算,为后续的数值积分和数值求解提供了基础。
2. 数值积分接下来,我学习了数值积分的基本理论和方法。
在实习过程中,我掌握了梯形法则、辛普森法则和柯特斯法则等数值积分方法。
通过实际操作,我能够对函数进行数值积分,并在实际工程问题中应用这些方法。
3. 线性方程组求解线性方程组在数值分析中具有广泛的应用。
在实习期间,我学习了高斯消元法、LU 分解法、Cholesky分解法等求解线性方程组的方法。
通过实际操作,我能够对大规模线性方程组进行求解,并在实际工程问题中应用这些方法。
4. 最优化方法最优化方法是数值分析中的重要分支。
在实习期间,我学习了梯度下降法、牛顿法、共轭梯度法等最优化方法。
通过实际操作,我能够对实际问题进行最优化求解,并在实际工程问题中应用这些方法。
5. 数值求解微分方程微分方程在科学研究和工程应用中具有重要作用。
在实习期间,我学习了欧拉法、龙格-库塔法等数值求解微分方程的方法。
通过实际操作,我能够对微分方程进行数值求解,并在实际工程问题中应用这些方法。
三、实习收获1. 提高了数值分析的理论水平。
通过实习,我对数值分析的基本理论和方法有了更深入的理解。
2. 增强了实际操作能力。
在实习过程中,我熟练掌握了各种数值分析方法的实际操作,提高了自己的动手能力。
3. 培养了团队合作精神。
在实习过程中,我与团队成员密切合作,共同完成实习任务,提高了自己的团队协作能力。
4. 了解了数值分析在工程应用中的重要性。
数值分析实验报告数值积分
4
用龙贝格算法求解积分
首先得到龙贝格积分表
RT =
0.92064341802145 0 0 0
0.93969524184872 0.94604584979115 0 0
0.94441400943698 0.94598693196639 0.94598300411141 0
0.945590985433080.94598331076511 0.94598306935170 0.94598307038726
迭代次数
迭代结果
迭代次数
迭代结果
0
0.94604584
2
0.94598331
1
0.94598693
3
0.94598308
通过计算可以发现,用复化Simpson公式,当迭代3次时,迭代误差小于
(3)用龙贝格算法求解积分
首先得到龙贝格积分表
RT =
0.683939720585721 0 0
0.731370251828563 0.747180428909510 0 0
用区间逐次分半的复化Simpson公式计算上述积分的近似值
迭代次数
迭代结果
迭代次数
迭代结果
0
0.74718042
3
0.74682425
1
0.74685537
4
0.746824140
2
0.74682612
通过计算可以发现,用复化Simpson公式,当迭代4次时,迭代误差小于
对于积分 ,用区间逐次分半的复化梯形公式计算上述积分的近似值。
(3)复化梯形公式设计算法如下:
1输入求积区间 及精度要求 ,令 , 计算
数值分析数值微积分实验
实验报告
一、实验目的
复化求积公式计算定积分。
二、实验题目
1.用复化梯形公式、复化辛普森公式求下列定积分,要求绝对误差为3
10-=ε,并将计算结果与精确解进行比较: dx e x e x 232
143
2⎰= 三、实验原理
复化求积公式程序,复化辛普森公式程序。
四、实验内容及结果
五、实验结果分析
实验1中复化梯形公式和复化辛普森公式的比较:
运行复化梯形公式的时候,因为要去找区分精度,所以花的时间比较长,需要将区间分为365份时才能达到规定的误差范围。
而复化辛普森公式则只需要将区间分为12份即可。
说明复化辛普森比较好。
数值分析实验报告1
数值分析实验报告1数值分析上机实验报告(注:本实验报告中所有程序均为MATLAB语⾔程序)班级:姓名:学号:⼀章1、利⽤数值积分计算n I =21n x ex e -?dx (n=0,1,2,……). ⽬的:定积分数值求解原理:梯形公式法程序:clearformat long ;k=input('k=');m=input('m=');for n=1:kh=1/m;x=0:h:1;f=x.^n.*exp(x.^2);for i=1:ms(i)=(f(i)+f(i+1))*h/2;ends=sum(s);I(n)=exp(-1)*s;endI 运⾏结果:k=9m=1000I =Columns 1 through 60.3160604988 0.2309605799 0.1839401373 0.1535601302 0.1321211422 0.1161015912Columns 7 through 90.1036390735 0.0936475974 0.08544762262、利⽤秦九韶算法计算当0a =5,n a =21n a -+3;n=100,x=0.5;n=150,x=13多项式n p (x )=n a n x +…11n n a x --…1a x +0a 的值。
⽬的:通过调整程序以简化计算步骤,减少运算次数原理:秦久韶算法程序:n=input('n=');x=input('x=');a(1)=5;for k=1:n;a(k+1)=2.*a(k)+3;ends(n+1)=a(n+1);for i=n:-1:1s(i)=x.*s(i+1)+a(i);endPnx=s(1)运⾏结果:n=100x=0.5Pnx =802.0000000n=150x=13Pnx =1.4659714820e+2133、设0Y =28,按递推公式n Y = 1n Y -100Y ,500Y ≈27.982(五位有效数字),试问计算100Y 、500Y 将有多⼤的误差。
数值分析的实验报告
数值分析的实验报告数值分析的实验报告导言数值分析是一门研究数值计算方法和数值计算误差的学科,它在科学计算、工程技术和社会经济等领域具有广泛的应用。
本实验旨在通过对数值分析方法的实际应用,验证其有效性和可靠性。
实验一:方程求根方程求根是数值分析中的基础问题之一。
我们选取了一个非线性方程进行求解。
首先,我们使用二分法进行求解。
通过多次迭代,我们得到了方程的一个近似解。
然后,我们使用牛顿法进行求解。
与二分法相比,牛顿法的收敛速度更快,但需要选择一个初始点。
通过比较两种方法的结果,我们验证了牛顿法的高效性。
实验二:插值与拟合插值与拟合是数值分析中常用的数据处理方法。
我们选取了一组实验数据,通过拉格朗日插值法和最小二乘法进行插值和拟合。
通过对比两种方法的拟合效果,我们验证了最小二乘法在处理含有噪声数据时的优势。
同时,我们还讨论了插值和拟合的精度与样本点数量之间的关系。
实验三:数值积分数值积分是数值分析中的重要内容之一。
我们选取了一个定积分进行计算。
首先,我们使用复化梯形公式进行积分计算。
通过增加分割区间的数量,我们得到了更精确的结果。
然后,我们使用复化辛普森公式进行积分计算。
与复化梯形公式相比,复化辛普森公式具有更高的精度。
通过比较两种方法的结果,我们验证了复化辛普森公式的优越性。
实验四:常微分方程数值解常微分方程数值解是数值分析中的重要应用之一。
我们选取了一个常微分方程进行数值解的计算。
首先,我们使用欧拉方法进行数值解的计算。
然后,我们使用改进的欧拉方法进行数值解的计算。
通过比较两种方法的结果,我们验证了改进的欧拉方法的更高精度和更好的稳定性。
实验五:线性方程组的数值解法线性方程组的数值解法是数值分析中的重要内容之一。
我们选取了一个线性方程组进行数值解的计算。
首先,我们使用高斯消元法进行数值解的计算。
然后,我们使用追赶法进行数值解的计算。
通过比较两种方法的结果,我们验证了追赶法在求解三对角线性方程组时的高效性。
数值积分上机实验报告
一、实验目的1. 理解数值积分的概念及其在实际应用中的重要性;2. 掌握数值积分的常用方法,如梯形法、辛普森法、高斯法等;3. 利用计算机编程实现数值积分算法,提高编程能力;4. 分析不同数值积分方法在精度和效率方面的差异。
二、实验内容1. 实现梯形法、辛普森法和高斯法;2. 对给定函数进行数值积分,比较不同方法的精度和效率;3. 分析误差来源,提出改进措施。
三、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 数值计算库:NumPy四、实验步骤1. 实现梯形法:```pythonimport numpy as npdef trapezoidal_rule(f, a, b, n):h = (b - a) / nresult = 0.5 (f(a) + f(b))for i in range(1, n):result += f(a + i h)result = hreturn result```2. 实现辛普森法:```pythondef simpson_rule(f, a, b, n):h = (b - a) / nresult = f(a) + f(b)for i in range(1, n):if i % 2 == 1:result += 4 f(a + i h)else:result += 2 f(a + i h)result = h / 3return result```3. 实现高斯法:```pythondef gauss_quadrature(f, a, b, n):x = np.linspace(a, b, n)w = 2 (b - a) / (3 n) np.ones(n)return np.dot(w, f(x))```4. 对给定函数进行数值积分,比较不同方法的精度和效率:```pythondef f(x):return np.sin(x)a = 0b = np.pin = 10result_trapezoidal = trapezoidal_rule(f, a, b, n)result_simpson = simpson_rule(f, a, b, n)result_gauss = gauss_quadrature(f, a, b, n)print("梯形法结果:", result_trapezoidal)print("辛普森法结果:", result_simpson)print("高斯法结果:", result_gauss)```5. 分析误差来源,提出改进措施:通过比较梯形法、辛普森法和高斯法的结果,我们可以发现高斯法在精度和效率方面都优于梯形法和辛普森法。
数值分析实验报告
数值分析实验报告一、实验目的数值分析是一门研究用计算机求解数学问题的数值方法及其理论的学科。
本次实验的目的在于通过实际操作和编程实现,深入理解和掌握数值分析中的常见算法,提高运用数值方法解决实际问题的能力,并对算法的精度、稳定性和效率进行分析和比较。
二、实验环境本次实验使用的编程语言为 Python,使用的开发工具为 PyCharm。
实验所依赖的主要库包括 NumPy、Matplotlib 等。
三、实验内容(一)函数逼近与插值1、拉格朗日插值法通过给定的离散数据点,构建拉格朗日插值多项式,对未知点进行函数值的估计。
2、牛顿插值法与拉格朗日插值法类似,但采用了不同的形式和计算方式。
(二)数值积分1、梯形公式将积分区间划分为若干个梯形,通过计算梯形面积之和来近似积分值。
2、辛普森公式基于抛物线拟合的方法,提高积分近似的精度。
(三)线性方程组求解1、高斯消元法通过逐行消元将线性方程组化为上三角形式,然后回代求解。
2、 LU 分解法将系数矩阵分解为下三角矩阵 L 和上三角矩阵 U,然后通过两次前代和回代求解。
(四)非线性方程求解1、二分法通过不断将区间一分为二,逐步缩小根所在的区间,直到满足精度要求。
2、牛顿迭代法利用函数的切线来逼近根,通过迭代逐步收敛到根的近似值。
四、实验步骤(一)函数逼近与插值1、拉格朗日插值法定义计算拉格朗日基函数的函数。
根据给定的数据点和待求点,计算插值多项式的值。
输出插值结果,并与真实值进行比较。
2、牛顿插值法计算差商表。
构建牛顿插值多项式。
进行插值计算和结果分析。
(二)数值积分1、梯形公式定义积分区间和被积函数。
按照梯形公式计算积分近似值。
分析误差。
2、辛普森公式同样定义积分区间和被积函数。
运用辛普森公式计算积分近似值。
比较与梯形公式的精度差异。
(三)线性方程组求解1、高斯消元法输入系数矩阵和右端项向量。
进行消元操作。
回代求解方程。
输出解向量。
2、 LU 分解法对系数矩阵进行 LU 分解。
工程数值分析实验报告(3篇)
第1篇一、实验目的本次实验旨在通过数值分析的方法,对工程实际问题进行建模、求解和分析。
通过学习数值方法的基本原理和算法,提高解决实际工程问题的能力。
二、实验内容1. 线性方程组的求解2. 矩阵特征值与特征向量的计算3. 函数插值与曲线拟合4. 数值微分与积分三、实验步骤1. 线性方程组的求解(1)编写程序实现高斯消元法、克劳斯消元法和列主元素法(2)设计输入界面,用户输入增广矩阵的行和列,填写系数及常数项(3)分别运用三种方法求解线性方程组,比较求解结果的正确性、数值稳定性和计算效率2. 矩阵特征值与特征向量的计算(1)编写程序实现幂法、QR算法和逆幂法(2)设计输入界面,用户输入矩阵的行和列,填写矩阵元素(3)分别运用三种方法计算矩阵的特征值与特征向量,比较求解结果的准确性和计算效率3. 函数插值与曲线拟合(1)编写程序实现拉格朗日插值、牛顿插值和样条插值(2)设计输入界面,用户输入函数的自变量和函数值,选择插值方法(3)分别运用三种方法进行函数插值,比较插值结果的准确性和光滑性4. 数值微分与积分(1)编写程序实现有限差分法、龙格-库塔法和辛普森法(2)设计输入界面,用户输入函数的导数或积分的上下限,选择数值方法(3)分别运用三种方法进行数值微分和积分,比较求解结果的准确性和计算效率四、实验结果与分析1. 线性方程组的求解通过实验,我们发现列主元素法在求解线性方程组时具有较好的数值稳定性,计算效率也较高。
而高斯消元法和克劳斯消元法在处理大型稀疏矩阵时存在一定的困难。
2. 矩阵特征值与特征向量的计算实验结果表明,QR算法和逆幂法在计算矩阵特征值与特征向量时具有较高的准确性和计算效率。
幂法在处理大型稀疏矩阵时表现出较好的性能。
3. 函数插值与曲线拟合在函数插值和曲线拟合实验中,样条插值方法具有较好的准确性和光滑性。
拉格朗日插值和牛顿插值方法在处理简单函数时表现良好,但在处理复杂函数时可能存在精度问题。
《数值分析》课程实验报告范文
《数值分析》课程实验报告范文《数值分析》课程实验报告姓名:学号:学院:机电学院日期:2022年某月某日目录实验一函数插值方法1实验二函数逼近与曲线拟合5实验三数值积分与数值微分7实验四线方程组的直接解法9实验五解线性方程组的迭代法15实验六非线性方程求根19实验七矩阵特征值问题计算21实验八常微分方程初值问题数值解法24实验一函数插值方法一、问题提出对于给定的一元函数的n+1个节点值。
试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。
实验二函数逼近与曲线拟合一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。
在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t的拟合曲线。
t(分)051015202530354045505501.272.162.863.443.874.154.374.51 4.584.024.64二、要求1、用最小二乘法进行曲线拟合;2、近似解析表达式为;3、打印出拟合函数,并打印出与的误差,;4、另外选取一个近似表达式,尝试拟合效果的比较;5、某绘制出曲线拟合图。
三、目的和意义1、掌握曲线拟合的最小二乘法;2、最小二乘法亦可用于解超定线代数方程组;3、探索拟合函数的选择与拟合精度间的关系四、实验步骤:第一步先写出线性最小二乘法的M文件functionc=lpoly(某,y,m)n=length(某);b=zero(1:m+1);f=zero(n,m+1); fork=1:m+1f(:,k)=某.^(k-1);enda=f'某f;b=f'某y';c=a\b;c=flipud(c);第二步在命令窗口输入:>>lpoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.02,4.64],2)回车得到:an=-0.00240.20370.2305即所求的拟合曲线为y=-0.0024某2+0.2037某+0.2305在编辑窗口输入如下命令:>>某=[0,5,10,15,20,25,30,35,40,45,50,55];>>y=-0.0024某某.^2+0.2037某某+0.2305;>>plot(某,y)命令执行得到如下图五、实验结论分析复杂实验数据时,常采用分段曲线拟合方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I2
1
e
0
x
2
dx
dx
0.746824 0.946083
4 4
1 0
sin x x
分析:在相同精度要求下,龙贝格公式的迭代次数比复化梯形公式的迭代次数少,比复 化 Simpson 公式的迭代次数少,因此龙贝格公式的收敛速度比复化梯形公式的收敛速度 快,比复化 Simpson 公式的收敛速度快。
实验地点 任课教师 学号 实验时间 评分
数值积分
姓名
一、实验目的
① ② ③ ④ 体会数值积分的基本概念; 掌握低阶的插值型数值积分公式; 掌握区间逐次分半的复化求积方法; 掌握龙贝格算法的基本思路和迭代步骤;
二、用文字或图表记录实验过程和结果
计算积分:
I1
2
三、练习与思考题分析解答
练习思考
(1) 为什么要引进复化求积的方法? 答:应用高阶的 newton-cotes 型求积公式计算积分会出现数值不稳定,而低阶公 式又因为积分区间步长过大使得离散误差很大,然而,若积分区间愈小,则 离散误差愈小,因此,为提高求积公式的精确度,可以将积分区间分成若干 个子区间,在每个子区间上使用低阶求积公式,然后将计算的结果加起来, 据成了复化求积公式。 (2) 简述为什么引进区间逐次分半的思想,什么是区间逐次分半法(即自适应求积步 长法)? 答:在应用复合求积公式时,为了保证计算结果的精度,往往需要确定步长取多 大,我们希望计算机自动选择积分步长,计算出满足精度要求的积分近似值。 我们将积分区间逐次分半,使用复合求积公式计算出积分近似值后随时比较 相邻两次结果,若二者之差小于所允许的误差界限,则最后计算结果作为积 分近似值。即为区间逐次分半法。
3
四、本次实验的重点难点分析
1、本次实验的重点是理解如何将积分公式转化为数值计算,并且熟练掌握基本的梯 形,simpson 和龙贝格公式及他们的复化形式,分别区分开来他们各自的作用和优缺点,便于 以后更方便的使用。 2、难点在于对复化梯形、复化 simpson、龙贝格基本思路的熟悉掌握以及熟悉它们迭 代过程,能够通过算法,将其转化为 C++格式,然后在计算机上实现计算过程。 3、在编写过程中发现,精度控制是很重要的,对于不同精度下的计算,结果会出现 偏差,因此要选择合适的精度,才能得到和精确解比较接近的结果。另外,在比较收敛速度 时也要注意所比较的对象是不是在相同的精度下,才能达到比较的效果,换句话说,在学习 上,也要有“细节决定成败”的思维。 4、在输出迭代次数时,要注意迭代次数与那个变量对应,在变量多的情况喜爱更要 分清楚。
dx
0.68394 0.920735
0.74718 0.946146
0.746834 0.946083
1 0
sin x x
分析:随着结点数目的增加,积分公式的代数精度逐渐增高,截断误差减小,得到的 结果也越加接近精确值。
(2) 编写 C++程序,分别用区间逐次分半的复化梯形公式和区间逐次分半的复化 Simpson 公式计算上述积分的近似值,比较它们的迭代次数。 答: 精度为 1e-6 积分函数 复化梯形公式 复化 Simpson 公式 1 (迭代次数) (迭代次数) x 0.746823 0.746825 I1 e d x 0 8 22
2
I2
1 0
sin x x
dx
0.946082
7
0.946084
22
分析:在相同精度条件下,由于迭代次数越少,收敛速度越快,所以复化 Simpson 公式的收 敛速度比复化梯形公式的收敛速度慢。
1
(3) 编写龙贝格算法的 C++程序,并用以计算上述积分,与(2)比较迭代次数。 注:迭代次数是收敛快慢的指标之一 积分函数 龙贝格
I2
1
e
0
x
2
dx
dx
1 0
sin x x
精度要求 1 0
6
。
(1) 编写 C++程序,分别用梯形公式、Simpson 公式和 Cotes 公式计算上述积分的近似值。 并对计算结果作一比较。 答: 梯形公式 Simpson 公式 Cotes 公式
I1
I2
1
e
0
x
2
dx
4