数值分析

数值分析
数值分析

数值分析上机报告

前言

随着计算机技术的高速发展,越来越多的科技工作者使用计算机进行科学研究和解决工程技术问题。数值分析(或计算方法)课程的内容是科学工程计算的必备知识,已经成为众多理工科大学生、研究生的必修课程,越来越受到重视。

由于工程实际中所遇到的数学模型求解过程迭代次数很多,计算量很大,所以需要借助很多编程软件来解决,得到一个满足误差限的解。本文所计算题目,均采用C++编程。在本文中使用C++编写了牛顿法、牛顿-Steffensen法方程求解的程序和雅格比法、高斯-赛德尔迭代法求解方程组的程序及Ru n ge-Kutt a4阶算法,并通过实例求解验证了其可行性,比较了求解同一种问题时不同方法之间的优缺性,其中包含解的精确度和解的收敛速度两个重要指标。

一 牛顿法和牛顿-Steffensen 法迭代求解的比较

1. 计算题目

分别用牛顿法,及基于牛顿算法下的Steffensen 加速法

(1) 求ln(x +sin x )=0的根。初值x0分别取0.1, 1,1.5, 2, 4进行计算。 (2) 求sin x =0的根。初值x0分别取1,1.4,1.6, 1.8,3进行计算。 分析其中遇到的现象与问题。

2. 计算过程和结果

1.对方程ln(x +sin x )=0,其导数有些复杂,我们可以对其进行变形,即求解x+sinx=1的解。使用牛顿法,令1sin )(-+=x x x f ,则x x f cos 1)(+=',直至

5

110

1||-+?<-k k x x 时,结束迭代;然后再使用基于牛顿法的Steffensen 加速法进

行计算,直至51101||-+?<-k k x x 时,结束迭代。其迭代结果与迭代次数如下表所示(注N1为牛顿法迭代次数,N2为基于牛顿法Steffensen 加速法迭代次数):

2.对方程sin x =0,使用牛顿法时,令x x f sin )(=,使用牛顿法计算,直至

5

110

1||-+?<-k k x x 时,结束迭代;然后依据Steffensen 加速法进行编程计算,直

至51101||-+?<-k k x x 时,结束迭代。其迭代结果与迭代次数如下表所示:

附:

第一问牛顿法

#include

#include

#define EPS 1.0e-5

int main()

{

double x=0.0;

double y=0.0;

int n=0;

cout<<"请输入初值X0"<

cin>>x;

do

{

y=x;

x=x-(x+sin(x)-1)/(1+cos(x));

n++;

}

while(fabs(x-y)>=EPS);

cout<<"X"<

cout<<"迭代次数为N="<

}

第一问牛顿-Steffensen法

#include

#include

#define EPS 1.0e-5

int main()

{

double x=0.0;

double y=0.0;

double z=0.0;

double a=0.0;

int n=0;

cout<<"请输入初值x0"<

cin>>x;

do

{

a=x;

y=x-(x+sin(x)-1)/(1+cos(x));

z=y-(y+sin(y)-1)/(1+cos(y));

x=x-(y-x)*(y-x)/(z-2*y+x);

n++;

}

while(fabs(x-a)>=EPS);

cout<<"x"<

cout<<"迭代次数N="<

}

第二问牛顿法

#include

#include

#define EPS 1.0e-5

int main()

{

double x=0.0;

double y=0.0;

int n=0;

cout<<"请输入初值X0"<

cin>>x;

do

{

y=x;

x=x-tan(x);

n++;

}

while(fabs(x-y)>=EPS);

cout<<"X"<

cout<<"迭代次数为N="<

}

第二问牛顿-Steffensen法

#include

#include

int main()

{

double x=0.0;

double y=0.0;

double z=0.0;

double a=0.0;

int n=0;

cout<<"请输入初值x0"<

cin>>x;

do

{

a=x;

y=x-tan(x);

z=y-tan(y);

x=x-(y-x)*(y-x)/(z-2*y+x);

n++;

}

while(fabs(x-a)>=1.0E-05);

cout<<"x"<

cin>>n;

cout<<"请输入数组A:";

for(i=0;i

for(j=0;j

cin>>a[i][j];

cout<<"请输入数组B:";

for(i=0;i

cin>>b[i];

cout<<"请输入初始X:";

for(i=0;i

cin>>x[i];

do

{for(i=0;i

{for(j=0;j

sum=sum+a[i][j]*x[j];

for(j=i+1;j

sum=sum+a[i][j]*x[j];

y[i]=(b[i]-sum)/a[i][i];

sum=0;

}

c=0;

for(i=0;i

if(c

c=fabs(x[i]-y[i]);

if(c>0.00001)

c=0;

else s=1;

for(i=0;i

x[i]=y[i];

k++;

}while(s!=1);

for(i=0;i

cout<<"解为:"<

cout<<"N="<

return 0;

}

高斯-赛德尔迭代法

#include

#include

using namespace std ;

int main( )

{

double a[10][10],b[10],sum=0.0,x[10],y[10],c,s=0.0,z[10];

int i,k=0,n,j;

cout<<"请输入维数:";

cin>>n;

cout<<"请输入数组A:";

for(i=0;i

for(j=0;j

cin>>a[i][j];

cout<<"请输入数组B:";

for(i=0;i

cin>>b[i];

cout<<"请输入初始X:";

for(i=0;i

cin>>x[i];

do

{for(i=1;i

z[i]=x[i];

for(i=0;i

{for(j=0;j

sum=sum+a[i][j]*x[j];

for(j=i+1;j

sum=sum+a[i][j]*x[j];

y[i]=(b[i]-sum)/a[i][i];

sum=0;

x[i]=y[i];

}

c=0;

for(i=0;i

if(c

c=fabs(z[i]-y[i]);

if(c>0.00001)

c=0;

else s=1;

for(i=0;i

z[i]=y[i];

k++;

}while(s!=1);

for(i=0;i

cout<<"解为:"<

cout<<"N="<

return 0;

}

3. 结果分析

问题(1)中因系数矩阵严格对角占优,所以,无论采用Jacobi迭代法还是Causs-Seidel迭代法,其迭代过程均收敛。从迭代次数来看,方程组Ax=b1中Jacobi 迭代法使用迭代次数20次,而Causs-Seidel迭代法使用迭代次数12次;方程组Ax=b2中Jacobi迭代法使用迭代次数26次,而Causs-Seidel迭代法使用迭代次数17次。可明显看出,在方程组绝对收敛的条件下,Causs-Seidel迭代法比Jacobi 迭代法收敛速度快。

问题(2)中,使用Jacobi迭代法方法时,其方程组不收敛,而采用Causs-Seidel 迭代法迭代时,方程Ax=b1迭代37次,得到准确解;方程Ax=b2迭代44次,

得到准确解。这是因为,Jacobi 迭代矩阵为:0

8

.08

.08.008

.08

.08.00------ ,经计算其特征值λ为-1.6,0.8,0.8,其谱半径为=)(B ρ 1.6>1,所以其迭代矩阵发散。而

Causs-Seidel 迭代矩阵为:768

.0128

.00

16.064.00

8

.08.00

---,经计算其特征值λ为0,0.7040 + 0.1280i ,0.704280i ,其谱半径为=)(B ρ0.7155<1,所以采用Causs-Seidel 迭代法时,方程收敛。

问题(3)中,采用Jacobi 迭代法和Causs-Seidel 迭代法其方程均不收敛,这是因为,Jacobi 迭代矩阵为:

7

30-,经计算其特征值λ为-4.5826i ,4.5826i

其谱半径为=)(B ρ 4.5826>1,迭代方法发散。Causs-Seidel 迭代矩阵为:21

30--,

经计算其特征值λ为0,21,其谱半径为=)(B ρ,21>1,迭代方法发散。如果将方程系数矩阵两行进行交换,则为严格对角优势阵,无论采用Jacobi 迭代法还是Causs-Seidel 迭代法,其矩阵均收敛。

三 Ru n ge-Kutt a 4阶算法中不同步长对稳定区间的作用

1. 计算题目

用Ru n ge-Kutt a 4阶算法对初值问题y /=-20*y ,y (0)=1按不同步长求解,用于观察稳定区间的作用,推荐两种步长h=0.1,0.2。 注:此方程的精确解为:y =e -20x

2. 计算过程与结果

使用C++中函数调用功能,对Ru n ge-Kutt a 4阶算法,分别采用步长h=0.1,0.2计算,得:

附:

Ru n ge-Kutt a 4阶算法

#include

void main(){

double x0,y0,h,x;

double x1,y1,k1,k2,k3,k4;

cout<<"请输入初值x0,y0:";

cin>>x0>>y0;

cout<<"请输入最大X:";

cin>>x;

cout<<"请输入步长的大小:"; cin>>h;

double f(double x,double y);

for(int n=1;n<=x/h;n++,x0=x1,y0=y1)

{

x1=x0+h;

k1=f(x0,y0);

k2=f(x0+h/2,y0+(h/2)*k1);

k3=f(x0+h/2,y0+(h/2)*k2);

k4=f(x0+h,y0+h*k3);

y1=y0+h*(k1+2*k2+2*k3+k4)/6;

}

cout<<"y1="<

}

double f(double x,double y){

return -20*y;

}

3. 结果分析

λ,h=0.2时,λh=-4,而Ru n ge-Kutt a 4阶算法的绝对稳定区间是=

-

20

[-2.78,0],故h=0.2时计算不稳定;而h=0.1时,λh=-2,在绝对稳定区间内,计算稳定,结果可靠。

总结

通过这次上机练习,让我对数值分析所介绍的迭代求解方法及其理论有了更深层次的理解,了解了各种方法之间的优缺点,并且认识到了自己在以前的学习中所存在的问题,及时的修补了自己知识上的漏洞。同时也提高了我在编写程序上的熟练程度,复习了以前所学的知识。本次上机实习是非常有意义的,给予我在编程与数值分析学习很大的帮助。

用计算器求超越方程数值解的几个简单有趣的例子

用计算器求超越方程数值解的几个简单有趣的例子 孟也清(原创)REV1.02 01052013 很显然,这些超越方程都可以编个简单程序解决,但这里说的是仅使用普通函数计算器, JUST FOR FUN! 解方程1 X=Cos(X) 这可能是世界上最简单的用函数计算器迭代方式解超越方程的例子了,只要你连续按函数计算器上的COS键。第一个近似解可以是计算器上显示的任何数字,如一开机为0就可按键,或是99999999都无所谓,因为COS是周期函数,所有数字都会以2π为模。 按键若干次后你就看到那个解趋近你使用的计算器的最高精度。 在8位计算器上得到X=0.7390851,约按键50次, 在10位计算器上得到X=0.739085133,约按键52次, 在Windows上的32位计算器上为X=0.73908513321516064165531208767387,约按键200次。 注意上面X是弧度 若X是“度“则收敛更快, 仅10次即可得到32位解X=0.9998477415310881129598107686798 解方程2 X= - LOG(X) 见下图,蓝色为y=log(x), 紫色为y=-x, 交点约为X=0.4 若用X取对数再取正值后再迭代,其过程发散。 所以这样解, 将两次相近的解的几何平均值代回去迭代。有弦位法的意思。 X0=0.4 X1’=-Log(X0) =0.39794 X1=(X0+X1’)/2=0.39897 经过10次迭代可得到 X10=0.399012978260252 用几何平均值代回去迭代,也是10次,因为Xn范围很小。 1

解方程3 X=10LOG(X) 若X为功率,而10LOG(X)表示dBm,则在数值上有两个点它们是相等的。 即求解方程X=10LOG(X)的两个解。 见下图,蓝色为y=x, 紫色为y=10log(x), 交点2约为X=10,y=10LOG(10)=10,此点可用直接迭代求出,但收敛速度不很快。 交点1约为X=1.4,此点用直接迭代或上面平均值迭代均发散,反而在计算器上用凑数法比较快,为1.371288573~4 当然可考虑牛顿法(切线法)切线法似乎也会发散。弦位法应可以,没试过。 2

数值计算方法学习心得

数值计算方法学习心得 ------一个代码的方法是很重要,一个算法的思想也很重要,但 在我看来,更重要的是解决问题的方法,就像爱因斯坦说的内容比 思维本身更重要。 我上去讲的那次其实做了挺充分的准备,程序的运行,pdf文档,算法公式的推导,程序伪代码,不过有一点缺陷的地方,很多细节 没有讲的很清楚吧,下来之后也是更清楚了这个问题。 然后一学期下来,总的来说,看其他同学的分享,我也学习到 许多东西,并非只是代码的方法,更多的是章胜同学的口才,攀忠 的排版,小冯的深入挖掘…都是对我而言比算法更加值得珍惜的东西,又骄傲地回想一下,曾同为一个项目组的我们也更加感到做项 目对自己发展的巨大帮助了。 同时从这些次的实验中我发现以前学到的很多知识都非常有用。 比如说,以前做项目的时候,项目导师一直要求对于要上传的 文件尽量用pdf格式,不管是ppt还是文档,这便算是对产权的一种 保护。 再比如代码分享,最基础的要求便是——其他人拿到你的代码 也能运行出来,其次是代码分享的规范性,像我们可以用轻量级Ubuntu Pastebin,以前做过一小段时间acm,集训队里对于代码的分享都是推荐用这个,像数值计算实验我觉得用这个也差不多了,其 次项目级代码还是推荐github(被微软收购了),它的又是可能更 多在于个人代码平台的搭建,当然像readme文档及必要的一些数据 集放在上面都更方便一些。

然后在实验中,发现debug能力的重要性,对于代码错误点的 正确分析,以及一些与他人交流的“正规”途径,讨论算法可能出 错的地方以及要注意的细节等,比如acm比赛都是以三人为一小组,讨论过后,讲了一遍会发现自己对算法理解更加深刻。 然后学习算法,做项目做算法一般的正常流程是看论文,尽量 看英文文献,一般就是第一手资料,然后根据论文对算法的描述, 就是如同课上的流程一样,对算法进一步理解,然后进行复现,最 后就是尝试自己改进。比如知网查询牛顿法相关论文,会找到大量 可以参考的文献。 最后的最后,想说一下,计算机专业的同学看这个数值分析, 不一定行云流水,但肯定不至于看不懂写不出来,所以我们还是要 提高自己的核心竞争力,就是利用我们的优势,对于这种算法方面 的编程,至少比他们用的更加熟练,至少面对一个问题,我们能思 考出对应问题的最佳算法是哪一个更合适解决问题。 附记: 对课程的一些小建议: 1. debug的能力不容忽视,比如给一个关于代码实现已知错误的代码给同学们,让同学们自己思考一下,然后分享各自的debug方法,一步一步的去修改代码,最后集全班的力量完成代码的debug,这往往更能提升同学们的代码能力。 2. 课堂上的效率其实是有点低的,可能会给学生带来一些负反馈,降低学习热情。 3. 总的来说还是从这门课程中学到许多东西。 数值分析学习心得体会

东南大学数值分析上机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-21222N S N +++=,计算N S 的通用 程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222-++--+ -=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-21222N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 2 22 -++--+-= N N S N function sn2=fromsmall(n) %从小到大计算sn2 format long ; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203()

clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

北京大学数值分析试题2015 经过订正

北京大学2014--2015学年第一学期 研究生期末考试试题A (闭卷考试) 课程名称:数值分析 注:计算题取小数点后四位 一、填空题(每空3分,共24分) (1) 设1 2A ?-=-?? ,则A 的奇异值为 。 (2) 设0.00013753x =为真值0.00013759T x =的近似值,则x 有 位有效数字。 (3) 设数据123,,x x x 的绝对误差为0.002,那么123x x x -+的绝对误差约为 ____ _。 (4) )x (l ,),x (l ),x (l n 10是以01,, ,,(2)n x x x n ≥为节点的拉格朗日插值基函数, 则 20 (2)()n k k k x l x =+=∑ 。 (5) 插值型求积公式 2 2 =≈∑? ()()n k k k x f x dx A f x 的求积系数之和0 n k k A ==∑ 。 其中2x 为权函数,1≥n 。 (6)已知(3,4),(0,1)T T x y ==,求Householder 阵H 使Hx ky =,其中k R ∈。 H= 。 (7) 数值求积公式 1 1 2()((0)3f x dx f f f -?? ≈ ++???? ? 的代数精度为___。 (8) 下面Matlab 程序所求解的数学问题是 。 (输入向量x , 输出S ) x =input('输入x :x ='); n=length(x ); S=x (1); for i=2:n if x (i)

数值分析心得体会

数值分析心得体会 篇一:学习数值分析的经验 数值分析实验的经验、感受、收获、建议班级:计算131 学号:XX014302 姓名:曾欢欢 数值分析实验主要就是学习MATLAB的使用以及对数值分析类容的应用,可以使学生更加理解和记忆数值分析学得类容,也巩固了MATLAB的学习,有利于以后这个软件我们的使用。在做实验中,我们需要具备较好的编程能力、明白MATLAB软件的使用以及掌握数值分析的思想,才能让我们独立自主的完成该作业,如果是上述能力有限的同学,需要借助MATLAB的书以及网络来完成实验。数值分析实验对于我来说还是有一定难度,所以我课下先复习了MATLAB的使用方法以及编写程序的基本类容,借助互联网和同学老师资源完成了数值分析得实验的内容。在实验书写中,我复习了各种知识,所以我认为这门课程是有必要且是有用处的,特别是需要处理大量实验数据的人员,很有必要深入了解学习它,这样在以后的工作学习里面就减少了很多计算问题也提高了实验结果的精确度。 学习数值分析的经验、感受、收获、建议数值分析的内容包括插值与逼近,数值微分与数值积分,非线性方程与线性方程组的数值解法,矩阵的特征值与特征向量计算,常微分方程数值解等。

首先我们必须明白数值分析的用途。通常所学的其他数学类学科都是由公式定理开始,从研究他们的定义,性质再到证明与应用。但实际上,尤其是工程,物理,化学等其它具体的学科。往往我们拿到 手的只是通过实验得到的数据。如果是验证性试验,需要代回到公式 进行分析,验证。但往往更多面对的是研究性或试探性试验,无具体 公式定理可代。那就必须通过插值,拟合等计算方法进行数据处理以得到一个相对可用的一般公式。还有许多计算公式理论上非常复杂,在工程中不实用,所以必须根据实际情况把它转化成多项式近似表 示。学习数值分析,不应盲目记公式,因为公事通常很长且很乏味。其次,应从公式所面临的问题以及用途出发。比如插值方法,就 是就是把实验所得的数据看成是公式的解,由这些解反推出一个近似公式,可以具有局部一般性。再比如说拟合,在插值的基础上考虑实 验误差,通过拟合能将误差尽可能缩小,之后目的也是得到一个具有 一定条件下的一般性的公式。。建议学习本门课程要结合知识与实际,比如在物理实验里面很多

东南大学数值分析上机作业汇总

东南大学数值分析上机作业 汇总 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

数值分析上机报告 院系: 学号: 姓名:

目录 作业1、舍入误差与有效数 (1) 1、函数文件cxdd.m (1) 2、函数文件cddx.m (1) 3、两种方法有效位数对比 (1) 4、心得 (2) 作业2、Newton迭代法 (2) 1、通用程序函数文件 (3) 2、局部收敛性 (4) (1)最大δ值文件 (4) (2)验证局部收敛性 (4) 3、心得 (6) 作业3、列主元素Gauss消去法 (7) 1、列主元Gauss消去法的通用程序 (7) 2、解题中线性方程组 (7) 3、心得 (9) 作业4、三次样条插值函数 (10) 1、第一型三次样条插值函数通用程序: (10) 2、数据输入及计算结果 (12)

作业1、舍入误差与有效数 设∑ =-=N j N j S 2 2 11 ,其精确值为?? ? ??---1112321N N . (1)编制按从小到大的顺序1 1 131121222-? ??+-+-=N S N ,计算N S 的通用程序; (2)编制按从大到小的顺序()1 21 11111222-???+--+-=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算642101010,,S S S ,并指出有效位数; (4)通过本上机你明白了什么? 程序: 1、函数文件cxdd.m function S=cxdd(N) S=0; i=2.0; while (i<=N) S=S+1.0/(i*i-1); i=i+1; end script 运行结果(省略>>): S=cxdd(80) S= 0.737577 2、函数文件cddx.m function S=cddx (N) S=0; for i=N:-1:2 S=S+1/(i*i-1); end script 运行结果(省略>>): S=cddx(80) S= 0.737577 3、两种方法有效位数对比

东南大学 数值分析 考试要求

第一章绪论 误差的基本概念:了解误差的来源,理解绝对误差、相对误差和有效数的概念,熟练掌握数据误差对函数值影响的估计式。 机器数系:了解数的浮点表示法和机器数系的运算规则。 数值稳定性:理解算法数值稳定性的概念,掌握分析简单算例数值稳定性的方法,了解病态问题的定义,学习使用秦九韶算法。 第二章非线性方程解法 简单迭代法:熟练掌握迭代格式、几何表示以及收敛定理的内容,理解迭代格式收敛的定义、局部收敛的定义和局部收敛定理的内容。 牛顿迭代法:熟练掌握Newton迭代格式及其应用,掌握局部收敛性的证明和大范围收敛定理的内容,了解Newton法的变形和重根的处理方法。 第三章线性方程组数值解法 (1)Guass消去法:会应用高斯消去法和列主元Guass消去法求解线性方程组,掌握求解三对角方程组的追赶法。 (2)方程组的性态及条件数:理解向量范数和矩阵范数的定义、性质,会计算三种常用范数,掌握谱半径与2- 范数的关系,会计算条件数,掌握实用误差分析法。 (3)迭代法:熟练掌握Jacobi迭代法、Guass-Seidel迭代法及SOR方法,能够判断迭代格式的收敛性。 (4)幂法:掌握求矩阵按模最大和按模最小特征值的幂法。 第四章插值与逼近 (1)Lagrange插值:熟练掌握插值条件、Lagrange插值多项式的表达形式和插值余项。(2)Newton插值:理解差商的定义、性质,会应用差商表计算差商,熟练掌握Newton插值多项式的表达形式,了解Newton型插值余项的表达式。 (3)Hermite插值:掌握Newton型Hermite插值多项式的求法。 (4)高次插值的缺点和分段低次插值:了解高次插值的缺点和Runge现象,掌握分段线性插值的表达形式及误差分析过程。 (5)三次样条插值:理解三次样条插值的求解思路,会计算第一、二类边界条件下的三次样条插值函数,了解收敛定理的内容。 (6)最佳一致逼近:掌握赋范线性空间的定义和连续函数的范数,理解最佳一致逼近多项式的概念和特征定理,掌握最佳一致逼近多项式的求法。 (7)最佳平方逼近:理解内积空间的概念,掌握求离散数据的最佳平方逼近的方法,会求超定方程组的最小二乘解,掌握连续函数的最佳平方逼近的求法。

数值分析

数值分析上机报告

前言 随着计算机技术的高速发展,越来越多的科技工作者使用计算机进行科学研究和解决工程技术问题。数值分析(或计算方法)课程的内容是科学工程计算的必备知识,已经成为众多理工科大学生、研究生的必修课程,越来越受到重视。 由于工程实际中所遇到的数学模型求解过程迭代次数很多,计算量很大,所以需要借助很多编程软件来解决,得到一个满足误差限的解。本文所计算题目,均采用C++编程。在本文中使用C++编写了牛顿法、牛顿-Steffensen法方程求解的程序和雅格比法、高斯-赛德尔迭代法求解方程组的程序及Ru n ge-Kutt a4阶算法,并通过实例求解验证了其可行性,比较了求解同一种问题时不同方法之间的优缺性,其中包含解的精确度和解的收敛速度两个重要指标。

一 牛顿法和牛顿-Steffensen 法迭代求解的比较 1. 计算题目 分别用牛顿法,及基于牛顿算法下的Steffensen 加速法 (1) 求ln(x +sin x )=0的根。初值x0分别取0.1, 1,1.5, 2, 4进行计算。 (2) 求sin x =0的根。初值x0分别取1,1.4,1.6, 1.8,3进行计算。 分析其中遇到的现象与问题。 2. 计算过程和结果 1.对方程ln(x +sin x )=0,其导数有些复杂,我们可以对其进行变形,即求解x+sinx=1的解。使用牛顿法,令1sin )(-+=x x x f ,则x x f cos 1)(+=',直至 5 110 1||-+?<-k k x x 时,结束迭代;然后再使用基于牛顿法的Steffensen 加速法进 行计算,直至51101||-+?<-k k x x 时,结束迭代。其迭代结果与迭代次数如下表所示(注N1为牛顿法迭代次数,N2为基于牛顿法Steffensen 加速法迭代次数): 2.对方程sin x =0,使用牛顿法时,令x x f sin )(=,使用牛顿法计算,直至 5 110 1||-+?<-k k x x 时,结束迭代;然后依据Steffensen 加速法进行编程计算,直 至51101||-+?<-k k x x 时,结束迭代。其迭代结果与迭代次数如下表所示:

数值分析简述及求解应用

数值分析简述及求解应用 摘要:数值分析是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,本文主要介绍了数值分析的一些求解方法的原理和过程,并应用在电流回路和单晶硅提拉过程中的,进一步体现数值分析的实际应用。 关键字:解方程组插值法牛顿法 一、引言 随着科学技术的发展,提出了大量复杂的数值计算问题,在建立电子计算机成为数值计算的主要工具以后,它以数字计算机求解数学问题的理论和方法为研究对象。有可靠的理论分析,要有数值实验,并对计算的结果进行误差分析。数值分析的主要内容包括插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法。运用数值分析解决问题的过程包括: 实际问题→数学建模→数值计算方法→程序设计→上机计算求出结果。 在自然科学研究和工程技术中有许多问题可归结为求解方程组的问题,方程组求解是科学计算中最常遇到的问题。如在应力分析、电路分析、分子结构、测量学中都会遇到解方程组问题。在很多广泛应用的数学问题的数值方法中,如三次样条、最小二乘法、微分方程边值问题的差分法与有限元法也都涉及到求解方程组。 在工程中常会遇到求解线性方程组的问题,解线性方程组的方法有直接法和迭代法,直接法就是经过有限步算术运算,可求的线性方程组精确解的方法(若计算过程没有舍入误差),但实际犹如舍入误差的存在和影响,这种方法也只能求得近似解,这类方法是解低阶稠密矩阵方程组级某些大型稀疏矩阵方程组的有效方法。直接法包括高斯消元法,矩阵三角分解法、追赶法、平方根法。迭代法就是利用某种极限过程去逐步逼近线性方程组精确解的方法。将方程组的解看作是某极限过程的极限值,且计算这一极限值的每一步是利用前一步所得结果施行相同的演算步骤而进行。迭代法具有需要计算机的存储单元少,程序设计简单,原始系数矩阵在计算过程始终不变等优点,但存在收敛性级收敛速度问题。迭代法是解大型稀疏矩阵方程组(尤其是微分方程离散后得到的大型方程组)的重要方法。迭代法包括Jacobi法SOR法、SSOR法等多种方法。非线性是实际问题中经常用到出现的并在科学和工程中的低位也越来越重要,很多线性模型都是在一定条件下由非线性简化得到的。所以往往需要非线性的研究。非线性的数值解法有牛顿法,迭代收敛的加速解法,弦解法和抛物线法等。还有很多问题都可用常微分方程的定解来描述,主要有处置问题和边值问题。常微分方程是描述连续变化的数学语言,微分方程的求解是确定满足给定方程的可微函数y(x)。下面就数值分析中常用的一些方法和实例进行阐述。 二、数值分析中的一些方法 1、插值法 许多实际问题都用y=f(x)来表示,有的函数虽然有解析式,但由于计算复杂实用不方便,为了找一个既能反映函数的特性又便于计算的函数,我们利用插值法可以得到这个简单函数,插值法包括拉格朗日插值,牛顿插值,Hermite插值等多种方法。 拉格朗日插值是n次多项式插值,其成功地用构造插值基函数的方法解决了

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

东南大学《数值分析》-上机题

数值分析上机题1 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序22 21111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 程序代码(matlab 编程): clc clear a=single(1./([2:10^7].^2-1)); S1(1)=single(0); S1(2)=1/(2^2-1); for N=3:10^2 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); end end S2(1)=single(0); S2(2)=1/(2^2-1); for N=3:10^2 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); end end S1表示按从大到小的顺序的S N S2表示按从小到大的顺序的S N 计算结果

通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

华南理工大学数值分析试题-14年下-C

华南理工大学研究生课程考试 《数值分析》试卷C (2015年1月9日) 1. 考前请将密封线内各项信息填写清楚; 所有答案请按要求填写在本试卷上; 课程代码:S0003004; 4. 考试形式:闭卷; 5. 考生类别:硕士研究生; 本试卷共八大题,满分100分,考试时间为150分钟。 一、(12分)解答下列问题: 1)设近似值0x >,x 的相对误差为δ,试证明ln x 的绝对误差近似为δ。 2)利用秦九韶算法求多项式 542()681p x x x x x =-+-+ 在3x =时的值(须写出计算形式),并统计乘法次数。 (12分)解答下列问题: 1)设()235f x x =+,求[]0,1,2f 和[]0,1,2,3f 。 2)利用插值方法推导出恒等式: 33220,0[]j j i i x j i x i j =≠=-=-∑∏ 。

(1)设{}∞ =0)(k k x q 是区间[]1,0上带权1=ρ而最高次项系数为1的正交多项式族,其中1)(0=x q ,求1()q x 和2()q x 。 (2)求形如2y a bx =+的经验公式,使它与下列数据拟合: 四、(14分)对积分()10I f x dx = ?,试 (1)构造一个以012113,,424 x x x ===为节点的插值型求积公式; (2)指出所构造公式的代数精度; (3)用所得数值求积公式计算积分1 203x dx ?的精确值; (4)指出所得公式与一般的Newton-Cotes 型公式在形式上的重要区别。

(1)设?? ????=4321A ,计算1A 、()Cond A ∞和()A ρ。 (2)用列主元Gauss 消去法解方程组: 12312315410030.112x x x ????????????=????????????-?????? 六、(13分)对2阶线性方程组 11112212112222 a x a x b a x a x b +=??+=? (11220a a ≠ ) (1)证明求解此方程组的Jacobi 迭代与Gauss-Seidel 迭代同时收敛或同时发散; (2)当同时收敛时,试比较它们的收敛速度。

数值分析之幂法及反幂法C语言程序实例

数值分析之幂法及反幂法C 语言程序实例 1、算法设计方案: ①求1λ、501λ和s λ的值: s λ:s λ表示矩阵的按模最小特征值,为求得s λ直接对待求矩阵A 应用反幂法即可。 1λ、501λ:已知矩阵A 的特征值满足关系 1n λλ<< ,要求1λ、及501λ时,可 按如下方法求解: a . 对矩阵A 用幂法,求得按模最大的特征值1m λ。 b . 按平移量1m λ对矩阵A 进行原点平移得矩阵1m B A I λ=+,对矩阵B 用反幂法 求得B 的按模最小特征值2m λ。 c . 321m m m λλλ=- 则:113min(,)m m λλλ=,13max(,)n m m λλλ=即为所求。 ②求和A 的与数5011 140 k k λλμλ-=+最接近的特征值 ik λ(k=0,1,…39): 求矩阵A 的特征值中与k μ最接近的特征值的大小,采用原点平移的方法: 先求矩阵 B=A-k μI 对应的按模最小特征值k β,则k β+k μ即为矩阵A 与k μ最接近的特征值。 重复以上过程39次即可求得ik λ(k=0,1,…39)的值。 ③求A 的(谱范数)条件数2cond()A 和行列式det A : 在(1)中用反幂法求矩阵A 的按模最小特征值时,要用到Doolittle 分解方法,在Doolittle 分解完成后得到的两个矩阵分别为L 和U ,则A 的行列式可由U 阵求出,即:det(A)=det(U)。 求得det(A)不为0,因此A 为非奇异的实对称矩阵,则: max 2()s cond A λλ= ,max λ和s λ分别为模最大特征值与模最小特征值。

数值分析 第一章 学习小结

数值分析 第1章绪论 --------学习小结 一、本章学习体会 通过本章的学习,让我初窥数学的又一个新领域。数值分析这门课,与我之前所学联系紧密,区别却也很大。在本章中,我学到的是对数据误差计算,对误差的分析,以及关于向量和矩阵的范数的相关内容。 误差的计算方法很多,对于不同的数据需要使用不同的方法,或直接计算,或用泰勒公式。而对于二元函数的误差计算亦有其独自的方法。无论是什么方法,其目的都是为了能够通过误差的计算,发现有效数字、计算方法等对误差的影响。 而对误差的分析,则是通过对大量数据进行分析,从而选择出相对适合的算法,尽可能减少误差。如果能够找到一个好的算法,不仅能够减少计算误差,同时也可以减少计算次数,提高计算效率。 对于向量和矩阵的范数,我是第一次接触,而且其概念略微抽象。因此学起来较为吃力,仅仅知道它是向量与矩阵“大小”的度量。故对这部分内容的困惑也相对较多。 本章的困惑主要有两方面。一方面是如何能够寻找一个可靠而高效的算法。虽然知道算法选择的原则,但对于很多未接触的问题,真正寻找一个好的算法还是很困难。另一方面困惑来源于范数,不明白范数的意义和用途究竟算什么。希望通过以后的学习能够渐渐解开自己的疑惑。 二、本章知识梳理

2.1 数值分析的研究对象 数值分析是计算数学的一个重要分支,研究各种数学问题的数值解法,包括方法的构造和求解过程的理论分析。它致力于研究如何用数值计算的方法求解各种基本数学问题以及在求解过程中出现的收敛性,数值稳定性和误差估计等内容。 2.2误差知识与算法知识 2.2.1误差来源 误差按来源分为模型误差、观测误差、截断误差、舍入误差与传播误差五种。其中模型误差与观测误差属于建模过程中产生的误差,而截断误差、舍入误差与传播误差属于研究数值方法过程中产生的误差。 2.2.2绝对误差、相对误差与有效数字 1.(1)绝对误差e指的是精确值与近似值的差值。 绝对误差:

东南大学-数值分析上机题作业-MATLAB版

2015.1.9 上机作业题报告 JONMMX 2000

1.Chapter 1 1.1题目 设S N =∑1j 2?1 N j=2 ,其精确值为 )1 1 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算S N 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 1.2程序 1.3运行结果

1.4结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2.Chapter 2 2.1题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321= *=*-=*x x x ○1由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收敛于根x2*。试确定尽可能大的δ。 ○2试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 2.2程序

演讲稿数值分析应用实例.doc

非线性方程求根 问题:在相距100m的两座建筑物(高度相等的点)之间悬挂一根电缆,仅允许电缆在中间最多下垂1m,试计算所需电缆的长度。 设空中电缆的曲线(悬链线)方程为 ] , [ , ) ( 50 50 2 - ∈ + = - x e e a y a x a x (1) 由题设知曲线的最低点)) ( , (0 0y与最高点)) ( , (50 50y之间的高度差为1m,所以有 1 2 50 50 + = +- a e e a a a) ( (2) 由上述方程解出a后,电缆长度可用下式计算: ) ( ) (a a a x a x L e e a dx e e dx x y ds L 50 50 50 50 50 2 1- - - - = ? ? ? ? ? ? + = ' + = =? ? ?(3) 相关Matlab命令: 1、描绘函数] , [ , ) ( ) (1500 500 1 2 50 50 ∈ - - + = - a a e e a a y a a 的图形;

2、用fzero 命令求方程在1250=a 附近的根的近似值x ,并计算)(x y 的函数值; 3、编写二分法程序,用二分法求0=)(a y 在],[13001200内的根,误差不超过310-,并给出对分次数; 4、编写Newton 迭代法程序,并求0=)(a y 在],[13001200内的根,误差不超过310-,并给出迭代次数。 5、编写Newton 割线法程序,并求0=)(a y 在],[13001200内的根,误差不超过310-,并给出迭代次数。

线性方程组求解应用实例 问题:投入产出分析 国民经济各个部门之间存在相互依存的关系,每个部门在运转中将其他部门的产品或半成品(称为投入)经过加工变为自己的产品(称为产出),如何根据各部门间的投入产出关系,确定各部门的产出水平,以满足社会需求,是投入产出分析中研究的课题。考虑下面的例子: 设国民经济由农业、制造业和服务业三个部门构成,已知某年它们之间的投入产出关系、外部需求、初始投入等如表1所示(数字表示产值)。 表1 国民经济三个部门间的关系单位:亿元 假定总投入等于总产出,并且每个部门的产出与它的投入成正比,由上表可以确定三个部门的投入产出表:如表2所示。 表2 三个部门的投入产出表

数值分析学习心得体会.doc

数值分析学习感想 一个学期的数值分析,在老师的带领下,让我对这门课程有了深刻的理解和感悟。这门 课程是一个十分重视算法和原理的学科,同时它能够将人的思维引入数学思考的模式,在处 理问题的时候,可以合理适当的提出方案和假设。他的内容贴近实际,像数值分析,数值微 分,求解线性方程组的解等,使数学理论更加有实际意义。 数值分析在给我们的知识上,有很大一部分都对我有很大的帮助,让我的生活和学习有 了更加方便以及科学的方法。像第一章就讲的误差,在现实生活中,也许没有太过于注意误 差,所以对误差的看法有些轻视,但在学习了这一章之后,在老师的讲解下,了解到这些误 差看似小,实则影响很大,更如后面所讲的余项,那些差别总是让人很容易就出错,也许在 别的地方没有什么,但是在数学领域,一个小的误差,就很容易有不好的后果,而学习了数 值分析的内容,很容易就可以将误差锁定在一个很小的范围内,在这一范围内再逼近,得出 的近似值要准确的多,而在最开始的计算中,误差越小,对后面的影响越小,这无疑是好的。 数值分析不只在知识上传授了我很多,在思想上也对我有很大的影响,他给了我很多数 学思想,很多思考的角度,在看待问题的方面上,多方位的去思考,并从别的例子上举一反三。像其中所讲的插值法,在先学习了拉格朗日插值法后,对其理解透彻,了解了其中 的原理和思想,再学习之后的牛顿插值以及三次样条插值等等,都很容易的融会贯通,很容 易的就理解了其中所想,他们的中心思想并没有多大的变化,但是使用的方式却是不同的, 这不仅可以学习到其中心内容,还可以去学习他们的思考方式,每个不同的思考方式带来的 都是不同的算法。而在看待问题上,不同的思考方式总是可以快速的全方位的去看透彻问题, 从而知道如何去解决。 在不断的学习中,知识在不断的获取,能力在不断的提升,同时在老师的不懈讲解下, 我逐渐的发现数值分析所涵盖的知识面特别的广泛,而我所需要学习的地方也更加的多,自 己的不足也在不断的体现,我知道这只是我刚刚接触到了数学的那一角,在以后我还会接触 到更多,而这求知的欲望也在不停的驱赶我,学习的越多,对今后的生活才会有更大的帮助。 计算132 2013014923 张霖篇二:数值分析学习报告 数值分析学习心得报告 班级:11级软工一班 姓名: * * * 学号: 20117610*** 指导老师:* * * 学习数值分析的心得体会 无意中的一次选择,让我接触了数值分析。 作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学 和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比 较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。 学习数值分析,我们首先得知道一个软件——matlab。matrix laboratory,即矩阵实验 室,是math work公司推出的一套高效率的数值计算和可视化软件。它是当今科学界最具影 响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成计算机语言。它的优点是强 大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面、便捷的与其他程序和语 言接口。 根据上网搜集到的资料,你就会发现matlab有许多优点: 首先,编程简单使用方便。到目前为止,我已经学过c语言,机器语言,java语言,这

东南大学数值分析上机解剖

第一章 一、题目 设∑ =-=N j N j S 22 1 1,其精确值为)11 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算SN 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-=N N S N ,计算SN 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 二、MATLAB 程序 N=input('请输入N(N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); %single 使其为单精度 Sn1=single(0); %从小到大的顺序 for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); %从大到小的顺序 for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('Sn 的值 (N=%d)\n',N); disp('____________________________________________________') fprintf('精确值 %f\n',AccurateValue); fprintf('从大到小计算的结果 %f\n',Sn1); fprintf('从小到大计算的结果 %f\n',Sn2); disp('____________________________________________________')

数值分析读后感

数值分析读后感 M060112101 刘洪兰 研究生生活的第一个半年快要结束了,回想一下这半年是个学习基础知识的忙碌的半年,作为基础课程,我自认为数值分析是最重要的一门课程,不论是理论分析还是实际应用它都有无可替代的作用,原来很多无法解决的实际问题,学了数值分析之后才感觉找到了另一个灵巧而又准确的解决方法,现在就我这半年对数值分析的学习简单的谈一下感想。 数值分析插值法的引入,帮我们解决了已知一些函数点求一些在这些已知点附近的未知点的问题,他能构造出一个能很好拟合这些已知点性质的函数,并且能根据精度的要求做出灵活的构造,使计算变得更加精确更加简单。当函数只在有限点集上给定函数值,要求在包含该点集的区间内用公式给出函数的表达式,这一类的问题是函数逼近问题,最佳二次逼近和最小二乘法分别从连续和离散的角度用相对简单的表达式对复杂的函数做出了很好的逼近。在一些数值积分求法复杂的时候,数值分析提供的梯形公式和辛普森公式用一些特殊点的和对积分作出估计,是原来无法运算的积分问题获得很好的解答,另外还有更精确的复合中点公式、复合梯形公式、复合辛普森公式,当然还有已正交基为基底的对一些问题更加精确的高斯公式。 在一些实际问题的线性方程的求解中,未知数个数有时候会很多,而且零元素也较多时,普通的求解方法就显得不适用了,在这个时候,用迭代法求解便成了最佳的选择。数值分析给我们三种常用的迭代方法:雅克比迭代、高斯赛德尔迭代和超松弛迭代,每一种都是很好地解决方法。在非线性方程与方程组的数值求解问题中,有方法简单但计算步数相对比较多的二分法和不动点迭代求法,也有应用更加广泛的牛顿法和弦截法,使原本复杂的非线性问题变得相对非常简单。矩阵特征值的计算问题,用乘幂法求最大特征值和特征向量,用反幂法求最小特征值和特征向量,用幂方法还可以求出接近数值p的特征值和特征向量,给我们一个全新的求解特征值和特征向量的方法。最后的欧拉法,梯形法,改进的欧拉法,还有经典的标准四阶龙格库塔方法都是用于常微分方程初值问题的数值解法。 除了以上这些具体的数值解法之外,数值分析还给出了我们很多关于误差估计的概念,这在实际问题中很重要,因为实际问题都会有一定的精度要求,我感觉这也是我学习数值分析之后的一个很大的收获,对误差有了一个比之前更加系统的了解,也认识到误差在解决实际问题中的影响。 总之,经过一学期对数值分析的学习,我感觉收获很多,不仅使自己解决问题的思路得到开拓,也培养了自己严谨的思维习惯,但是,同时我也感觉还有数值分析的一些方法自己没能完全理解,我相信自己对数值分析的学习不会随着考试的结束而结束的,在以后的学习中,我还要继续深化对它的学习,最后谢谢老师这学期对我们细心又耐心的数值讲解,在您的帮助下我才能学到这么多东西,谢谢老师。这就是我这学期对数值分析学习后的感想。

相关文档
最新文档