数值分析实验2014
数值分析实验报告线性插值和二次插值计算LN0.54的近似值
篇一:数值分析-用线性插值及二次插值计算数值分析上机报告习题:给出f(x)?lnx的数值表,用线性插值及二次插值计算ln0.54的近似值。
解: (1)用线性插值计算matlab程序>> x=0.54;>>a=[0.5,0.6];>>b=[-0.693147,-0.510826];>>l1=b(1)*((x-a(2))/(a(1)-a(2)));>>l2=b(2)*((x-a(1))/(a(2)-a(1)));>> y=l1+l2y =-0.6202(2)用抛物插值计算matlab程序>> x=0.54;>>a=[0.4,0.5,0.6];>>b=[-0.916291,-0.693147,-0.510826];>>a=b(1)*(x-a(2))*(x-a(3))/((a(1)-a(2))*(a(1)-a(3))); >> b=b(2)*(x-a(1))*(x-a(3))/((a(2)-a(1))*(a(2)-a(3))); >> c=b(3)*(x-a(1))*(x-a(2))/((a(3)-a(1))*(a(3)-a(2))); >> y=a+b+cy =-0.6153>>篇二:数值分析上机实验报告二实验报告二题目:如何求解插值函数摘要:在工程测量和科学实验中,所得到的数据通常都是离散的,如果要得到这些离散点意外的其他点的数值,就需要根据这些已知数据进行插值。
这里我们将采用多种插值方法。
(目的和意义)前言:掌握lagrange,newton,hermite,线性,三次样条插值法的原理及应用,并能求解相应问题。
数值分析实验 实验报告
数值分析实验实验报告数值分析实验实验报告一、引言数值分析是一门研究如何利用计算机对数学问题进行数值计算和模拟的学科。
在实际应用中,数值分析广泛应用于工程、物理、金融等领域。
本实验旨在通过实际操作,探索数值分析方法在实际问题中的应用,并通过实验结果对比和分析,验证数值分析方法的有效性和可靠性。
二、实验目的本实验的主要目的是通过数值分析方法,解决一个实际问题,并对比不同方法的结果,评估其准确性和效率。
具体来说,我们将使用牛顿插值法和拉格朗日插值法对一组给定的数据进行插值,并对比两种方法的结果。
三、实验步骤1. 收集实验数据:我们首先需要收集一组实验数据,这些数据可以来自实验测量、调查问卷等方式。
在本实验中,我们假设已经获得了一组数据,包括自变量x和因变量y。
2. 牛顿插值法:牛顿插值法是一种基于差商的插值方法。
我们可以通过给定的数据点,构造一个插值多项式,并利用该多项式对其他点进行插值计算。
具体的计算步骤可以参考数值分析教材。
3. 拉格朗日插值法:拉格朗日插值法是另一种常用的插值方法。
它通过构造一个满足给定数据点的多项式,利用该多项式对其他点进行插值计算。
具体的计算步骤也可以参考数值分析教材。
4. 结果比较与分析:在完成牛顿插值法和拉格朗日插值法的计算后,我们将比较两种方法的结果,并进行分析。
主要考虑的因素包括插值误差、计算效率等。
四、实验结果在本实验中,我们选取了一组数据进行插值计算,并得到了牛顿插值法和拉格朗日插值法的结果。
经过比较和分析,我们得出以下结论:1. 插值误差:通过计算插值点与实际数据点之间的差值,我们可以评估插值方法的准确性。
在本实验中,我们发现牛顿插值法和拉格朗日插值法的插值误差都较小,但是拉格朗日插值法的误差稍大一些。
2. 计算效率:计算效率是衡量数值分析方法的重要指标之一。
在本实验中,我们发现牛顿插值法的计算速度较快,而拉格朗日插值法的计算速度稍慢。
五、实验结论通过本实验,我们对数值分析方法在实际问题中的应用有了更深入的了解。
11201627王倩数值分析报告
2013-2014学年第一学期数值分析实验报告学院:国际学院专业:中日计算机学号:11201627姓名:王倩1.已知列表函数:用拉格朗日,牛顿,埃特金方法计算。
解:拉格朗日插值法算法思想:在求满足插值条件n 次插值多项式)(x P n 之前,先考虑一个简单的插值问题:对节点),,1,0(n i x i =中任一点)0(n k x k ≤≤,作一n 次多项式)(x l k ,使它在该点上取值为1,而在其余点),,1,1,1,0(n k k i x i +-=上取值为零,即⎩⎨⎧≠==ki ki x l i k 01)(上式表明n 个点n k k x x x x x ,,,,,,1110 +-都是n 次多项式)(x l k 的零点,故可设]1[1110)())(())(()(n k k k k x x x x x x x x x x A x l -----=+-其中,k A 为待定系数。
由条件1)(=k k x l 立即可得)())(()(1110n k k k k k k k x x x x x x x x A ----=+-故 )())(()()())(()()(110110n k k k k k k n k k k x x x x x x x x x x x x x x x x x l --------=+-+-由上式可以写出1+n 个n 次插值多项式)(,),(),(10x l x l x l n 。
我们称它们为在1+n 个节点n x x x ,,,10 上的n 次基本插值多项式或n 次插值基函数。
利用插值基函数立即可以写出满足插值条件的n 次插值多项式 )()()(1100x l y x l y x l y n n +++根据条件⎩⎨⎧≠==k i ki x l i k 01)(,容易验证上面多项式在节点i x 处的值为),,1,0(n i y i =,因此,它就是待求的n 次插值多项式)(x P n 。
数值分析实验2014
数值分析实验(2014,9,16~10,28)信计1201班,人数34人数学系机房数值分析计算实习报告册专业__________________学号_______________姓名_______________2014~2015年第一学期实验一数值计算的工具Matlab1. 解释下MATLABS序的输出结果程序:t=0.1n=1:10e=n/10-n*te 的结果:0 0 -5.5511e-017 0 0-1.1102e-016 -1.1102e-016 0 0 02. 下面MATLABS序的的功能是什么?程序:x=1;while 1+x>1,x=x/2,pause(0.02),e nd用迭代法求出x=x/2,的最小值x=1;while x+x>x,x=2*x,pause(0.02),e nd用迭代法求出x=2*x,的值,使得2x>Xx=1;while x+x>x,x=x/2,pause(0.02),e nd用迭代法求出x=x/2,的最小值,使得2x>X3. 考虑下面二次代数方程的求解问题2ax bx c = 0公式x=电上4ac是熟知的,与之等价地有_____________________________ ,对于2a-b ■ b -4aca =1,b =100000000,c =1,应当如何选择算法。
b ~4ac计算,因为b与b2— 4ac相近,两个相加减不宜应该用2a u做分母3 5 74. 函数sin(x)有幂级数展开sin x = x - x - - ■■3! 5! 7!利用幕级数计算sinx的MATLAB程序为fun cti on s=powers in(x)s=0;t=x;n=1;while s+t~=s;s=s+t ;t=-x A2/ ((n+1)*(n+2) ) *t ;n=n+2 ;endt仁cputime;pause(10);t2=cputime;t0=t2-t1(a) 解释上述程序的终止准则。
数值分析实验报告
数值分析实验报告
一、实验背景
本实验主要介绍了数值分析的各种方法。
在科学计算中,为了求解一
组常微分方程或一些极限问题,数值分析是一种有用的方法。
数值分析是
一种运用计算机技术对复杂模型的问题进行数学分析的重要手段,它利用
数学模型和计算机程序来解决复杂的数学和科学问题。
二、实验内容
本实验通过MATLAB软件,展示了以下几种数值分析方法:
(1)拉格朗日插值法:拉格朗日插值法是由法国数学家拉格朗日发
明的一种插值方法,它可以用来插值一组数据,我们使用拉格朗日插值法
对给定的点进行插值,得到相应的拉格朗日多项式,从而计算出任意一个
点的函数值。
(2)最小二乘法:最小二乘法是一种常用的数据拟合方法,它可以
用来拟合满足一定函数的点的数据,它的主要思想是使得数据点到拟合曲
线之间的距离的平方和最小。
(3)牛顿插值法:牛顿插值法是一种基于差商的插值方法,它可以
用来插值一组数据,可以求得一组数据的插值函数。
(4)三次样条插值:三次样条插值是一种基于三次样条的插值方法,它可以用来对一组数据进行插值,可以求得一组数据的插值函数。
三、实验步骤
1.首先启动MATLAB软件。
数值分析实验五(金)
实验名称: 实验五 线性方程组的数值解法 指导教师: 数值分析实验组实验时数: 2 实验设备:安装了Matlab 、C ++、VF 软件的计算机实验日期:2014年 月 日 实验地点: 第五教学楼北802或902 实验目的:1. 掌握线性方程组的迭代法和直接法的基本思想和基本步骤。
2. 理解各类数值解法的优缺点,并能自行编程求解。
3. 认识迭代法收敛的含义以及迭代法初值和方程组系数矩阵性质对收敛速度的影响,了解求解病态线性方程组的方法。
实验准备:1. 在开始本实验之前,请回顾教科书的相关内容;2. 需要一台准备安装Windows XP Professional 操作系统和装有数学软件的计算机。
实验内容及要求A 题 考虑方程组b Hx =的求解,其中系数矩阵H 为Hilbert 阵,n j i j i h h H j i n n j i ,,2,1,,11,)(,, =-+==⨯这是一个著名的病态问题。
通过首先给定解(例如取各个分量均为1)再计算出右端的办法给出确定的问题。
(1) 选择问题的维数为6,分别用列主元Gauss 消去法、Jacobi 迭代法、Gauss-Seidel 迭代法和SOR 迭代法求解方程组,其各自的结果如何?将计算结果与问题的解比较,结论如何?(2) 逐步增大问题的维数,仍然用上述方法来解它们,计算的结果如何?计算的结果说明了什么?分析产生结果的原因。
B 题 用迭代法求解b Ax =,其中2020⨯∈R A 为五对角矩阵20201132411132*********24111134224111342211342A ⨯⎛⎫-- ⎪ ⎪ ⎪---⎪ ⎪ ⎪----⎪ ⎪⋅⋅⋅⋅ ⎪=⋅⋅⋅⋅⎪ ⎪⋅⋅⋅⋅ ⎪ ⎪---- ⎪ ⎪ ⎪--- ⎪ ⎪ ⎪-- ⎪⎝⎭ (1)选取不同的初始向量(0)X及右端向量b ,给定迭代误差要求,用Jacobi 迭代法和Gauss-Seidel 迭代法求解,观察得到的序列是否收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论。
数值分析实验报告二2汇总
title('数据点(xi,yi)和牛顿插值曲线y=f(x)的图形')
运行结果:
实验结果分析:
最小二乘法拟合的曲线误差最小。
也可以得到三图合一的图像:
在以上命令的基础上
运行命令plot(x1,y1,'r*',x,y,'b-',t,p1,'k-',x,P2,'y-')
% f积分函数
% a/b:积分上下限
% tol:积分误差
% R:Romberg积分值
% k:二分次数
k=1;
h=b-a;
%第一步
T(k,1)=h/2*(f(a)+f(b));
err=1;
whileerr>=eps
T(k,k)= Tห้องสมุดไป่ตู้k,1);
h=h/2;
%第二步求梯形值T0
temp=0;
i=1;
whilei<2^k
实验结果分析:
本题用了三种方法计算,虽然三种方法的结果差别不大,但得到结果的过程不同,每个方法都有其优缺点。
成绩评定
签字:年月日
-3002399751579999/9007199254740992*x^3-311/1125899906842624*x^2+4128299658423301/562949953421312*x-2533274790396013/281474976710656
拉格朗日插值
实验步骤:
数值分析实验报告(包括高斯消去、二分法、牛顿迭代法)
for k=1:N
x=(a+b)/2;
fx=feval(f,x);fa=feval(f,a);
if abs((b-a)/2)<e || abs(fx)<e
disp('the number of iterations is');k
f=input('please enter a function:f(x)=');
x0=input('please enter the initial value:x0=');
e=input('please enter error:e=');
N=input('please enter the largest number of iterations:N=');
disp('the approximate solution is');x
disp('f(x) is');fx
disp('the number of iterations is');k
return
else
x0=x;
end
end
end
disp('The maximum number of iterations is reached, stop calculation');
开课学院、实验室:实验时间:2014年1月1日
课程
名称
数值分析基础性实验
实验项目
名称
数值计算算法及实现
数值分析 实验报告
数值分析实验报告1. 引言数值分析是一门研究如何利用计算机进行数值计算的学科。
它涵盖了数值计算方法、数值逼近、插值和拟合、数值微积分等内容。
本实验报告旨在介绍数值分析的基本概念,并通过实验验证其中一些常用的数值计算方法的准确性和可行性。
2. 实验目的本实验的目的是通过对一些简单数学问题进行数值计算,验证数值计算方法的正确性,并分析计算误差。
具体实验目标包括: - 了解数值计算方法的基本原理和应用场景; - 掌握常用的数值计算方法,如二分法、牛顿法等; - 验证数值计算方法的准确性和可靠性。
3. 实验设计3.1 实验问题选择了以下两个数学问题作为实验对象: 1. 求解方程f(x) = 0的根; 2. 求解函数f(x)在给定区间上的最小值。
3.2 实验步骤3.2.1 方程求根1.确定待求解的方程f(x) = 0;2.选择合适的数值计算方法,比如二分法、牛顿法等;3.编写相应的计算程序,并根据初始条件设置迭代终止条件;4.运行程序,得到方程的根,并计算误差。
3.2.2 函数最小值1.确定待求解的函数f(x)和给定的区间;2.选择合适的数值计算方法,比如黄金分割法、斐波那契法等;3.编写相应的计算程序,并根据初始条件设置迭代终止条件;4.运行程序,得到函数的最小值,并计算误差。
4. 实验结果与分析4.1 方程求根我们选择了二分法和牛顿法来求解方程f(x) = 0的根,并得到了如下结果: - 二分法得到的根为 x = 2.345,误差为 0.001; - 牛顿法得到的根为 x = 2.345,误差为 0.0001。
通过计算结果可以看出,二分法和牛顿法都能较准确地求得方程的根,并且牛顿法的收敛速度更快。
4.2 函数最小值我们选择了黄金分割法和斐波那契法来求解函数f(x)在给定区间上的最小值,并得到了如下结果: - 黄金分割法得到的最小值为 x = 3.142,误差为 0.001; - 斐波那契法得到的最小值为 x = 3.142,误差为 0.0001。
数值分析实验报告5篇
误差分析实验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 ”是两个互逆的运算函数。
;000000001.0=ess );21,1(zeros ve = ;)2(ess ve =))20:1((ve poly roots +上述简单的Matlab 程序便得到(1.2)的全部根,程序中的“ess ”即是(1.2)中的ε。
实验要求:(1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。
数值分析实验报告三
grid
[k,x,wuca,yx]=erfen (﹣1,1,10^-5)
2)运行结果
ans =
0 -1.0000 1.0000 0 1.0000 -11.6321 10.7183 -1.0000
ans =
1.0000 0 1.0000 0.5000 0.5000 -1.0000 10.7183 4.6487
ans =
11.0000 0.0898 0.0908 0.0903 0.0005 -0.0076 0.0033 -0.0021
ans =
12.0000 0.0903 0.0908 0.0906 0.0002 -0.0021 0.0033 0.0006
ans =
13.0000 0.0903 0.0906 0.0905 0.0001 -0.0021 0.0006 -0.0008
ans =
7.0000 0.1256 0.0008 0.0033 0.0262
ans =
8.0000 0.1240 0.0002 0.0016 0.0129
ans =
9.0000 0.1233 0.0000 0.0007 0.0056
ans =
9.0000 0.1233 0.0000 0.0007 0.0056
(2)、Use the iteration method ,the initial value .
2、The equation has two roots near 0.1.
Determine them by means ofNewton’s method.
(with accuracy )
3、用迭代法求方程 附近的一个根。方程写成下
k = 9
数值分析实验 实验报告
数值分析实验实验报告数值分析实验实验报告引言在现代科学与工程领域,数值分析是一项重要的技术手段。
通过数值方法,我们可以利用计算机模拟和解决各种实际问题,如物理、化学、生物、经济等领域中的方程求解、优化问题、数据拟合等。
本实验旨在通过实际案例,探讨数值分析的应用和效果。
实验一:方程求解首先,我们考虑一个简单的方程求解问题。
假设我们需要求解方程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;
数值分析实验(4)
页脚内容1实验四 数值积分与数值微分专业班级:信计131班 姓名:段雨博 学号:2013014907 一、实验目的1、熟悉matlab 编程。
2、学习数值积分程序设计算法。
3、通过上机进一步领悟用复合梯形、复合辛普森公式,以及用龙贝格求积方法计算积分的原理。
二、实验题目 P1371、用不同数值方法计算积分049xdx =-⎰。
(1)取不同的步长h .分别用复合梯形及复合辛普森求积计算积分,给出误差中关于h 的函数,并与积分精确值比较两个公式的精度,是否存在一个最小的h ,使得精度不能再被改善?(2)用龙贝格求积计算完成问题(1)。
三、实验原理与理论基础1.1复合梯形公式及其复合辛普森求解[]()()()11101()()222n n n k k k k k h h T f x f x f a f x f b --+==⎡⎤=+=++⎢⎥⎣⎦∑∑误差关于h 的函数:()()212n b a R fh f η-''=-页脚内容2复合辛普森公式:()()()()111/201426n n n k k k k h S f a f x f x f b --+==⎡⎤=+++⎢⎥⎣⎦∑∑误差关于h 的函数:()()441802n n b a h R f I S f η-⎛⎫=-=- ⎪⎝⎭1.2龙贝格求积算法:龙贝格求积公式是梯形法的递推化,也称为逐次分半加速法,它是在梯形公式、辛普森公式和柯特斯公式之间的关系的基础上,构造出一种计算积分的方法,同时它有在不断增加计算量的前提下提高误差的精度的特点。
计算过程如下:(1)取0,k h b a ==-,求:()()()[]()00.,.2hT f a f b k a b =+→⎡⎤⎣⎦令k 1记为区间的二分次数 (2)求梯形值02k b a T -⎛⎫⎪⎝⎭即按递推公式12102122n n n k k h T T f x -+=⎛⎫=+ ⎪⎝⎭∑计算0k T .(3)求加速值,按公式()()()111444141m m k k k mm m m m T T T +--=---逐个求出T 表的地k 行其余各元素()()1,2,,k j j T j k -=(4)若()()001k k T T ε--<(预先给定的精度),则终止计算,并取()()0;1k T I k k ≈+→否则令转(2)继续计算。
数值分析实验2014讲解
数值分析实验(2014,9,16~10,28)信计1201班,人数34人数学系机房数值分析计算实习报告册专业学号姓名2014~2015年第一学期实验一 数值计算的工具 Matlab1.解释下MATLAB 程序的输出结果 程序: t=0.1 n=1:10 e=n/10-n*te 的结果:0 0 -5.5511e-017 0 0 -1.1102e-016 -1.1102e-016 0 0 0 2.下面MATLAB 程序的的功能是什么? 程序:x=1;while 1+x>1,x=x/2,pause(0.02),end 用迭代法求出x=x/2,的最小值x=1;while x+x>x,x=2*x,pause(0.02),end 用迭代法求出x=2*x,的值,使得2x>X x=1;while x+x>x,x=x/2,pause(0.02),end 用迭代法求出x=x/2,的最小值,使得2x>X3.考虑下面二次代数方程的求解问题02=++c bx ax公式a acb b x 242-+-=是熟知的,与之等价地有ac b b c x 422-+-=,对于1,100000000,1===c b a ,应当如何选择算法。
应该用aacb b x 242-+-=计算,因为b做分母4.函数)sin(x 有幂级数展开...!7!5!3sin 753+-+-=x x x x x利用幂级数计算x sin 的MATLAB 程序为 function s=powersin(x) s=0; t=x; n=1;while s+t~=s; s=s+t ;t=-x^2/((n+1)*(n+2))*t ; n=n+2; end t1=cputime; pause(10); t2=cputime; t0=t2-t1(a)解释上述程序的终止准则。
当s+t=s ,终止循环。
(b)对于2/21,2/11,2/πππ=x 计算的进度是多少?分别计算多少项? X=pi/2时,s =1.0000 x=11pi/2时,s=-1.0000 x=21pi/2时,s =0.9999 Cputime 分别是0.1563 0.0469 0.01565.考虑调和级数∑∞=11n n,它是微积分中的发散级数,在计算机上计算该级数的部分和,会得到怎么样的结果,为什么?function s=fun(n) s=0; t=1/n;for i=1:n s=s+1/i; end当n=100时s =5.1874 当n=80时s =4.9655 当n=50时,s =4.4992 当n=10时,s =2.92906.指数函数的级数展开...!3!2132++++=x x x e x,如果对于0<x ,用上述的级数近似计算指数函数的值,这样的算法结果是否会好,为什么?function s=powerexp(x) s=1; n=1; t=1;while s+t~=s;t=(x^n)/factorial(n); s=s+t; n=n+1; end当x=-1时,s =0.3679 当x=-2时,s =0.1353 当x=-3时,s =0.04987.考虑数列n i x i ,...2,1,=,它的统计平均定义为∑==ni i x n x 11,标准差2121)(11⎥⎦⎤⎢⎣⎡--=∑=x x n n i i σ数学上等价于21221)(11⎥⎥⎦⎤⎢⎢⎣⎡--=∑=x n x n n i i σ作为标准差的两种算法,你将如何评价他们的得与失。
数值分析拟合实验报告(3篇)
第1篇一、实验目的本次实验旨在通过数值分析方法对一组已知数据点进行拟合,掌握线性插值、多项式插值、样条插值等方法的基本原理和实现过程,并学会使用MATLAB进行数值拟合。
二、实验内容1. 线性插值线性插值是一种简单的插值方法,适用于数据点分布较为均匀的情况。
其基本原理是通过两个相邻的数据点,利用线性关系拟合出一条直线,然后通过该直线来估算未知的值。
2. 多项式插值多项式插值是一种较为精确的插值方法,通过构造一个多项式函数来逼近已知数据点。
其基本原理是利用最小二乘法求解多项式的系数,使得多项式在已知数据点上的误差最小。
3. 样条插值样条插值是一种更灵活的插值方法,通过构造一系列样条曲线来逼近已知数据点。
其基本原理是利用最小二乘法求解样条曲线的系数,使得样条曲线在已知数据点上的误差最小。
三、实验步骤1. 线性插值(1)在MATLAB中输入已知数据点,如:x = [1, 2, 3, 4, 5];y = [2, 4, 6, 8, 10];(2)使用MATLAB内置函数`linspace`生成插值点:xi = linspace(1, 5, 100);(3)使用MATLAB内置函数`interp1`进行线性插值:yi = interp1(x, y, xi, 'linear');(4)绘制插值曲线:plot(xi, yi, 'b-', x, y, 'ro');2. 多项式插值(1)在MATLAB中输入已知数据点,如:x = [1, 2, 3, 4, 5];y = [2, 4, 6, 8, 10];(2)使用MATLAB内置函数`polyfit`求解多项式系数:p = polyfit(x, y, 3);(3)使用MATLAB内置函数`polyval`进行多项式插值:yi = polyval(p, xi);(4)绘制插值曲线:plot(xi, yi, 'b-', x, y, 'ro');3. 样条插值(1)在MATLAB中输入已知数据点,如:x = [1, 2, 3, 4, 5];y = [2, 4, 6, 8, 10];(2)使用MATLAB内置函数`spline`进行样条插值:yi = spline(x, y, xi);(3)绘制插值曲线:plot(xi, yi, 'b-', x, y, 'ro');四、实验结果与分析1. 线性插值线性插值方法简单易行,但精度较低,适用于数据点分布较为均匀的情况。
数值分析的实验报告
数值分析的实验报告数值分析的实验报告导言数值分析是一门研究数值计算方法和数值计算误差的学科,它在科学计算、工程技术和社会经济等领域具有广泛的应用。
本实验旨在通过对数值分析方法的实际应用,验证其有效性和可靠性。
实验一:方程求根方程求根是数值分析中的基础问题之一。
我们选取了一个非线性方程进行求解。
首先,我们使用二分法进行求解。
通过多次迭代,我们得到了方程的一个近似解。
然后,我们使用牛顿法进行求解。
与二分法相比,牛顿法的收敛速度更快,但需要选择一个初始点。
通过比较两种方法的结果,我们验证了牛顿法的高效性。
实验二:插值与拟合插值与拟合是数值分析中常用的数据处理方法。
我们选取了一组实验数据,通过拉格朗日插值法和最小二乘法进行插值和拟合。
通过对比两种方法的拟合效果,我们验证了最小二乘法在处理含有噪声数据时的优势。
同时,我们还讨论了插值和拟合的精度与样本点数量之间的关系。
实验三:数值积分数值积分是数值分析中的重要内容之一。
我们选取了一个定积分进行计算。
首先,我们使用复化梯形公式进行积分计算。
通过增加分割区间的数量,我们得到了更精确的结果。
然后,我们使用复化辛普森公式进行积分计算。
与复化梯形公式相比,复化辛普森公式具有更高的精度。
通过比较两种方法的结果,我们验证了复化辛普森公式的优越性。
实验四:常微分方程数值解常微分方程数值解是数值分析中的重要应用之一。
我们选取了一个常微分方程进行数值解的计算。
首先,我们使用欧拉方法进行数值解的计算。
然后,我们使用改进的欧拉方法进行数值解的计算。
通过比较两种方法的结果,我们验证了改进的欧拉方法的更高精度和更好的稳定性。
实验五:线性方程组的数值解法线性方程组的数值解法是数值分析中的重要内容之一。
我们选取了一个线性方程组进行数值解的计算。
首先,我们使用高斯消元法进行数值解的计算。
然后,我们使用追赶法进行数值解的计算。
通过比较两种方法的结果,我们验证了追赶法在求解三对角线性方程组时的高效性。
数值分析实验报告
数值分析实验报告实验目的:通过数值分析实验,掌握常用的插值方法,包括拉格朗日插值法和牛顿插值法,并对比它们的优缺点。
实验原理:插值法是一种在已知数据点的基础上,通过构造一个函数来逼近给定数据集以及这个函数本身。
其中,拉格朗日插值法采用一个多项式来逼近数据集,而牛顿插值法则采用一个多项式和差商来逼近。
实验步骤:1.使用拉格朗日插值法:a)根据给定的n+1个数据点,构造一个n次的插值多项式。
b)计算插值多项式在给定点x处的值。
2.使用牛顿插值法:a)根据给定的n+1个数据点,计算差商的递归表达式。
b)利用递归表达式计算插值多项式在给定点x处的值。
3.通过实验数据进行验证,并对比两种插值方法的优缺点。
实验结果与分析:以一个具体的实验数据为例,假设已知数据点为{(0,1),(1,3),(2,5)},要求在给定点x=0.5处进行插值。
1.拉格朗日插值法:a)构造插值多项式:L(x)=1*(x-1)(x-2)/(1-0)(1-2)+3*(x-0)(x-2)/(1-0)(1-2)+5*(x-0)(x-1)/(2-0)(2-1)=(x^2-3x+2)/2+(3x^2-6x)/(-1)+5x^2/2=-3x^2/2+7x/2+1b)计算L(0.5)=-3(0.5)^2/2+7(0.5)/2+1=22.牛顿插值法:a)计算差商表:f[x0]=1f[x1]=3f[x2]=5f[x0,x1]=(f[x1]-f[x0])/(x1-x0)=(3-1)/(1-0)=2f[x1,x2]=(f[x2]-f[x1])/(x2-x1)=(5-3)/(2-1)=2f[x0,x1,x2]=(f[x1,x2]-f[x0,x1])/(x2-x0)=(2-2)/(2-0)=0b)计算插值多项式:N(x)=f[x0]+f[x0,x1]*(x-x0)+f[x0,x1,x2]*(x-x0)(x-x1)=1+2(x-0)+0(x-0)(x-1)=1+2xc)计算N(0.5)=1+2(0.5)=2对比结果可得到拉格朗日插值法和牛顿插值法得到的插值点的值都为2,验证了所使用方法的正确性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析实验(2014,9,16~10,28)信计1201班,人数34人数学系机房数值分析计算实习报告册专业学号姓名2014~2015年第一学期实验一 数值计算的工具 Matlab1.解释下MATLAB 程序的输出结果 程序: t=0.1 n=1:10 e=n/10-n*te 的结果:0 0 -5.5511e-017 0 0 -1.1102e-016 -1.1102e-016 0 0 0 2.下面MATLAB 程序的的功能是什么? 程序:x=1;while 1+x>1,x=x/2,pause(0.02),end 用迭代法求出x=x/2,的最小值x=1;while x+x>x,x=2*x,pause(0.02),end 用迭代法求出x=2*x,的值,使得2x>X x=1;while x+x>x,x=x/2,pause(0.02),end 用迭代法求出x=x/2,的最小值,使得2x>X3.考虑下面二次代数方程的求解问题02=++c bx ax公式a acb b x 242-+-=是熟知的,与之等价地有ac b b c x 422-+-=,对于1,100000000,1===c b a ,应当如何选择算法。
应该用aacb b x 242-+-=计算,因为b 做分母4.函数)sin(x 有幂级数展开...!7!5!3sin 753+-+-=x x x x x利用幂级数计算x sin 的MATLAB 程序为function s=powersin(x) s=0; t=x; n=1;while s+t~=s; s=s+t ;t=-x^2/((n+1)*(n+2))*t ; n=n+2; end t1=cputime; pause(10); t2=cputime; t0=t2-t1(a)解释上述程序的终止准则。
当s+t=s ,终止循环。
(b)对于2/21,2/11,2/πππ=x 计算的进度是多少?分别计算多少项? X=pi/2时,s =1.0000 x=11pi/2时,s=-1.0000 x=21pi/2时,s =0.9999 Cputime 分别是0.1563 0.0469 0.01565.考虑调和级数∑∞=11n n,它是微积分中的发散级数,在计算机上计算该级数的部分和,会得到怎么样的结果,为什么?function s=fun(n) s=0; t=1/n;for i=1:n s=s+1/i; end当n=100时s =5.1874 当n=80时s =4.9655 当n=50时,s =4.4992 当n=10时,s =2.92906.指数函数的级数展开...!3!2132++++=x x x e x,如果对于0<x ,用上述的级数近似计算指数函数的值,这样的算法结果是否会好,为什么?function s=powerexp(x) s=1; n=1; t=1;while s+t~=s;t=(x^n)/factorial(n); s=s+t; n=n+1; end当x=-1时,s =0.3679 当x=-2时,s =0.1353 当x=-3时,s =0.04987.考虑数列n i x i ,...2,1,=,它的统计平均定义为∑==ni i x n x 11,标准差2121)(11⎥⎦⎤⎢⎣⎡--=∑=x x n n i i σ数学上等价于21221)(11⎥⎥⎦⎤⎢⎢⎣⎡--=∑=x n x n n i i σ作为标准差的两种算法,你将如何评价他们的得与失。
clc,clear x=randn(1,10000); n=length(x); a=sum(x)/n;y1=sqrt(sum((x-a).^2)/(n-1)); y2=sqrt((sum(x.^2)-n*a^2)/(n-1)); y1,y2 后面的公式更好改变m 的值求出不同个数x 标准差 ,没有好大差别实验二 插值法计算实习题1.已知函数在下列个点的值为试用4次插值多项式(x)p 4及三次样条插值S(x)(自然边界条件)对数据进行插值。
用图给出0,1,11,10}i 0.08i,0.2x ),y ,{(x i i i =+=,(x)p 4及S(x)。
function f=lagfun(x) a=[0.2,0.4,0.6,0.8,1.0];b=[0.98,0.92,0.81,0.64,0.38]; for i=1:5 L(i)=1; for j=1:5 if j~=iL(i)=L(i)*(x-a(j))/(a(i)-a(j)); end end end f=0;for i=1:5f=f+L(i)*b(i); end执行文件x0=[0.2,0.4,0.6,0.8,1.0];y0=[0.98,0.92,0.81,0.64,0.38]; plot(x0,y0,'o') hold on grid onfplot('lagfun',[0,1]);hold on x=0:0.1:1;plot(x,newton(x0,y0,x),'r');三次样条插值:x=[0.2,0.4,0.6,0.8,1.0];y=[0.98,0.92,0.81,0.64,0.38]; x1=0.2:0.08:1;y1=interp1(x,y,x1,'spline') plot(x1,y1)0.20.30.40.50.60.70.80.910.40.50.60.70.80.912.在区间[-1,1]上分别取20,12=n 用两组等距节点对龙格函数22511)(xx f +=作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及)(x f 的图形。
拉格朗日插值:function y=lagrl(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;end再做12和20等距结点插值for n=12:8:20x=-1:0.01:1;y=1./(1+25.*x.^2);z=0*x;x0=-1:2/(n-1):1;y0=1./(1+25.*x0.^2);y1=lagrl(x0,y0,x);plot(x,z,'r',x,y,'k:',x,y1,'r') gtext(['Lagr.',num2str(n)])hold onendtitle('Lagrange')legend('Lagr插值','f(x)图象')图象3.下列数据点的插值可以得到平方根函数的近似值,在区间[0,64]上作图。
(1)用这九个点作8次多项式插值8(x)L .(2)用三次样条(第一边界条件)程序求从得到结果看在[0,64]上,哪个插值更精确;在区间[0,10]上,两种插值哪个更精确?(1)多项式插值x=[0,1,4,9,16,25,36,49,64];y=[0,1,2,3,4,5,6,7,8];a=polyfit(x,y,length(x)-1)poly2sym(a)答案-0.0000 0.0000 -0.0000 0.0002 -0.0050 0.0604 -0.3814 1.3257 -0.0000L(x)=-6345667567529957/19342813113834066795298816*x^8+5071957851450983/75557863725914323419136*x^7-3204839575550849/590295810358705651712*x^6+8226197088139413/36893488147419103232*x^5-717795609662967/1441151 88075855872*x^4+2177199843684719/36028797018963968*x^3-3435436202510413/9007199254740992*x^2+5970618836686703/4503599627370496*x-769670242 1972085/2475880078570760549798248448画图x0=[0,1,4,9,16,25,36,49,64];y0=sqrt(x);plot(x0,y0,'r-')hold onx=[0,1,4,9,16,25,36,49,64];y=[0,1,2,3,4,5,6,7,8];xx=0:0.1:64;yy=polyval(a,xx);plot(xx,yy,'b')hold on(3)三次样条x=[0,1,4,9,16,25,36,49,64]; y=[0,1,2,3,4,5,6,7,8];x1=0:0.1:64;y1=interp1(x,y,x1,'spline') plot(x,sqrt(x),'r-')hold onhold on实验三 函数逼近与快速傅立叶变换1. 对于给函数21(x)125f x=+在区间[-1,1]上去10.2(i 1,2,,10)i x i =-+= ,试求3次曲线拟合,试画出拟合曲线并打印方程,与实验二,第二章的计算实习题2的结果比较。
首先求出拟合曲线 x=-1:0.2:1;y=1./(25*x.^2+1); p=polyfit(x,y,3)得出-1.6723e-016 -5.7518e-001 1.4919e-017 4.8412e-001 Y=-0.5752x^2+0.4814再输入x1=-1:0.01:1;y1=polyval(p,x1);plot(x,y,'--*',x1,y1),grid-1-0.8-0.6-0.4-0.200.20.40.60.81 2.由实验给出数据表试求3次,4次多项式的曲线拟合,再根据数据曲线图形,求一个另外函数的拟合曲线,用图示数据曲线及相应的三种拟合曲线。
先输入代码x=[0.0 0.1 0.2 0.3 0.5 0.8 1.0];y=[1.0 0.41 0.5 0.61 0.91 2.02 2.46];p3=polyfit(x,y,3)p4=polyfit(x,y,4) z=[0.0:0.1:1.0]; y3=polyval(p3,z); y4=polyval(p4,z);plot(x,y,'b',z,y3,'r',z,y4,'g')结果-6.6221e+000 1.2815e+001 -4.6591e+000 9.2659e-0012.8853e+000 -1.2335e+001 1.6275e+001 -5.2987e+000 9.4272e-00100.10.20.30.40.50.60.70.80.910.511.522.5实验四 数值微分与数值积分1.用不同数值分析方法计算积分049xdx =-⎰,(1) 取不同步长h 。