数值分析上机报告
昆明理工大学数值分析上机报告3

数值分析实验报告(数值积分)姓名:学号:2006231011专业:材料学学院:云南省新材料制备与加工重点实验室授课教师:昆明理工大学06工科硕士 《数值分析》上机实验报告专业: 材料物化 姓名: 学号: 2006231011 任课教师: 作业完成实验室:实验内容:1.题目/要求:1、 利用Lagrange 插值公式()k n ki i ik in k n y x x x x x L ⎪⎪⎪⎭⎫ ⎝⎛--∑=∏≠==00 编写出插值多项式程序; 2、 给出插值多项式或分段三次插值多项式的表达式;3、 根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何; 对此插值问题用Newton 插值多项式其结果如何2.作业环境(包括选用的程序语言、运行环境) Visual C++ 6.03.数学(理论背景)描述1. Lagrange 插值多项式定义:若n 次多项式上满足条件个节点在,1),1,0)((10n j x x x n n j x l ⋅⋅⋅<+⋅⋅⋅=: 当0)(1)(=≠==k j k j x l j k x l j k 时;当时, 其中n k j ⋅⋅⋅=1,0, ,就称这1+n个次多项式)(),(),(10x l x l x l n ⋅⋅⋅为节点n x x x ⋅⋅⋅10,上的n 次插值基函数。
插值多项式可 表示为:)()(0x ly x L knk k n ∑==,称为Lagrange 插值多项式。
2.分段线形插值就是通过插值点用折线段连接起来逼近).(x f 设已知节点b x x x a n =<⋅⋅⋅<=10上的函数值n f f f ⋅⋅⋅,,21,记k kk k k h h x x h ma x ,1=-=+求一折线函数)(x I h 满足:[][]为分段线形插值函数上是线形函数,则称在每个区间记)(,)(3),,2,1,0()(2,,)(11000x I x x x I k f x I b a C x I h k k h k h h +==∈4.数值计算公式Lagrange 插值多项式()k nki i ik in k n y x x x x x L ⎪⎪⎪⎭⎫ ⎝⎛--∑=∏≠==00; 分段线形插函数,在每个小区间[]1,+k k x x 上可表示为:1111)(++++--+--=k kk kk k k k h f x x x x f x x x x h I (1+≤≤k k x x x )在整个区间[]b a ,上为:)()(0x lf x I jnj j h ∑==其中基函数),1,0,()(n k j x l jk k j ⋅⋅⋅==δ,其形式是:[][],.,,,,0);(,);0(,)(11111111⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧∉∈=≤≤--=≤≤--=+-+++---j j j j j j j j j j j j j x x x b a x n j x x x x x x x j x x x x x x x x l5.算法程序流程图Lagrange插值算法程序流程图分段低次插值算法程序流程图6.程序结构(程序中的函数调用关系图6.实验数据和实验结果(打印或用屏幕图形拷屏表示,可加为附页)(1)Lagrange 插值算法,62573238.0)596.0(=f 05422977.0)99.0(=f 分段低次插值算法,63270600.0)596.0(=f 10152800.1)99.0(=f (2Lagrange 插值算法16476189.0)8.1(=f 00126583.0)15.6(=f分段低次插值算法18160000.0)8.1(=f 00185000.0)15.6(=f7.讨论(包括题目要求的讨论和方法的适用性讨论)对于插值多项式L n (x),当∞→n 时,L n (x)不一定收敛到f(x),此时需用分段线性插值比L n (x)逼近f(x)好得多,题(2)就是一例。
数值分析2024上机实验报告

数值分析2024上机实验报告数值分析是计算数学的一个重要分支,它研究如何用数值方法来解决数学问题。
在数值分析的学习过程中,学生需要通过上机实验来巩固理论知识,并学会使用相应的数值方法来解决实际问题。
本篇报告将详细介绍2024年度数值分析上机实验的内容和结果。
一、实验内容2024年度数值分析上机实验分为四个部分,分别是:方程求根、插值与拟合、数值积分和常微分方程的数值解。
1.方程求根这部分实验要求使用数值方法求解给定的非线性方程的根。
常见的数值方法有二分法、牛顿法、割线法等。
在实验过程中,我们需要熟悉这些数值方法的原理和实现步骤,并对不同方法的收敛性进行分析和比较。
2.插值与拟合这部分实验要求使用插值和拟合方法对给定的一组数据进行拟合。
插值方法包括拉格朗日插值、牛顿插值等;拟合方法包括最小二乘拟合、多项式拟合等。
在实验中,我们需要熟悉插值和拟合方法的原理和实现步骤,并对不同方法的精度和稳定性进行比较。
3.数值积分这部分实验要求使用数值方法计算给定函数的积分。
常见的数值积分方法有梯形法则、辛普森法则、龙贝格积分等。
在实验过程中,我们需要熟悉这些数值积分方法的原理和实现步骤,并对不同方法的精度和效率进行比较。
4.常微分方程的数值解这部分实验要求使用数值方法求解给定的常微分方程初值问题。
常见的数值方法有欧拉法、改进的欧拉法、四阶龙格-库塔法等。
在实验中,我们需要熟悉这些数值解方法的原理和实现步骤,并对不同方法的精度和稳定性进行比较。
二、实验结果在完成2024年度数值分析上机实验后,我们得到了以下实验结果:1.方程求根我们实现了二分法、牛顿法和割线法,并对比了它们的收敛速度和稳定性。
结果表明,割线法的收敛速度最快,但在一些情况下可能会出现振荡;二分法和牛顿法的收敛速度相对较慢,但稳定性较好。
2.插值与拟合我们实现了拉格朗日插值和最小二乘拟合,并对比了它们的拟合效果和精度。
结果表明,拉格朗日插值在小区间上拟合效果较好,但在大区间上可能出现振荡;最小二乘拟合在整体上拟合效果较好,但可能出现过拟合。
数值分析报告上机报告材料

第一题:1、已知A 与b12.38412 2.115237 -1.061074 1.112336 -0.1135840.718719 1.742382 3.067813 -2.031743 2.11523719.141823 -3.125432 -1.012345 2.189736 1.563849-0.784165 1.112348 3.123124 -1.061074 -3.125A =43215.567914 3.123848 2.031454 1.836742-1.056781 0.336993 -1.010103 1.112336 -1.012345 3.12384827.108437 4.101011-3.741856 2.101023 -0.71828 -0.037585 -0.1135842.189736 2.031454 4.10101119.8979180.431637-3.111223 2.121314 1.784317 0.718719 1.563849 1.836742 -3.741856 0.4316379.789365-0.103458 -1.103456 0.238417 1.742382 -0.784165 -1.056781 2.101023-3.111223-0.10345814.7138465 3.123789 -2.213474 3.067813 1.112348 0.336993-0.71828 2.121314-1.103456 3.12378930.719334 4.446782 -2.031743 3.123124 -1.010103-0.037585 1.7843170.238417-2.213474 4.44678240.00001[ 2.1874369 33.992318 -25.173417 0.84671695 1.784317 -86.612343 1.1101230 4.719345 -5.6784392]TB ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=(1)用Househloser 变换,把A 化为三对角阵(并打印B )。
数值分析第一次上机练习实验报告

数值分析第一次上机练习实验报告一、实验目的本次实验旨在通过上机练习,加深对数值分析方法的理解,并掌握实际应用中的数值计算方法。
二、实验内容1. 数值计算的基本概念和方法在本次实验中,我们首先回顾了数值计算的基本概念和方法。
数值计算是一种通过计算机进行数值近似的方法,其包括近似解的计算、误差分析和稳定性分析等内容。
2. 方程求解的数值方法接下来,我们学习了方程求解的数值方法。
方程求解是数值分析中非常重要的一部分,其目的是找到方程的实数或复数解。
我们学习了二分法、牛顿法和割线法等常用的数值求解方法,并对它们的原理和步骤进行了理论学习。
3. 插值和拟合插值和拟合是数值分析中常用的数值逼近方法。
在本次实验中,我们学习了插值和拟合的基本原理,并介绍了常见的插值方法,如拉格朗日插值和牛顿插值。
我们还学习了最小二乘拟合方法,如线性拟合和多项式拟合方法。
4. 数值积分和数值微分数值积分和数值微分是数值分析中的两个重要内容。
在本次实验中,我们学习了数值积分和数值微分的基本原理,并介绍了常用的数值积分方法,如梯形法和辛卜生公式。
我们还学习了数值微分的数值方法,如差商法和牛顿插值法。
5. 常微分方程的数值解法常微分方程是物理和工程问题中常见的数学模型,在本次实验中,我们学习了常微分方程的数值解法,包括欧拉法和四阶龙格-库塔法。
我们学习了这些方法的步骤和原理,并通过具体的实例进行了演示。
三、实验结果及分析通过本次实验,我们深入理解了数值分析的基本原理和方法。
我们通过实际操作,掌握了方程求解、插值和拟合、数值积分和数值微分以及常微分方程的数值解法等数值计算方法。
实验结果表明,在使用数值计算方法时,我们要注意误差的控制和结果的稳定性。
根据实验结果,我们可以对计算结果进行误差分析,并选择适当的数值方法和参数来提高计算的精度和稳定性。
此外,在实际应用中,我们还需要根据具体问题的特点和条件选择合适的数值方法和算法。
四、实验总结通过本次实验,我们对数值分析的基本原理和方法有了更加深入的了解。
数值分析上机实验报告

数值分析上机实验报告摘要:本报告是对数值分析课程上机实验的总结和分析,涵盖了多种算法和数据处理方法,通过对实验结果的分析,探究了数值计算的一般过程和计算的稳定性。
1. 引言数值计算是数学的一个重要分支,广泛应用于物理、金融、工程等领域。
本次实验是对数值分析课程知识的实际应用,通过上机实现算法,探究数值计算的可靠性和误差分析。
2. 实验方法本次实验中,我们实现了多种算法,包括:(1)牛顿迭代法求方程的根;(2)高斯消元法求线性方程组的解;(3)最小二乘法拟合数据点;(4)拉格朗日插值法估计函数值;(5)梯形公式和辛普森公式求积分近似值。
对于每个算法,我们都进行了多组数值和不同参数的实验,并记录了相关数据和误差。
在实验过程中,我们着重考虑了算法的可靠性和计算的稳定性。
3. 实验结果与分析在实验中,我们得到了大量的实验数据和误差分析,通过对数据的展示和分析,我们得到了以下结论:(1)牛顿迭代法求解非线性方程的根能够对算法的初始值和迭代次数进行适当的调整,从而达到更高的稳定性和可靠性。
(2)高斯消元法求解线性方程组的解需要注意到矩阵的奇异性和精度的影响,从而保证计算的准确性。
(3)最小二乘法拟合数据点需要考虑到拟合的函数形式和数据的误差范围,采取适当的数据预处理和拟合函数的选择能够提高计算的准确性。
(4)拉格朗日插值法估计函数值需要考虑到插值点的选择和插值函数的阶数,防止出现龙格现象和插值误差过大的情况。
(5)梯形公式和辛普森公式求积分近似值需要考虑到采样密度和拟合函数的选择,从而保证计算的稳定性和收敛速度。
4. 结论通过本次实验的分析和总结,我们得到了深入的认识和理解数值计算的一般过程和算法的稳定性和可靠性,对于以后的数值计算应用也提供了一定的指导和参考。
数值分析上机实验报告

数值分析上机实验理学院11级统计01班41108030125鲁庆实验报告一一.实验名称误差与误差估计二.实验目的掌握数值运算的误差估计方法三.数学原理 1.绝对误差(*)e x设某一量的准确值为x ,近似值为x*,则x*与x 之差叫做近似值x*的绝对误差(简称误差),记为*(*)*e e x x x ==- 2.绝对误差限适当小的正数,使|(*)||*|*e x x x ε=-≤则称*ε为近似值 x * 的绝对误差限。
(有时用*x x ε*=±表示近似值x *的精度或准确值的所在范围。
3.相对误差(*)r e x绝对误差与准确值之比*(*)*(*),0r r e x x xe e x x x x-===≠称为x *的相对 误差。
4.相对误差限(*)r x ε若指定一个适当小的正数 (*)r x ε,使|(*)||(*)|(*)||r r e x e x x x ε=≤则称(*)r x ε为近似值 x *的相对误差限。
5.有效数字若近似值x*的绝对误差限是某一位的半个单位,该位到x*的第一位非零数字一共有n 位,则称近似值x*有n 位有效数字,或说x*精确到该位。
6.绝对误差的运算:)()()(2121x x x x εεε+=± )()()(122121x x x x x x εεε+≈22122121+=x x x x x x x )()()(εεε (f(x))()(x)f x εε'≈四.实验内容1. 计算I n=e 1-⎰10nxe x 2dx (n=0,1,...)并估计误差。
解: >> I0 = exp(-1)*quad('(x.^0).*exp(x.^2)',0,1,10^(-10));>> vpa(I0,10) ans =.5380795069>> I1= exp(-1)*quad('(x.^1).*exp(x.^2)',0,1,10^(-10)); >> vpa(I1,10) ans =.3160602794>> I2 = exp(-1)*quad('(x.^2).*exp(x.^2)',0,1,10^(-10)); >> vpa(I2,10) ans =.2309602465>> I3 = exp(-1)*quad('(x.^3).*exp(x.^2)',0,1,10^(-10)); >> vpa(I3,10) ans =.1839397206>> I4 = exp(-1)*quad('(x.^4).*exp(x.^2)',0,1,10^(-10)); >> vpa(I4,10) ans =.1535596302>> I5 = exp(-1)*quad('(x.^5).*exp(x.^2)',0,1,10^(-10)); >> vpa(I5,10) ans =.1321205588>> I6 = exp(-1)*quad('(x.^6).*exp(x.^2)',0,1,10^(-10)); >> vpa(I6,10) ans =.1161009245>> I7 = exp(-1)*quad('(x.^7).*exp(x.^2)',0,1,10^(-10)); >> vpa(I7,10) ans =.1036383235>> I8 = exp(-1)*quad('(x.^8).*exp(x.^2)',0,1,10^(-10)); >> vpa(I8,10) ans =.9364676413e-1>> I9 = exp(-1)*quad('(x.^9).*exp(x.^2)',0,1,10^(-10)); >> vpa(I9,10) ans =.8544670595e-1 2.计算x255的值。
数值分析上机实验

目录1 绪论 (1)2 实验题目(一) (2)2.1 题目要求 (2)2.2 NEWTON插值多项式 (3)2.3 数据分析 (4)2.3.1 NEWTON插值多项式数据分析 (4)2.3.2 NEWTON插值多项式数据分析 (6)2.4 问答题 (6)2.5 总结 (7)3 实验题目(二) (8)3.1 题目要求 (8)3.2 高斯-塞德尔迭代法 (8)3.3 高斯-塞德尔改进法—松弛法 (9)3.4 松弛法的程序设计与分析 (9)3.4.1 算法实现 (9)3.4.2 运算结果 (9)3.4.3 数据分析 (11)4 实验题目(三) (13)4.1 题目要求 (13)4.2 RUNGE-KUTTA 4阶算法 (13)4.3 RUNGE-KUTTA 4阶算法运算结果及数值分析 (14)总结 (16)附录A (17)1绪论数值分析是计算数学的一个主要部分,它主要研究各类数学问题的数值解法,以及分析所用数值解法在理论上的合理性。
实际工程中的数学问题非常复杂,所以往往需要借助计算机进行计算。
运用数值分析解决问题的过程:分析实际问题,构建数学模型,运用数值计算方法,进行程序设计,最后上机计算求出结果。
数值分析这门学科具有面向计算机、可靠的理论分析、好的计算复杂性、数值实验、对算法进行误差分析等特点。
本学期开设了数值分析课程,该课程讲授了数值分析绪论、非线性方程的求解、线性方程组的直接接法、线性方程组的迭代法、插值法、函数逼近与曲线拟合、数值积分和数值微分、常微分方程初值问题的数值解法等内容。
其为我们解决实际数学问题提供了理论基础,同时我们也发现课程中很多问题的求解必须借助计算机运算,人工计算量太大甚至无法操作。
所以学好数值分析的关键是要加强上机操作,即利用计算机程序语言实现数值分析的算法。
本报告就是基于此目的完成的。
本上机实验是通过用计算机来解答数值分析问题的过程,所用的计算工具是比较成熟的数学软件MATLAB。
数值分析上机实践报告

数值分析上机实践报告一、实验目的本次实验主要目的是通过上机操作,加深对数值分析算法的理解,并熟悉使用Matlab进行数值计算的基本方法。
在具体实验中,我们将实现三种常见的数值分析算法:二分法、牛顿法和追赶法,分别应用于解决非线性方程、方程组和线性方程组的求解问题。
二、实验原理与方法1.二分法二分法是一种常见的求解非线性方程的数值方法。
根据函数在给定区间端点处的函数值的符号,不断缩小区间的长度,直到满足精度要求。
2.牛顿法牛顿法是求解方程的一种迭代方法,通过构造方程的泰勒展开式进行近似求解。
根据泰勒展式可以得到迭代公式,利用迭代公式不断逼近方程的解。
3.追赶法追赶法是用于求解三对角线性方程组的一种直接求解方法。
通过构造追赶矩阵,采用较为简便的向前追赶和向后追赶的方法进行计算。
本次实验中,我们选择了一组非线性方程、方程组和线性方程组进行求解。
具体的实验步骤如下:1.调用二分法函数,通过输入给定区间的上下界、截止误差和最大迭代次数,得到非线性方程的数值解。
2.调用牛顿法函数,通过输入初始迭代点、截止误差和最大迭代次数,得到方程组的数值解。
3.调用追赶法函数,通过输入追赶矩阵的三个向量与结果向量,得到线性方程组的数值解。
三、实验结果与分析在进行实验过程中,我们分别给定了不同的参数,通过调用相应的函数得到了实验结果。
下面是实验结果的汇总及分析。
1.非线性方程的数值解我们通过使用二分法对非线性方程进行求解,给定了区间的上下界、截止误差和最大迭代次数。
实验结果显示,根据给定的输入,我们得到了方程的数值解。
通过与解析解进行比较,可以发现二分法得到的数值解与解析解的误差在可接受范围内,说明二分法是有效的。
2.方程组的数值解我们通过使用牛顿法对方程组进行求解,给定了初始迭代点、截止误差和最大迭代次数。
实验结果显示,根据给定的输入,我们得到了方程组的数值解。
与解析解进行比较,同样可以发现牛顿法得到的数值解与解析解的误差在可接受范围内,说明牛顿法是有效的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-0.3881 -0.1736 -0.1302 0.8915
2、 设A为n阶矩阵,编写用Householder变换法对矩 阵A作正交分解的程序。
1. 程序功能: 给定n阶矩阵A,通过本程序用Householder变换法对矩阵A 作正交分解,得出A=QR。 2. 基本原理: 任一实列满值的m*n矩阵A,可以分解成两个矩阵的乘积,即 A=QR,其中Q是具有法正交列向量的m*n矩阵,R是非奇异
的n阶上三角阵。 3. 变量说明: A- 输入的n阶矩阵,同时用于存储上三角阵R; n-矩(方)阵A的阶数; Q-是具有法正交列向量的n阶矩阵; p,u-向量A(k:n,k),对应初等反射阵的p,u k,jj,ii-循环变量; t1-计算上三角阵R的系数tj; t2-计算正交矩阵Q的系数ti; 4. 程序代码: (1)函数1的程序
function [H,y]=holder1(x,k) n=length(x); %取向量长度 M=max(abs(x)); if k>=n, disp('k>=n'); return; %当k大于等于n转出停机 end; if M==0, disp('M=0'); return; %当M等于零转出停机 else z=x/M; %将x规范化 end; s=norm(z); %取z的二范数 if z(k)<0 s=-s; end; p=s*(s+z(k)); u=z; for i=1:k-1 u(i)=0; end; u(k)= s+z(k); H=eye(n,n)-p\u*u'; %求出Householder矩阵 y=H*x;
1、 给定向量x≠0,计算Householder变换阵,使x后nk个分量化为零。
1. 程序功能: 给定向量x≠0,计算Householder变换阵,使x后n-k个分量化为 零。 2. 方法基本原理: 若x=的分量不全为零,则由Householder变换的基本公式进行编 写程序,当输入K值时要判断与n的大小比较,当在1和n之间时 才可运行程序,否则转出停机。 3. 变量说明: x-输入的n维向量 n-向量x的维数 M-向量x中绝对值最大一项的绝对值 P-Householder初等变换阵的系数 u-Householder初等变换阵的向量 s-向量x的二范数 k-要求输入的k,使得y的第k+1项到最后的项全为零 4. 程序代码
(2) 函数2的程序
function [p,u]=holder2(x) n=length(x); %取向量的维数 p=1;u=0; M=max(abs(x)); %求向量x的无穷范数 if M==0, disp('M=0'); return; %如果x=0,终止程序 else x=x/M; %规范化 end; s=norm(x); %求x的二范数 if x(1)<0 s=-s; end; u=x; u(1)= s+x(1); %计算Householder向量u p=s*u(1); if n==1 u=0;end %若x是1*1维向量,则u=0
for i=k+1:n y(i)=0; end;
5. 实例示范: 当x=,k=2时,有 >> x=[4;5;8;6;5] x= 4 5 8 6 5 >> k=2 k= 2 >> [H,y]=holder1(x,k) H= 1.0000 0 0 0 0 0 -0.3881 -0.6209 -0.4657 0 -0.6209 0.7222 -0.2083 0 -0.4657 -0.2083 0.8438 0 -0.3881 -0.1736 -0.1302 y= 4.0000 -11.6423 0 0 0
function[Q,A]=juzhenfenjie(A) [n,n]=size(A); %求矩(方)阵A的阶数 Q=eye(n); %构造正交矩阵Q(1)=I for k=1:n-1 [p,u]=holder2(A(k:n,k)); for jj=k:n %计算上三角阵R,仍内存与A t1=dot(u,A(k:n,jj))/p; %利用向量内积求和 A(k:n,jj)=A(k:n,jj)-t1*u; end for ii=1:n %计算正交矩阵Q t2=dot(u,Q(ii,k:n))/p; Q(ii,k:n)=Q(ii,k:n)-t2*uA=[2,-1,7;0,3,10;0,4,5] A = 2 -1 7 0 3 10 0 4 5 >> [Q,A]=juzhenfenjie(A) Q = -1.0000 0 0 0 -0.6000 -0.8000 0 -0.8000 0.6000 A = -2 1 -7 0 -5 -10 0 0 -5