数值分析实验指导2012

合集下载

数值分析实验 实验报告

数值分析实验 实验报告

数值分析实验实验报告数值分析实验实验报告一、引言数值分析是一门研究如何利用计算机对数学问题进行数值计算和模拟的学科。

在实际应用中,数值分析广泛应用于工程、物理、金融等领域。

本实验旨在通过实际操作,探索数值分析方法在实际问题中的应用,并通过实验结果对比和分析,验证数值分析方法的有效性和可靠性。

二、实验目的本实验的主要目的是通过数值分析方法,解决一个实际问题,并对比不同方法的结果,评估其准确性和效率。

具体来说,我们将使用牛顿插值法和拉格朗日插值法对一组给定的数据进行插值,并对比两种方法的结果。

三、实验步骤1. 收集实验数据:我们首先需要收集一组实验数据,这些数据可以来自实验测量、调查问卷等方式。

在本实验中,我们假设已经获得了一组数据,包括自变量x和因变量y。

2. 牛顿插值法:牛顿插值法是一种基于差商的插值方法。

我们可以通过给定的数据点,构造一个插值多项式,并利用该多项式对其他点进行插值计算。

具体的计算步骤可以参考数值分析教材。

3. 拉格朗日插值法:拉格朗日插值法是另一种常用的插值方法。

它通过构造一个满足给定数据点的多项式,利用该多项式对其他点进行插值计算。

具体的计算步骤也可以参考数值分析教材。

4. 结果比较与分析:在完成牛顿插值法和拉格朗日插值法的计算后,我们将比较两种方法的结果,并进行分析。

主要考虑的因素包括插值误差、计算效率等。

四、实验结果在本实验中,我们选取了一组数据进行插值计算,并得到了牛顿插值法和拉格朗日插值法的结果。

经过比较和分析,我们得出以下结论:1. 插值误差:通过计算插值点与实际数据点之间的差值,我们可以评估插值方法的准确性。

在本实验中,我们发现牛顿插值法和拉格朗日插值法的插值误差都较小,但是拉格朗日插值法的误差稍大一些。

2. 计算效率:计算效率是衡量数值分析方法的重要指标之一。

在本实验中,我们发现牛顿插值法的计算速度较快,而拉格朗日插值法的计算速度稍慢。

五、实验结论通过本实验,我们对数值分析方法在实际问题中的应用有了更深入的了解。

《数值分析》课程设计实验指导书[1]

《数值分析》课程设计实验指导书[1]

数值分析实验指导书考核标准:及格:独立完成12—15题,其中八组实验中每组至少做1题; 中: 独立完成16—23题,其中八组实验中每组至少做1题; 良: 独立完成24—31题,其中八组实验中每组至少做2题; 优: 独立完成32—40题,其中八组实验中每组至少做3题。

结束课程时,抽查上机考核。

实验一1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。

由于旅途的颠簸,大家都很疲惫,很快就入睡了。

第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。

第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题。

1.2 当0,1,2,,100n =时,选择稳定的算法计算积分10d 10nxn xe I x e --=+⎰.1.3 绘制静态和动态的Koch 分形曲线问题描述:从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的另两条边代替,形成具有5个结点的新的图形;在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的另两条边代替,再次形成新的图形,这时,图形中共有17个结点。

这种迭代继续进行下去可以形成Koch 分形曲线。

在迭代过程中,图形中的结点将越来越多,而曲线最终显示细节的多少取决于所进行的迭代次数和显示系统的分辨率。

Koch 分形曲线的绘制与算法设计和计算机实现相关。

图1.1 Koch 曲线的形成过程实验二2.1 小行星轨道问题:一天文学家要确定一颗小行星绕太阳运行的轨道,他在轨道平面内建立以太阳为原点的直角坐标系,在五个不同的对小行星作了五次观察,测得轨道上五个点的坐标数据(单位:万公里)如下表所示: P 1 P 2 P 3 P 4 P 5 X 坐标 53605 58460 62859 66662 68894 Y 坐标 6026 11179 16954 23492 68894 由开普勒第一定律知,小行星轨道为一椭圆,椭圆的一般方程可表示为:221234522210a x a xy a y a x a y +++++=现需要建立椭圆的方程以供研究。

《数值分析实验》实验

《数值分析实验》实验

数值分析实验实验1 方程求根一、实验目的:1.掌握常用的求非线性方程近似根的数值方法,用所学方法求非线性方程满足指定精度要求的数值解,比较各种方法的异同点并进行收敛性分析。

2.通过对二分法与牛顿迭代法作编程练习与上机运算,进一步体会二分法与牛顿迭代法的不同特点。

3.编写割线迭代法的程序,求非线性方程的解,并与牛顿迭代法作比较。

二、实验内容:1.用二分法求方程0104)(23=-+=x x x f 在1.5附近的根。

2.用牛顿迭代法求方程033)(23=--+=x x x x f 在1.5附近的根。

3.用简单迭代法求解非线性方程3sin )1(2=-+x x 的根。

取迭代函数)1sin 3(*5.0)(2x x x --+=ϕ,精度取2101-⨯4.(选做)用牛顿法求下列方程的根: (1)02=-x e x ; (2)01=-x xe ; (3)02lg =-+x x 。

5.(选做)编写一个弦截法程序,求解题目4中的方程。

6.(选做)Matlab 函数fzero 可用于求解非线性方程的根。

例如,fzero(@(x) x^3+4*x^2-10, 1.5)可以求解题目1。

尝试用此方法求解实验中的其他题三、实验要求:1.程序要添加适当的注释,程序的书写要采用缩进格式。

2.程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的位置不对等等。

3.程序要做到界面友好,在程序运行时用户可以根据相应的提示信息进行操作。

四、实验步骤1.按照实验内容和实验要求编写代码 2.编译并运行代码 3.检查是否发生错误五、实验源代码与实验结果实验1源代码:运行结果:实验2源代码:运行结果:实验3源代码:运行结果:4(1)的源代码:运行结果:4(2)的源代码:运行结果:4(3)的源代码:运行结果:5(3)的源代码:运行结果:六、实验心得体会通过本次实验我加深了对二分法、简单迭代法、牛顿迭代法和弦截法算法思想的了解,并对各个不同方法的优劣有了更深的理解。

数值分析实验报告(一)(完整)

数值分析实验报告(一)(完整)
其中 有关.
Newton插值伪代码:
/*输入参数
*x=(x0,x1….,xn),插值节点
*y=(y0,y1,…,yn);被插函数f(x)在插值节点处的函数值
*t求插值函数Pn(x)在t处的函数值
*返回值插值函数Pn(x)在t处的函数值
*/
procedureNewton
forj=0to n
d1jyj;
fori=j:n
d(i,j)=(d(i,j-1)-d(i-1,j-1))./(x0(i)-x0(i-j+1));%求差商表矩阵中各值
end
end
fork=1:m
z=x(k);
result=d(1,1);
temp=1;
fori=2:n
temp=temp*(z-x0(i-1));
result=result+d(i,i)*temp;
ifi≠j
li(t)li(t)*(t-xi)/(xi-xj);
endif
endfor
resultresult+yi*li(t) ;
endfor
returnresult;
end procedure
Lagrange插值子程序lagr1:
functiony=lagr1(x0,y0,x)%x0为插值点的向量,y0为插值点处的函数值向量,x为未知的点向量
数值分析实验报告
姓名
学号
系别
数学系
班级
09信息(2)班
主讲教师
王丹
指导教师
王丹
实验日期
专业
信息与计算科学
课程名称
数值分析
同组实验者

一、实验名称:
实验一、插值多项式的收敛性实验

数值分析上机实验指导书

数值分析上机实验指导书

“数值计算方法”上机实验指导书实验一 误差分析实验1.1(病态问题)实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。

对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。

通过本实验可获得一个初步体会。

数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。

病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。

问题提出:考虑一个高次的代数多项式)1.1()()20()2)(1()(201∏=−=−−−=k k x x x x x p显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。

现考虑该多项式的一个扰动)2.1(0)(19=+x x p ε其中ε是一个非常小的数。

这相当于是对(1.1)中19x 的系数作一个小的扰动。

我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。

实验内容:为了实现方便,我们先介绍两个MATLAB 函数:“roots ”和“poly ”。

roots(a)u =其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。

设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程01121=+++++−n n n n a x a x a x a的全部根;而函数 poly(v)b =的输出b 是一个n+1维向量,它是以n 维向量v 的各分量为根的多项式的系数(从高到低排列)。

可见“roots ”和“poly ”是两个互逆的运算函数。

))20:1((;)2();21,1(;000000001.0ve poly roots ess ve zeros ve ess +===上述简单的MATLAB 程序便得到(1.2)的全部根,程序中的“ess ”即是(1.2)中的ε。

数值分析实验三(解线性方程组)

数值分析实验三(解线性方程组)

《数值分析》实验报告实验编号:实验三课题名称:解线性方程组一、算法介绍1、定义四个函数分别为:DieDai(),Newton(),XianWei(),DuiFen()。

在主函数中输入要选用方法所对应的序号后,用switch语句对函数进行调用。

2、迭代法的主要思想为:保留一个变量在等号的左边,其他都移到等号右边。

3、Newton法的主要算法为:把f(x)在x0附近展开成Taylor级数,取其线性部分,选取一点x0,该点所对应的值为f(x0),对于n=1,2,…,Nmax,按Xn+1=Xn-f(Xn)/f’(Xn)求出Xn+1,并计算f(Xn+1),若|Xn+1-Xn|小于容许误差,则停止计算。

4、弦位法:选定初始值x0,x1,并计算f(x0),f(x1);按迭代公式xn+1=xn-f(xn)(xn-xn-1)/(f(xn)-f(xn-1))计算x2,再求f(x2);如果相邻两次迭代值之差在容许的误差范围内则迭代停止,否则用(x2,f(x2)),(x1,f(x1))分别代替(x1,f(x1)),(x0,f(x0)),重复前两个步骤,直至相邻两次迭代值之差在容许的误差范围内。

5、对分区间法:选取方程的根所在的区间(a,b),取其中点c代入方程中得其值为f(c),如果f(c)与f(a)异号说明方程的根在(a,c)区间中,则令b=c,否则令a=c,如果f(c)的绝对值小于0.0001,则停止运算,否则继续计算,直至f(c)的绝对值小于0.0001。

二、程序代码#include <iostream>#include <iomanip>#include <cmath>using namespace std;double f(double x){x=x*x*x-3*x-1;return x;}void DieDai(){cout<<"迭代序列:\n";double x0=2,x1=0;int i=1;while(fabs(x0-x1)>=0.0001){x1=x0;x0=pow((3*x0+1),1.0/3);cout<<"x"<<i<<"="<<setiosflags(ios::fixed)<<setprecision(4)<<x0<<",f(x"<<i<<")="<<f(x0)<<",误差为:"<<x0*x0*x0-3*x0-1<<endl;i++;}cout<<"方程近似解x*="<<x0<<endl;cout<<"共进行"<<i-1<<"次迭代\n" ;}void Newton(){cout<<"迭代序列:\n";double x0=2,x1=0;int i=1;while(fabs(x0-x1)>=0.0001){x1=x0;x0=x0-f(x0)/(3*x0*x0-3);cout<<"x"<<i<<"="<<setiosflags(ios::fixed)<<setprecision(4)<<x0<<",f(x"<<i<<")="<<f(x0)<<",误差为:"<<x0*x0*x0-3*x0-1<<endl;i++;}cout<<"方程近似解x*="<<x0<<endl;cout<<"共进行"<<i-1<<"次迭代\n" ;}void XianWei(){double x0=1,x1=3,x2=2;cout<<"选定曲线y=f(x)上的两个点P0("<<x0<<","<<f(x0)<<")和P1("<<x1<<","<<f(x1)<<")\n";int i=2;while(fabs(f(x2))>=0.0001){x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));cout<<setiosflags(ios::fixed)<<setprecision(4)<<"当前区间(";cout<<x0<<","<<x1<<"),与x轴交点("<<x2<<","<<f(x2)<<"),误差为:";if(f(x2)*f(x0)<0){cout<<x2*x2*x2-3*x2-1<<endl;x1=x2;}else{cout<<x2*x2*x2-3*x2-1<<endl;x0=x2;}i++;}cout<<"方程近似解x*="<<x2<<endl;cout<<"共进行"<<i-2<<"次迭代\n" ;}void DuiFen(){double a=1,b=3,c;cout<<"f(x)=0的根的存在区间("<<a<<","<<b<<")\n";cout<<"端点函数值f(a)="<<f(a)<<",f(b)="<<f(b)<<endl;int i=2;while(fabs(f(c))>=0.0001){c=(a+b)/2;cout<<setiosflags(ios::fixed)<<setprecision(4)<<"当前区间("<<a<<","<<b<<"),区间中点x="<<c;cout<<",f(x)="<<f(c)<<",误差为:";if(f(c)*f(a)<0){cout<<c*c*c-3*c-1<<endl;b=c;}else{cout<<c*c*c-3*c-1<<endl;a=c;}i++;}cout<<"方程近似解x*="<<c<<endl;cout<<"共进行"<<i-2<<"次迭代\n" ;}void Menu(){int n;cin>>n;switch(n){case 1:cout<<"*** 迭代法***\n";DieDai();Menu();break;case 2:cout<<"*** Newton法***\n";Newton();Menu();break;case 3:cout<<"*** 弦位法***\n";XianWei();Menu();break;case 4:cout<<"*** 对分区间法***\n";DuiFen();Menu();break;case 5:return;}}int main (){cout<<" *****问题:求f(x)=x*x*x-3x-1=0在x0=2附近的实根。

西北农林科技大学数值分析数值法实验报告

西北农林科技大学数值分析数值法实验报告

数值法实验报告专业班级:信息与计算科学121 姓名:金辉 学号:20120142801)实验目的本次实验的目的是熟练《数值分析》第二章“插值法”的相关内容,掌握三种插值方法:牛顿多项式插值,三次样条插值,拉格朗日插值,并比较三种插值方法的优劣。

本次试验要求编写牛顿多项式插值,三次样条插值,拉格朗日插值的程序编码,并在MATLAB 软件中去实现。

2)实验题目实验一:已知函数在下列各点的值为试用4次牛顿插值多项式P 4(x )及三次样条函数S (x )(自然边界条件)对数据进行插值。

用图给出{(x i ,y i ),x i =0.2+0.08i ,i=0,1, 11, 10},P 4(x )及S (x )。

实验二:在区间[-1,1]上分别取10,20n =用两组等距节点对龙格函数21()125f x x =+作多项式插值及三次样条插值,对每个n 值,分别画出插值函数即()f x 的图形。

实验三:可以得到平方根函数的近似,在区间[0,64]上作图。

(1)用这9各点作8次多项式插值L8(x).(2)用三次样条(自然边界条件)程序求S(x)。

从结果看在[0,64]上,那个插值更精确;在区间[0,1]上,两种哪个更精确?3)实验原理与理论基础《数值分析》第二章“插值法”的相关内容,包括:牛顿多项式插值,三次样条插值,拉格朗日4)实验内容实验一:已知函数在下列各点的值为试用4次牛顿插值多项式P4(x)及三次样条函数S(x)(自然边界条件)对数据进行插值。

用图给出{(x i,y i),x i=0.2+0.08i,i=0,1, 11, 10},P4(x)及S(x)。

(1)首先我们先求牛顿插值多项式,此处要用4次牛顿插值多项式处理数据。

已知n次牛顿插值多项式如下:P n=f(x0)+f[x0,x1](x-x0)+ f[x0,x1,x2](x-x0) (x-x1)+···+f[x0,x1,···x n](x-x0) ···(x-x n-1)我们要知道牛顿插值多项式的系数,即均差表中得部分均差。

数值分析实验总结

数值分析实验总结
ifabs(x-x1)<ep
break;
end
x0=x1; x1=x;
k=k+1;
end
执行程序:
f=@(x)x^3-x-1;
>> [x,k]=mqnewt(f,1.0,2.0,1e-5)
结果:
x =
1.3247
k =
6
各种方法的优缺点的比较分析
首先,三种方法得出的解是一样的,而二分法的迭代次数最多(17次),而牛顿法的迭代次数最少(3次),割线法的迭代次数也较少(6次)。
b=x;
else
a=x;
end
x=(a+b)/2.0; k=k+1;
end
执行程序:
f=@(x)x^3-x-1;
[x,k]=mbisec(f,1,2,1e-5)
结果:
x =
1.3247
k =
17
牛顿法解非线性方程
Matlab程序:
function[x,k]=mnewton(f,df,x0,ep,N)
割线法的优点是无需计算函数导数,但仍具有超线性收敛速度;其缺点是收敛速度没有牛顿法快。
2.使用列主元高斯消去法和LU分解法解同一个线性方程组,并对所得结果进行数值分析。
题目:求下列方程组的近似解
列主元高斯消去法解线性方程组
Matlab程序:
function[x]=mgauss(A,b,flag)
ifnargin<3, flag=0;end
1. 用二分法、牛顿法和割线法求解同一个非线性方程,对各种方法的优缺点进行比较分析;
题目:求解下列方程
二分法解非线性方程
Matlab程序:
function[x,k]=mbisec(f,a,b,ep)

数值分析实验 实验报告

数值分析实验 实验报告

数值分析实验实验报告数值分析实验实验报告引言在现代科学与工程领域,数值分析是一项重要的技术手段。

通过数值方法,我们可以利用计算机模拟和解决各种实际问题,如物理、化学、生物、经济等领域中的方程求解、优化问题、数据拟合等。

本实验旨在通过实际案例,探讨数值分析的应用和效果。

实验一:方程求解首先,我们考虑一个简单的方程求解问题。

假设我们需要求解方程f(x) = 0的根,其中f(x)是一个在给定区间[a, b]上连续且单调的函数。

为了实现这个目标,我们可以采用二分法、牛顿法、弦截法等数值方法。

在本实验中,我们选择使用二分法来求解方程f(x) = 0。

这种方法的基本思想是通过不断缩小区间[a, b]的范围,直到找到一个近似的根。

我们首先选取一个中间点c,计算f(c)的值,然后根据f(c)与0的关系,将区间[a, b]分成两部分。

重复这个过程,直到找到满足精度要求的根。

实验二:数据拟合接下来,我们考虑一个数据拟合的问题。

假设我们有一组离散的数据点,我们希望找到一个函数,使得该函数与这些数据点的拟合误差最小。

为了实现这个目标,我们可以采用最小二乘法等数值方法。

在本实验中,我们选择使用最小二乘法来进行数据拟合。

这种方法的基本思想是通过最小化数据点与拟合函数之间的误差平方和,来确定拟合函数的参数。

我们首先选择一个拟合函数的形式,如线性函数、多项式函数等。

然后,通过最小化误差平方和的方法,计算出拟合函数的参数。

实验三:优化问题最后,我们考虑一个优化问题。

假设我们需要在给定的约束条件下,找到一个使得目标函数取得最大或最小值的变量。

为了实现这个目标,我们可以采用梯度下降法、遗传算法等数值方法。

在本实验中,我们选择使用梯度下降法来解决优化问题。

这种方法的基本思想是通过迭代的方式,不断调整变量的取值,直到找到一个满足约束条件的最优解。

我们首先计算目标函数关于变量的梯度,然后根据梯度的方向和大小,更新变量的取值。

通过不断迭代,我们可以逐步接近最优解。

《数值分析》实验报告书

《数值分析》实验报告书

N4(0.895) function [y,R]= newcz(X,Y,x,M) x=0.895; M=4; X=[0.4,0.55,0.65,0.8,0.9]; Y=[0.41075,0.57815,0.69675,0.88811,1.02652];
n=length(X); m=length(x); for t=1:m z=x(t); A=zeros(n,n);A(:,1)=Y'; s=0.0; p=1.0; q1=1.0; c1=1.0; for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1))/(X(i)-X(i-j+1)); end q1=abs(q1*(z-X(j-1)));c1=c1*j; end C=A(n,n);q1=abs(q1*(z-X(n))); for k=(n-1):-1:1 C=conv(C,poly(X(k)));d=length(C); C(d)=C(d)+A(k,k); end y(k)= polyval(C, z); end R=M*q1/c1; 运行结果: ans = 1.0194
实验三、解线性方程组的直接法
解线性方程组的直接法是指经过有限步运算后能求得方程组精确解
的方法。但由于实际计算中舍入误差是客观存在的,因而使用这类方法 也只能得到近似解。目前较实用的直接法是古老的高斯消去法的变形, 即主元素消去法及矩阵的三角分解法。引进选主元的技巧是为了控制计 算过程中舍入误差的增长,减少舍入误差的影响。一般说来,列主元消 去法及列主元三角分解法是数值稳定的算法,它具有精确度较高、计算 量不大和算法组织容易等优点,是目前计算机上解中、小型稠密矩阵方 程组可靠而有效的常用方法。
Y=[0.82741,0.82659,0.82577,0.82495]; n=length(X); m=length(x); for i=1:m z=x(i);s=0.0; for k=1:n p=1.0; q1=1.0; c1=1.0; for j=1:n if j~=k p=p*(z-X(j))/(X(k)-X(j)); end q1=abs(q1*(z-X(j))); c1=c1*j; end s=p*Y(k)+s; end y(i)=s; end R=M.*q1./c1; 运行结果: ans = 0.8261 2. N3(0.596) function [y,R]= newcz(X,Y,x,M) x=0.596; M=3;

《数值分析》和《数值计算方法》课程实验指导

《数值分析》和《数值计算方法》课程实验指导

《数值分析》和《数值计算方法》课程实验指导一、实验教学目的与基本要求本课程是计算机科学各专业和软件类各专业的专业基础课,通过上机实验可以加深学生对一些常用算法和最基本的数值算法的理解。

要求学生能使用某种高级语言(JAVA或C++) 等编制这些算法的程序并上机运行结果正确。

二、实验课程内容和学时分配三、实验题目实验一1.用高斯消元法解方程组:21.0x1+67.0x2+88.0x3+73.0x4 =141.076.0x1+63.0x2 + 7.0x3+20.0x4 =109.085.0x2+56.0x3+54.0x4 =218.019.3x1+43.0x2+30.2x3+29.4x4 =93.72.用LDL T分解求解方程组:x1+2x2+3x3 = -32x1+x2-2x3 = 103x1-2x2+x3 = 7●实验二1.以X(0)=(0,0,0)T为初值, 用雅可比迭代求解下列方程组:5x1- x2 - x3 = -13x1+6x2+2x3 =0x1- x2+2x3 =42.用高斯塞德尔迭代求解:10x1 - 2x2 - x3 =0-2x1+10x2 - x3 = -21-x1- 2x2+5x3 = -20●实验三给定插值点(-1.0,3.0), (2.0,5.0), (3.0,7.0), 分别用二次拉格朗日插值公式、二次牛顿插值公式和分段线性插值求 f (0)的函数值。

●实验四给出下列数据,用最小二乘法求形如y*=a+bx2的经验公式。

要求:1.打印出a和b的值。

2.打印出给定y 值、计算值y*以及对应误差y-y*作比较,若误差是正负相间且误差很小,说明曲线拟合较好。

● 实验五1.已知f(x)=x 3+x 2-1, 取ε=10 -3, 用二分法求f(x)在[0,1]上的根。

2.已知f(x)=x 3-3x-2, 取ε=10 -3, x 0=1.5, 用牛顿迭代法计算f(x)的根。

● 实验六用幂法计算下列矩阵按模最大的特征值和相应的特征向量1 2 4 1● 实验七1.用复化梯形公式求积分:⎰10sin(x)dx , 取n=202.用复化辛普森公式求积分:⎰1014+x dx3.用龙贝格积分法计算:⎰1214x + dx● 实验八用四阶龙格-库塔公式解初值问题dy/dx=x/y 2.0≤X ≤2.6 , 取h=0.2 y(2.0)=1。

(2012新)数值分析II实验项目

(2012新)数值分析II实验项目

数值分析II 实验项目(2012年新)实验一 简单迭代法与加速方法一、目的与要求:1、掌握求解非线性方程实根的简单迭代法的编程运算2、会分析迭代步数,设计容许误差二、实验内容:1、方程324100x x +-=可以等价化成以下三种形式:(i) 1/210(4)x x x =- (ii) 1/210()4x x =+ (iii) 32241038x x x x x x+-=-+ 针对三种等价形式给出三种不同的简单迭代格式并使用每种格式计算方程在区间[1,2]上的解,初值选为1.5,容许误差选为1.0E-5,即510-;分析每种格式的收敛性;分析收敛格式的迭代步数与计算时间。

2、结合上述问题中(ii)相应的迭代格式,利用Stenffenson 迭代法求原方程的解。

初值选为1.5,容许误差选为1.0E-5,分析迭代步数与计算时间,并与上述简单迭代法作比较。

实验二 Newton 迭代法一、目的与要求:掌握求解非线性方程实根的Newton 切线法的编程运算二、实验内容:1、用Newton 切线法求xx e -=在0.5附近的根,2、用Newton 切线法求方程310x x --=在1.5附近的一个根. (选做)3、用Newton 切线法计算3k =,4k =时,方程2((3)0k x x -=在1.3附近的根以及2.5附近的根,比较计算两根时的迭代次数,并与理论结论作比较。

实验三 Newton 下山法与重根加速法一、目的与要求:掌握求解非线性方程实根的Newton 下山法与重根加速法的编程运算二、实验内容:1、分别使用Newton 切线法与Newton 下山法求解方程310x x --=在 1.5x =附近的根,但是初值选为0.6x =,根据计算结果,验证下山法在初值选取范围上的优越性。

2、分别使用Newton 切线法与重根加速法计算3k =,4k =时,方程2((3)0k x x -=在1.3附近的根,在相同的容许误差下,比较两种方法的计算时间与迭代次数。

数值分析实验指导

数值分析实验指导

实验一 算法设计及误差分析1.1 实验目的○1根据给定的问题,给出稳定的算法,并分析误差的控制。

○2了解舍入误差所引起的数值不稳定性 1.2 实验内容 1、递推计算的稳定性 实验题目,1dx xa xI nn ⎰+=n=0,1, (10)其中a 为参数,分别对a=0.05及a=15按下列两种方法计算,列出结果,并对其可靠性进行分析比较,说明原因。

方案1:用递推公式,11n aII n n +-=- n=1,2,…,10递推初值可由积分直接得.1ln0aa I +=方案2:用递推公式),1(11nI aI n n +-=- n=1,...1,-N N根据估计式,)1(1)1)(1(1+<<++n a I n a n 当1+≥n n a或,1)1)(1(1n I n a n ≤<++ 当10+<≤n n a取递推初值])1(1)1)(1(1[21++++≈N a N a I N=,)1)(1(212_NIN a a a ∆+++ 当1+≥N N a或,]1)1)(1(1[21_NN INN a I ∆+++=当10+≤≤N N a2、不同方案收敛速度的比较实验题目三种求ln2的算法比较。

构造逼近ln2的数列,求出ln2的近似值,要求精度51021-⨯=ε,观察比较3种计算方案的收敛速度。

方案1:利用级数∑∞=--=+-+-=11)1( (4)1312112ln k k k设∑=--=nk k n kS 11)1(,则n S ≈2ln .方案2:对上述∑=--=nk k n kS 11)1(,按21212)(ˆ---+---=n n n n n nn S S S S S S S ,...,4,3=n 生成新数列n S ˆ,则n S ˆ2ln ≈方案3 利用级数∑∞==+⨯+⨯+⨯+⨯=143221 (2)412312212112ln k kk设∑==nk kn k S 121,则nS ≈2ln .实验二 插值方法2.1 实验目的① 掌握牛顿插值法的基本思路和步骤; ② 培养编程与上机调试能力。

数值分析实验指导书

数值分析实验指导书

《数值分析》实验指导书潍坊学院数学与信息科学学院2012年04月目录目录.............................................................................................. 错误!未定义书签。

实验一插值与曲线拟合的最小二乘法.................................. 错误!未定义书签。

实验二数值积分...................................................................... 错误!未定义书签。

实验三解线性方程组的直接法.............................................. 错误!未定义书签。

实验四解线性方程组的迭代法.............................................. 错误!未定义书签。

实验五非线性方程的数值解法.............................................. 错误!未定义书签。

实验六常微分方程数值解法.................................................... 错误!未定义书签。

实验一 插值与曲线拟合的最小二乘法一、实验目的:1.了解拉格朗日插值法、牛顿插值法、曲线拟合最小二乘法的基本原理和方法;2.掌握拉格朗日插值多项式牛顿插值多项式的用法;3.掌握最小二乘原理,会求拟合函数及超定方程组的最小二乘解。

二、实验内容:1.用拉格朗日插值公式和牛顿插值公式确定函数值;2.对函数f (x )进行拉格朗日插值和牛顿插值;3.利用Polyfit 拟合幂函数,利用Polyfit 拟合多项式。

三、实验过程:1.给定函数四个点的数据如下:117.2)1.5(,651.4)9.3(,276.4)3.2(,887.3).11(====f f f f ,试用插值公式确定函数在234.4,101.2=x 处的函数值)(x f 。

数值分析实验指导书

数值分析实验指导书

dx(n?0,1,?,20)的递推关系,并在计算机上实现解题 建立积分In??05?x
nn?11x?5x11??xn?1dx?。建立下列两种递推公式: 提示:由In?5In?1??005?xn
111??I??5I?I??I??n?n?1n?1n?1(A)?n (B)?55n,讨论数值计算的稳定性
数字。
解 由?x?3.142?3.1415926???0.00041, 误差限为??1?10?3. 2
?3因m?0,n??3,由定义知x具有4位有效数字,准确到10位的近似数。
2例3 已知近似数a?1.2864,b?0.635,求b,a?b的误差限和准确数位。
解 因(?a)?11?10?4,(?b)??10?3, 22
1
2?3 ??bb??b?b?b?b?2b??b??2?0.635??10
所以 ?b1??10?2 2?10???1
22?2, b2准确到10?2位。
?(a?b)??a??b??(a)??(b)??10?2,则a?b准确到10?2位。
1.3 数值实验 12
xn
A. 0.5 B. 0.05
C. 0.005 D. 0.0005.
解 因 45.0?0.450?10,它为具有3位有效数字的近似数, 2
11?10?3?102??10?1。所以,答案为B. 22
*例2 已知x???3.1415926??, 求近似值x?3.142的误差限,准确数字或有效其误差限为 ??
数值分析实验指导
第一章 绪论
1.1 主要内容
误差的来源与分类:计算误差,截断误差(方法误差)
误差和误差限的概念及计算:绝对误差,绝对误差限,相对误差,相对误差限. 有效数位,有效数字的判断

数值分析的实验报告

数值分析的实验报告

数值分析的实验报告数值分析的实验报告导言数值分析是一门研究数值计算方法和数值计算误差的学科,它在科学计算、工程技术和社会经济等领域具有广泛的应用。

本实验旨在通过对数值分析方法的实际应用,验证其有效性和可靠性。

实验一:方程求根方程求根是数值分析中的基础问题之一。

我们选取了一个非线性方程进行求解。

首先,我们使用二分法进行求解。

通过多次迭代,我们得到了方程的一个近似解。

然后,我们使用牛顿法进行求解。

与二分法相比,牛顿法的收敛速度更快,但需要选择一个初始点。

通过比较两种方法的结果,我们验证了牛顿法的高效性。

实验二:插值与拟合插值与拟合是数值分析中常用的数据处理方法。

我们选取了一组实验数据,通过拉格朗日插值法和最小二乘法进行插值和拟合。

通过对比两种方法的拟合效果,我们验证了最小二乘法在处理含有噪声数据时的优势。

同时,我们还讨论了插值和拟合的精度与样本点数量之间的关系。

实验三:数值积分数值积分是数值分析中的重要内容之一。

我们选取了一个定积分进行计算。

首先,我们使用复化梯形公式进行积分计算。

通过增加分割区间的数量,我们得到了更精确的结果。

然后,我们使用复化辛普森公式进行积分计算。

与复化梯形公式相比,复化辛普森公式具有更高的精度。

通过比较两种方法的结果,我们验证了复化辛普森公式的优越性。

实验四:常微分方程数值解常微分方程数值解是数值分析中的重要应用之一。

我们选取了一个常微分方程进行数值解的计算。

首先,我们使用欧拉方法进行数值解的计算。

然后,我们使用改进的欧拉方法进行数值解的计算。

通过比较两种方法的结果,我们验证了改进的欧拉方法的更高精度和更好的稳定性。

实验五:线性方程组的数值解法线性方程组的数值解法是数值分析中的重要内容之一。

我们选取了一个线性方程组进行数值解的计算。

首先,我们使用高斯消元法进行数值解的计算。

然后,我们使用追赶法进行数值解的计算。

通过比较两种方法的结果,我们验证了追赶法在求解三对角线性方程组时的高效性。

数值分析与实验科学教育出版课程设计

数值分析与实验科学教育出版课程设计

数值分析与实验科学教育出版课程设计课程简介随着计算机技术的飞速发展,数值分析成为计算机科学中不可或缺的一部分。

数值分析能够利用数学模型和算法,通过计算机实现对实际问题的数值解析,从而得到科学的定量分析。

实验科学则是将科学理论与实际问题相结合,利用实验手段验证科学理论的正确性。

本课程旨在介绍数值分析与实验科学的基础知识,使学生能够掌握相关的基本方法和技巧。

课程目标•掌握数值计算的基本方法,如插值、逼近、数值积分、解常微分方程等。

•了解数值分析的计算误差,掌握误差分析的方法。

•掌握实验科学的基本方法,如实验设计、数据处理、误差分析等。

•培养学生分析和解决实际问题的能力,提高实验科学的实践能力和创新精神。

课程内容第一部分:数值计算第一章:数值算法基础•误差的概念和分类•计算机舍入误差和截断误差•浮点数、数值精度和有效数字第二章:插值与逼近•插值多项式及插值误差估计•理解Neville-tken方法,Hermite插值等插值的基本思想•拟合多项式的思想,及其相关的基本知识•理解最小二乘逼近、Chebyshev逼近等逼近的基本思想第三章:数值微积分•数值微分的计算方法,包括离散化方法、数值逼近方法等•数值积分及其计算方法•极限过程和泰勒公式的数值分析第四章:常微分方程求解•数值解法的误差分析•一阶常微分方程的解法•高阶常微分方程的数值解法•总的步数控制第二部分:实验科学第五章:实验设计•表达数字及其误差的方式•合理地布局实验条件•研究偏差来源第六章:数据处理•分析稳态数据•统计相关性检验•统计检验的程序处理第七章:误差分析•计算误差估计和不确定度•估算误差时的方法•误差分析的实际应用课程评分•期中考试:35%•期末考试:40%•课程作业:15%•实验考核:10%参考书目1.美国人工智能协会(AA). 数值分析:基础和算法 [M].北京:科学出版社, 2010.2.达芙妮. 实验科学的数学 [M]. 北京:人民邮电出版社,2011.3.约翰·霍普金斯大学. 实验科学基础 [M]. 北京:科学出版社, 2012.以上为本课程的教学大纲。

数值分析与实验答案

数值分析与实验答案

数值分析与实验答案【篇一:数值分析实验报告(一)(完整)】2345【篇二:数值分析实验报告(matlab实现)】xt>实验课程名称数值分析开课实验室数学与统计学院实验室学院数学与应用数学专业班学生姓名学号开课时间2012 至 2013 学年第一学期1234【篇三:数值分析实验报告】线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。

本实验采用两种常见的求解方法二分法和newton法及改进的newton法。

利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b)0且f(x)在(a,b)内仅有一实根,取中点一步步求得根的近似解,在满足精度要求时,即为所求的值。

newton法乃利用xk?1?xk?f(xk),由递推产生近似于真值的解,但newton法的初值选择好坏f(xk)直接影响迭代的次数甚至迭代的收敛与发散。

即若x0 偏离所求根较远,newton法可能发散的结论。

并且本实验中还利用利用改进的newton法求解同样的方程,且将结果与newton法的结果比较分析。

前言:(目的和意义)掌握二分法与newton法的基本原理和应用。

掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。

熟悉matlab语言编程,学习编程要点。

体会newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。

数学原理:对于一个非线性方程的数值解法很多。

在此介绍两种最常见的方法:二分法和newton法。

对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。

重复运行计算,直至满足精度为止。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析实验指导2012年8月实验一 误差分析实验1.1(病态问题)实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。

对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。

通过本实验可获得一个初步体会。

数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。

病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。

问题提出:考虑一个高次的代数多项式)1.1()()20()2)(1()(201∏=-=---=k k x x x x x p显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。

现考虑该多项式的一个扰动)2.1(0)(19=+x x p ε其中ε是一个非常小的数。

这相当于是对(1.1)中19x 的系数作一个小的扰动。

我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。

实验内容:为了实现方便,我们先介绍两个MATLAB 函数:“roots ”和“poly ”。

roots(a)u =其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。

设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程01121=+++++-n n n n a x a x a x a的全部根;而函数 p o l y (vb = 的输出b 是一个n+1维向量,它是以n 维向量v 的各分量为根的多项式的系数。

可见“roots ”和“poly ”是两个互逆的运算函数。

))20:1((;)2();21,1(;000000001.0ve poly roots ess ve zeros ve ess +===上述简单的MATLAB 程序便得到(1.2)的全部根,程序中的“ess ”即是(1.2)中的ε。

实验要求:(1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。

如果扰动项的系数ε很小,我们自然感觉(1.1)和(1.2)的解应当相差很小。

计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何? (2)将方程(1.2)中的扰动项改成18x ε或其它形式,实验中又有怎样的现象出现?(3)(选作部分)请从理论上分析产生这一问题的根源。

注意我们可以将方程(1.2)写成展开的形式, )3.1(0),(1920=+-= x x x p αα同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于α的变化更敏感?思考题一:(上述实验的改进)在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考MATLAB 的帮助。

思考题二:(二进制产生的误差)用MATLAB 计算1001.010001-∑=i 。

结果居然有误差!因为从十进制数角度分析,这一计算应该是准确的。

实验反映了计算机内部的二进制本质。

思考题三:(一个简单公式中产生巨大舍入误差的例子) 可以用下列式子计算自然对数的底数n n ne e )11(l i m 1+==∞→ 这个极限表明随着n 的增加,计算e 值的精度是不确定的。

现编程计算n nn f )11()(+=与exp(1)值的差。

n 大到什么程度的时候误差最大?你能解释其中的原因吗?实验1.2 误差传播与算法稳定性实验目的:体会稳定性在选择算法中的地位。

误差扩张的算法是不稳定的,是我们所不期望的;误差衰减的算法是稳定的,是我们努力寻求的,这是贯穿本课程的目标。

问题提出:考虑一个简单的由积分定义的序列...2,1,101==⎰-n dx e x I x n n显然,...2,1,0=>n I n 。

当1=n 时,e dx xe I x /11011==⎰-。

而对于2≥n 时,利用分部积分易得,...3,2,1|111110111=-=-==-----⎰⎰n nI dx e nxe x dx e x I n x n x n x n n另一方面,我们有)1/(11101+=≤=⎰⎰-n dx x dx e x I n x n n实验内容:由以上递推关系,我们可得到计算序列{n I }的两种方法。

(I ):,...3,2,1,/111=-==-n nI I e I n n (II ):2,3,...2,1,,1,01--=-==-N N N n n E E E nn N实验要求:(1)分别用算法(I )、(II )并在计算中分别采用5位、6位和7位有效数字,请判断哪种算法能给出更精确的结果。

(2)两种算法的优劣,与你的第一感觉是否吻合。

请从理论上证明你实验得出的结果,解释实验的结果。

算法(I )中的1I 的计算误差为1e ,由1I 递推计算n I 的误差为n e ;算法(II )中N I 的计算误差为N ε,由N I 向前递推计算)(N n I n <的误差为n ε。

如果在上述两算法中都假定后面的计算不再引入其他误差, 试给出n e 与1e 的关系和n ε与N ε的关系。

(3)算法(I )中通常1e 会很小,当n 增大时,n e 的变化趋势如何?算法(II )中N ε通常相对比较大,当n 减小时,误差n ε又是如何传播的?也就是说比较一下上述两个算法,当某一步产生误差后,该误差对后面的影响是衰减还是扩张的。

(4)通过理论分析与计算实验,针对算法(I )和(II )的稳定性,给出你的结论。

实验二 插值法实验2.1(多项式插值的振荡现象)问题提出:考虑一个固定的区间上用插值逼近一个函数。

显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。

我们自然关心插值多项式的次数增加时,)(x L n 是否也更加靠近被逼近的函数。

龙格(Runge )给出一个例子是极著名并富有启发性的。

设区间[-1,1]上函数22511)(xx f += 实验内容:考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-=则拉格朗日插值多项式为∑=+=ni ijn x l x x L 02)(2511)( 其中的n i x l i ,,2,1,0),( =是n 次拉格朗日插值基函数。

实验要求:(1) 选择不断增大的分点数目n=2,3….,画出原函数f(x)及插值多项式函数)(x L n 在[-1,1]上的图像,比较并分析实验结果。

(2)选择其他的函数,例如定义在区间[-5,5]上的函数x x g x xx h arctan )(,1)(4=+=重复上述的实验看其结果如何。

(3)区间[a,b]上切比雪夫点的定义为 1,,2,1,)1(2)12(c o s 22+=⎪⎪⎭⎫⎝⎛+--++=n k n k a b a b x k π 以121,,+n x x x 为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果。

实验2.2(样条插值的收敛性)问题提出:多项式插值是不收敛的,即插值的节点多,效果不一定就好。

对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,但通过本实验可以验证这一理论结果。

实验内容:请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。

考虑实验2.1中的函数或选择其他你有兴趣的函数,可以用MATLAB 的函数“spline ”作此函数的三次样条插值。

实验要求:(1)随节点个数增加,比较被逼近函数和样条插值函数误差的变化情况。

分析所得结果并与拉格朗日多项式插值比较。

(2)样条插值的思想是早产生于工业部门。

作为工业应用的例子考虑如下问题:某汽车制造商用三次样条插值设计车门的曲线,其中一段的数据如下:思考题一:(二维插值)在一丘陵地带测量高程,x和y方向每隔100米测一个点,得高程数据如下。

试用MATLAB的二维插值函数“interp2”进行插值,并由此找出最高点和该点实验三曲线拟合实验3.1 钢包问题炼钢厂出钢时所用的盛钢水的钢包,在使用过程中由于钢液及炉渣对包衬耐火材料的侵蚀,使其容积不断增大。

经试验,钢包的容积与相应的使用次数的数据列表如下:选用双曲线对数据进行拟合,使用最小二乘法求出拟合函数,作出拟合曲线图。

实验3.2(曲线逼近方法的比较)问题提出:曲线的拟合和插值,是逼近函数的基本方法,每种方法具有各自的特点和特定的适用范围,实际工作中合理选择方法是重要的。

实验内容:考虑实验2.1中的著名问题。

下面的MATLAB程序给出了该函数的二次和三次拟合多项式。

x=-1:0.2:1;y=1/(1+25*x.*x);xx=-1:0.02:1;p2=polyfit(x,y,2);yy=polyval(p2,xx);plot(x,y,’o’,xx,yy);xlabel(‘x’);ylabel(‘y’);hold on;p3=polyfit(x,y,3);yy=polyval(p3,xx);plot(x,y,’o’,xx,yy);hold off;适当修改上述MATLAB程序,也可以拟合其他你有兴趣的函数。

实验要求:(1)将拟合的结果与拉格朗日插值及样条插值的结果比较。

(2)归纳总结数值实验结果,试定性地说明函数逼近各种方法的适用范围,及实际应用中选择方法应注意的问题。

思考题一:(病态)考虑将[0,1]30等分节点,用多项式5++= 生成y+1xx数据,再用polyfit求其3次、5次、10次、15次拟合多项式,并分析误差产生的原因。

实验四 数值积分数值实验综述:通过数值积分实验掌握数值积分的实现,理解各种数值积分公式的特性,并能用数值积分求解积分方程和微分方程。

基础实验4.1 Newton-cotes 型求积公式实验目的:学会Newton-cotes 型求积公式,并应用该算法于实际问题. 实验内容:求定积分⎰πcos xdx e x实验要求:选择等分份数n ,用复化Simpson 求积公式求上述定积分的误差不超过810-的近似值,用MATLAB 中的内部函数int 求此定积分的准确值,与利用复化Simpson 求积公式计算的近似值进行比较。

4.2 Romberg 算法实验目的:学会数值求积的Romberg 算法,并应用该算法于实际问题. 实验内容:求定积分 ⎰15.0dx x实验要求:(1)要求程序不断加密对积分区间的等分,自动地控制Romberg 算法中的加速收敛过程,直到定积分近似值的误差不超过610-为止,输出求得的定积分近似值。

相关文档
最新文档