数值分析2015上机实习报告
数值计算实践报告_实习总结_总结汇报_实用文档
![数值计算实践报告_实习总结_总结汇报_实用文档](https://img.taocdn.com/s3/m/2561711b6d85ec3a87c24028915f804d2b168736.png)
---数值计算实践上机报告学院:理学院指导老师:范晓娜老师姓名:***学号:B********日期:2015年10月11日—24日一、方程求根(一)实验目的熟悉掌握Newton法,割线法,抛物线法三种方法求方程近似根的算法思想,在matlab软件上分别使用这三种方法编程解决给定的三次方程的求根问题。
(二)问题描述一. 方程求根(1).给定一个三次方程,分别用Newton法,割线法,抛物线法求解.方程的构造方法:(a)根:方程的根为学号的后三位乘以倒数第二位加1再除以1000.假设你的学号为B06060141,则根为141*(4+1)/1000=0.564(b)方程:以你的学号的后三位数分别作为方程的三次项,二次项,一次项的系数,根据所给的根以及三个系数确定常数项.例如:你的学号是B06060141,则你的方程是x3+4x2+x+a0=0的形式.方程的根为0.564,因此有0.5643+4*0.5642+0.564+a0=0,于是a0=-2.015790144你的方程为x3+4x2+x-2.015790144=0.(2)假设方程是sinx+4x2+x+a0=0的形式(三个系数分别是学号中的数字),重新解决类似的问题(3)构造一个五次方程完成上面的工作.四次方程的构造:将三次多项式再乘以(x-p*)2得到对应的五次多项式(p*为已经确定的方程的根,显然,得到的五次方程有重根).(4)将(2)中的方程同样乘以(x-p*)得到一个新的方程来求解注:(1)Newton法取0.5为初值,割线法以0,1为初值,抛物线法以0,0.5,1为初值, (2)计算精度尽量地取高.终止准则:根据|p n-p n-1|<ε来终止|(3)可供研究的问题:(一)ε的取值不同对收敛速度有多大的影响(二)将注(1)中的初值该为其它的初值,对收敛性以及收敛速度有无影响 (三)能否求出方程的所有的根(三)算法介绍(包括基本原理)牛顿法牛顿法是一种能在许多不同情况下应用的通用过程。
数值分析上机实习报告
![数值分析上机实习报告](https://img.taocdn.com/s3/m/19695442be1e650e52ea9968.png)
指导教师:姓名:学号:专业:联系电话:上海交通大学目录序言 (3)实验课题(一) 雅可比迭代法和高斯-塞得尔迭代法的收敛性和收敛速度 (4)数值分析 (6)实验课题(二) 松弛因子对SOR法收敛速度的影响 (6)数值分析 (12)总结 (13)附录(程序清单) (14)1.雅可比迭代法和高斯-塞得尔迭代法的收敛性和收敛速度 (14)雅可比迭代法: (14)高斯-塞得尔迭代法: (16)2.松弛因子对SOR法收敛速度的影响 (18)松弛法(SOR) (18)序言随着科学技术的发展,提出了大量复杂的数值计算问题,在实际解决这些计算问题的长期过程中,形成了计算方法这门学科,专门研究各种数学问题的数值解法(近似解法),包括方法的构造和求解过程的误差分析,是一门内容丰富,有自身理论体系的实用性很强的学科。
解决工程问题,往往需要处理很多数学模型,这就要花费大量的人力和时间,但是还有不少数学模型无法用解析法得到解。
使用数值方法并利用计算机,就可以克服这些困难。
事实上,科学计算已经与理论分析、科学实验成为平行的研究和解决科技问题的科学手段,经常被科技工作者所采用。
作为科学计算的核心内容——数值分析(数值计算方法),已逐渐成为广大科技工作者必备的基本知识并越来越被人重视。
由于数值方法是解数值问题的系列计算公式,所以数值方法是否有效,不但与方法本身的好坏有关,而且与数值问题本身的好坏也有关,因此,研究数值方法时,不但需要研究数值方法的好坏,即数值稳定性问题,而且还需要研究数值问题本身的好坏,即数值问题的性态,以及它们的判别问题。
数值计算的绝大部分方法都具有近似性,而其理论又具有严密的科学性,方法的近似值正是建立在理论的严密性基础上,根据计算方法的这一特点。
因此不仅要求掌握和使用算法,还要重视必要的误差分析,以保证计算结果的可靠性。
数值计算还具有应用性强的特点,计算方法的绝大部分方法如求微分方程近似解,求积分近似值,求解超越方程,解线性方程组等都具有较强的实用性,而插值法,最小二乘法,样条函数等也都是工程技术领域中常用的,有实际应用价值的方法。
《数值分析》课程实验报告
![《数值分析》课程实验报告](https://img.taocdn.com/s3/m/e8cb693e0508763230121269.png)
《数值分析》课程实验报告《数值分析》课程实验报告姓名:学号:学院:机电学院日期:2015年X月X日目录实验一函数插值方法1实验二函数逼近与曲线拟合5实验三数值积分与数值微分7实验四线方程组的直接解法9实验五解线性方程组的迭代法15实验六非线性方程求根19实验七矩阵特征值问题计算21实验八常微分方程初值问题数值解法24实验一函数插值方法一、问题提出对于给定的一元函数的n+1个节点值。
试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。
数据如下:(1)0.40.550.650.800.951.050.410750.578150.696750.901.001.25382求五次Lagrange多项式,和分段三次插值多项式,计算,的值。
(提示:结果为,)(2)12345670.3680.1350.0500.0180.0070.0020.001试构造Lagrange多项式,计算的,值。
(提示:结果为,)二、要求1、利用Lagrange插值公式编写出插值多项式程序;2、给出插值多项式或分段三次插值多项式的表达式;3、根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何;4、对此插值问题用Newton插值多项式其结果如何。
Newton插值多项式如下:其中:三、目的和意义1、学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;2、明确插值多项式和分段插值多项式各自的优缺点;3、熟悉插值方法的程序编制;4、如果绘出插值函数的曲线,观察其光滑性。
四、实验步骤(1)0.40.550.650.800.951.050.410750.578150.696750.901.001.25382求五次Lagrange多项式,和分段三次插值多项式,计算,的值。
(提示:结果为,)第一步:先在matlab中定义lagran的M文件为拉格朗日函数代码为:function[c,l]=lagran(x,y)w=length(x);n=w-1;l=zeros(w,w);fork=1:n+1v=1;forj=1:n+1if(k~=j)v=conv(v,poly(x(j)))/(x(k)-x(j ));endendl(k,:)=v;endc=y*l;end第二步:然后在matlab命令窗口输入:x=[0.40.550.650.80,0.951.05];y=[0.410750.578150.696750.901. 001.25382];lagran(x,y)回车得到:ans=121.6264-422.7503572.5667-377.2549121.9718-15.0845由此得出所求拉格朗日多项式为p(x)=121.6264x5-422.7503x4+572.5667x3-377.2549x2+121.9718x-15.0 845第三步:在编辑窗口输入如下命令:x=[0.40.550.650.80,0.951.05];y=121.6264*x.^5-422.7503*x.^4+ 572.5667*x.^3-377.2549*x.^2+121.9718*x-15.0845;plot(x,y)命令执行后得到如下图所示图形,然后x=0.596;y=121.6264*x.^5-422.7503*x.^4+572.5667*x.^3-377.254 9*x.^2+121.9718*x-15.084y=0.6262得到f(0.596)=0.6262同理得到f(0.99)=1.0547(2)12345670.3680.1350.0500.0180.0070.0020.001试构造Lagrange多项式,和分段三次插值多项式,计算的,值。
数值分析第一次上机练习实验报告
![数值分析第一次上机练习实验报告](https://img.taocdn.com/s3/m/fc8d9072b80d6c85ec3a87c24028915f804d84b1.png)
数值分析第一次上机练习实验报告一、实验目的本次实验旨在通过上机练习,加深对数值分析方法的理解,并掌握实际应用中的数值计算方法。
二、实验内容1. 数值计算的基本概念和方法在本次实验中,我们首先回顾了数值计算的基本概念和方法。
数值计算是一种通过计算机进行数值近似的方法,其包括近似解的计算、误差分析和稳定性分析等内容。
2. 方程求解的数值方法接下来,我们学习了方程求解的数值方法。
方程求解是数值分析中非常重要的一部分,其目的是找到方程的实数或复数解。
我们学习了二分法、牛顿法和割线法等常用的数值求解方法,并对它们的原理和步骤进行了理论学习。
3. 插值和拟合插值和拟合是数值分析中常用的数值逼近方法。
在本次实验中,我们学习了插值和拟合的基本原理,并介绍了常见的插值方法,如拉格朗日插值和牛顿插值。
我们还学习了最小二乘拟合方法,如线性拟合和多项式拟合方法。
4. 数值积分和数值微分数值积分和数值微分是数值分析中的两个重要内容。
在本次实验中,我们学习了数值积分和数值微分的基本原理,并介绍了常用的数值积分方法,如梯形法和辛卜生公式。
我们还学习了数值微分的数值方法,如差商法和牛顿插值法。
5. 常微分方程的数值解法常微分方程是物理和工程问题中常见的数学模型,在本次实验中,我们学习了常微分方程的数值解法,包括欧拉法和四阶龙格-库塔法。
我们学习了这些方法的步骤和原理,并通过具体的实例进行了演示。
三、实验结果及分析通过本次实验,我们深入理解了数值分析的基本原理和方法。
我们通过实际操作,掌握了方程求解、插值和拟合、数值积分和数值微分以及常微分方程的数值解法等数值计算方法。
实验结果表明,在使用数值计算方法时,我们要注意误差的控制和结果的稳定性。
根据实验结果,我们可以对计算结果进行误差分析,并选择适当的数值方法和参数来提高计算的精度和稳定性。
此外,在实际应用中,我们还需要根据具体问题的特点和条件选择合适的数值方法和算法。
四、实验总结通过本次实验,我们对数值分析的基本原理和方法有了更加深入的了解。
数值分析实验报告一
![数值分析实验报告一](https://img.taocdn.com/s3/m/63d5dec1b14e852458fb5718.png)
实验报告课程名称:数值分析课题名称:比较算法专业:勘查技术与工程姓名:韩鹏洋班级:061132班完成日期:2015 年10 月11 日实验报告一、实验名称比较两种算法收敛性及复杂度二、实验目的(1)培养编程与上机调试能力(2)观察不同算法的差异(3)评估各算法稳定性三、实验要求利用matlab计算算法,并绘图观察收敛性。
四、实验原理利用泰勒展开式逼近函数值五、实验题目求ln 2的近似值六、实验步骤(1)写出ln(1+x)展开式(2)利用Matlab编程计算(3)最后结果分析七、实验整体流程图或算法八、程序及其运行结果clear all;ticn=1:100;s=0;for i=1:100s1=(-1).^(i-1)/i;s=s+s1;y(i)=s;endplot(n,y,'ro');tocclear all;ticn=1:50;s=0;for i=1:50s1=2*(1/3).^(2*i-1)/(2*i-1);s=s+s1;y(i)=s;endhold on;plot(n,y,'b-');toc运行结果:方法1时间已过0.369496 秒。
方法2时间已过0.025252 秒。
九、实验结果分析方法一趋近速度慢,复杂度100+100+(1+2+…+99)=5150 方法二趋近快,复杂度150+3+5+7+…+99=2499选用第二种方法更好十、实验体会。
数值分析上机实验报告
![数值分析上机实验报告](https://img.taocdn.com/s3/m/b884733a178884868762caaedd3383c4bb4cb4b0.png)
数值分析上机实验报告摘要:本报告是对数值分析课程上机实验的总结和分析,涵盖了多种算法和数据处理方法,通过对实验结果的分析,探究了数值计算的一般过程和计算的稳定性。
1. 引言数值计算是数学的一个重要分支,广泛应用于物理、金融、工程等领域。
本次实验是对数值分析课程知识的实际应用,通过上机实现算法,探究数值计算的可靠性和误差分析。
2. 实验方法本次实验中,我们实现了多种算法,包括:(1)牛顿迭代法求方程的根;(2)高斯消元法求线性方程组的解;(3)最小二乘法拟合数据点;(4)拉格朗日插值法估计函数值;(5)梯形公式和辛普森公式求积分近似值。
对于每个算法,我们都进行了多组数值和不同参数的实验,并记录了相关数据和误差。
在实验过程中,我们着重考虑了算法的可靠性和计算的稳定性。
3. 实验结果与分析在实验中,我们得到了大量的实验数据和误差分析,通过对数据的展示和分析,我们得到了以下结论:(1)牛顿迭代法求解非线性方程的根能够对算法的初始值和迭代次数进行适当的调整,从而达到更高的稳定性和可靠性。
(2)高斯消元法求解线性方程组的解需要注意到矩阵的奇异性和精度的影响,从而保证计算的准确性。
(3)最小二乘法拟合数据点需要考虑到拟合的函数形式和数据的误差范围,采取适当的数据预处理和拟合函数的选择能够提高计算的准确性。
(4)拉格朗日插值法估计函数值需要考虑到插值点的选择和插值函数的阶数,防止出现龙格现象和插值误差过大的情况。
(5)梯形公式和辛普森公式求积分近似值需要考虑到采样密度和拟合函数的选择,从而保证计算的稳定性和收敛速度。
4. 结论通过本次实验的分析和总结,我们得到了深入的认识和理解数值计算的一般过程和算法的稳定性和可靠性,对于以后的数值计算应用也提供了一定的指导和参考。
实验报告数值分析
![实验报告数值分析](https://img.taocdn.com/s3/m/19f95ee79b6648d7c1c746a9.png)
《数值分析》实验报告姓 名: 学 号: 专 业:指导教师: 刘 建 生 教 授 日 期: 2015年12月25日实验一 Lagrange/newton 插值一:对于给定的一元函数)(x f y =的n+1个节点值(),0,1,,j j y f x j n ==L 。
试用Lagrange 公式求其插值多项式或分段二次Lagrange 插值多项式。
数据如下: 求计算(0.596)f ,(0.99)f 的值(提示:结果为(0.596)0.625732f ≈,(0.99) 1.05423f ≈ )试构造Lagrange 多项式6L ()x ,计算的(1.8)f ,(6.15)f 值。
(提示:结果为(1.8)0.164762f ≈, (6.15)0.001266f ≈ )二:实验程序及注释MATLAB 程序:function f=lagrange(x0,y0,x )n=length(x0); m=length(y0); format long s=0.0; for k=1:n p=1.0; for j=1:n if j~=kp=p*(x-x0(j))/(x0(k)-x0(j));endends=s+y0(k)*p;Endf=s;end结果运行:结果与提示值完全吻合,说明Lagrange插值多项式的精度是很高的;同时,若采用三点插值和两点插值的方法,用三点插值的精度更高。
若同时采用两点插值,选取的节点距离x越近,精度越高。
三:采用newton插值进行计算算法程序如下:format long;x0=[0.4 0.55 0.65 0.80 0.95 1.05 ];y0=[0.41075 0.57815 0.69675 0.90 1.00 1.25382 ];x=0.596;n=max(size(x0));y=y0(1);%disp(y);s=1;dx=y0;for i=1:n-1dx0=dx; for j=1:n-idx(j)=(dx0(j+1)-dx0(j))/(x0(i+j)-x0(j)); end df=dx(1); s=s*(x-x0(i));y=y+s*df; %计算 %%disp(y); end disp(y)运行结果:绘制出曲线图:与结果相吻合。
数值分析上机实践报告
![数值分析上机实践报告](https://img.taocdn.com/s3/m/772e81af9a89680203d8ce2f0066f5335b816751.png)
数值分析上机实践报告一、实验目的本次实验主要目的是通过上机操作,加深对数值分析算法的理解,并熟悉使用Matlab进行数值计算的基本方法。
在具体实验中,我们将实现三种常见的数值分析算法:二分法、牛顿法和追赶法,分别应用于解决非线性方程、方程组和线性方程组的求解问题。
二、实验原理与方法1.二分法二分法是一种常见的求解非线性方程的数值方法。
根据函数在给定区间端点处的函数值的符号,不断缩小区间的长度,直到满足精度要求。
2.牛顿法牛顿法是求解方程的一种迭代方法,通过构造方程的泰勒展开式进行近似求解。
根据泰勒展式可以得到迭代公式,利用迭代公式不断逼近方程的解。
3.追赶法追赶法是用于求解三对角线性方程组的一种直接求解方法。
通过构造追赶矩阵,采用较为简便的向前追赶和向后追赶的方法进行计算。
本次实验中,我们选择了一组非线性方程、方程组和线性方程组进行求解。
具体的实验步骤如下:1.调用二分法函数,通过输入给定区间的上下界、截止误差和最大迭代次数,得到非线性方程的数值解。
2.调用牛顿法函数,通过输入初始迭代点、截止误差和最大迭代次数,得到方程组的数值解。
3.调用追赶法函数,通过输入追赶矩阵的三个向量与结果向量,得到线性方程组的数值解。
三、实验结果与分析在进行实验过程中,我们分别给定了不同的参数,通过调用相应的函数得到了实验结果。
下面是实验结果的汇总及分析。
1.非线性方程的数值解我们通过使用二分法对非线性方程进行求解,给定了区间的上下界、截止误差和最大迭代次数。
实验结果显示,根据给定的输入,我们得到了方程的数值解。
通过与解析解进行比较,可以发现二分法得到的数值解与解析解的误差在可接受范围内,说明二分法是有效的。
2.方程组的数值解我们通过使用牛顿法对方程组进行求解,给定了初始迭代点、截止误差和最大迭代次数。
实验结果显示,根据给定的输入,我们得到了方程组的数值解。
与解析解进行比较,同样可以发现牛顿法得到的数值解与解析解的误差在可接受范围内,说明牛顿法是有效的。
数值分析上机实践报告
![数值分析上机实践报告](https://img.taocdn.com/s3/m/cea4dfe4f424ccbff121dd36a32d7375a417c6ae.png)
数值分析上机实践报告一、实验目的本实验的目的是通过编写数值分析程序,掌握解决数学问题的数值计算方法,并通过实际应用来检验其有效性和准确性。
具体包括以下几个方面的内容:1.掌握二分法和牛顿迭代法的基本原理和实现方法;2.熟悉利用矩阵的LU分解和追赶法解线性方程组的过程;3.通过具体的实例应用,比较不同方法的计算效果和精度。
二、实验内容本实验分为三个部分,每个部分包括一个具体的数学问题和相应的数值计算方法。
1.问题一:求方程f(x)=x^3-5x^2+10x-80=0的近似解。
在问题一中,我们通过二分法和牛顿迭代法来求解方程的近似解,并比较两种方法的精度和收敛速度。
2.问题二:用LU分解解线性方程组。
问题二中,我们通过矩阵的LU分解方法解线性方程组Ax=b,然后和直接用追赶法解线性方程组进行对比,验证LU分解的有效性和准确性。
三、实验结果及分析1.问题一的结果分析:通过二分法和牛顿迭代法求解方程f(x)=x^3-5x^2+10x-80=0的近似解,得到的结果如下:从结果来看,两种方法得到的近似解均与真实解x≈5非常接近。
但是,通过比较可以发现,牛顿迭代法的计算速度比二分法更快,迭代的次数更少。
因此,在需要高精度近似解的情况下,牛顿迭代法是一个更好的选择。
2.问题二的结果分析:通过LU分解和追赶法解线性方程组Ax=b,得到的结果如下:-用LU分解解线性方程组得到的结果为x1≈1.0,x2≈2.0,x3≈3.0;-用追赶法解线性方程组得到的结果为x1≈1.0,x2≈2.0,x3≈3.0。
从结果来看,两种方法得到的结果完全一致,而且与真实解非常接近。
这表明LU分解方法和追赶法均可以有效地解决线性方程组问题。
但是,在实际应用中,当方程组规模较大时,LU分解方法的计算复杂度较高,因此追赶法更加适用。
四、实验总结通过本实验,我掌握了二分法和牛顿迭代法以及LU分解和追赶法的基本原理和实现方法。
通过具体的数学问题实例应用,我比较了不同方法的计算效果和精度,得出以下结论:1.在求解函数的近似解时,牛顿迭代法相对于二分法具有更快的收敛速度和更高的计算精度;2.在解决线性方程组问题时,LU分解方法在计算准确性方面与追赶法相当,但在处理较大规模的问题时,计算复杂度较高,追赶法更适合。
数值分析实习报告总结
![数值分析实习报告总结](https://img.taocdn.com/s3/m/93d682a30342a8956bec0975f46527d3250ca607.png)
一、实习背景数值分析是数学的一个重要分支,它研究如何用数值方法求解数学问题。
随着计算机技术的飞速发展,数值分析在各个领域得到了广泛的应用。
为了提高自己的实践能力,我选择了数值分析作为实习课题,希望通过这次实习,能够掌握数值分析的基本方法,并将其应用于实际问题中。
二、实习过程1. 实习初期在实习初期,我首先了解了数值分析的基本概念、理论和方法。
通过阅读相关教材和文献,我对数值分析有了初步的认识。
接着,我学习了数值分析的基本方法,如泰勒展开、牛顿法、高斯消元法等。
2. 实习中期在实习中期,我选择了几个实际问题进行数值计算。
首先,我使用泰勒展开法求解一个简单的微分方程。
通过编写程序,我得到了微分方程的近似解。
然后,我运用牛顿法求解一个非线性方程组。
在实际计算过程中,我遇到了一些问题,如收敛性、迭代次数过多等。
通过查阅资料和请教导师,我找到了解决方法,成功求解了方程组。
3. 实习后期在实习后期,我进一步学习了数值分析的高级方法,如复化梯形公式、复化Simpson公式、自适应梯形法等。
这些方法在解决实际问题中具有更高的精度和效率。
我选择了一个具体的工程问题,运用复化梯形公式求解定积分。
在计算过程中,我遇到了区间细分、精度控制等问题。
通过不断尝试和调整,我得到了较为精确的积分值。
三、实习收获与体会1. 理论与实践相结合通过这次实习,我深刻体会到理论与实践相结合的重要性。
在实习过程中,我不仅学习了数值分析的理论知识,还将其应用于实际问题中。
这使我更加深刻地理解了数值分析的基本方法,提高了自己的实践能力。
2. 严谨的学术态度在实习过程中,我养成了严谨的学术态度。
在编写程序、进行数值计算时,我注重细节,力求精确。
这使我更加注重学术规范,提高了自己的学术素养。
3. 团队合作精神实习过程中,我与其他同学进行了交流与合作。
在解决实际问题时,我们互相学习、互相帮助,共同完成了实习任务。
这使我更加懂得团队合作的重要性,提高了自己的团队协作能力。
数值分析上机实习报告
![数值分析上机实习报告](https://img.taocdn.com/s3/m/dcb881486ad97f192279168884868762cbaebb54.png)
数值分析上机实习报告随着现代科学技术的迅猛发展,计算机科学的应用日益广泛,数值分析作为计算机科学中重要的分支之一,其在工程、物理、生物学等领域的应用也越来越受到重视。
本学期,我们在数值分析课程的学习中,进行了多次上机实习,通过实习,我们对数值分析的基本方法和算法有了更深入的理解和掌握。
在实习过程中,我们使用了MATLAB软件作为主要的工具,MATLAB是一种功能强大的数学软件,它提供了丰富的数值计算函数和图形显示功能,使我们能够更加方便地进行数值计算和分析。
第一次实习是线性插值和函数逼近。
我们学习了利用已知数据点构造插值函数的方法,并通过MATLAB软件实现了线性插值和拉格朗日插值。
通过实习,我们了解了插值的基本原理,掌握了插值的计算方法,并能够利用MATLAB软件进行插值计算。
第二次实习是解线性方程组。
我们学习了高斯消元法、列主元高斯消元法和克莱姆法则等解线性方程组的方法,并通过MATLAB软件实现了这些算法。
在实习过程中,我们通过实际例子了解了这些算法的应用,掌握了它们的计算步骤,并能够利用MATLAB软件准确地求解线性方程组。
第三次实习是求解非线性方程和方程组。
我们学习了二分法、牛顿法、弦截法和迭代法等求解非线性方程的方法,以及雅可比法和高斯-赛德尔法等求解非线性方程组的方法。
通过实习,我们了解了非线性方程和方程组的求解方法,掌握了它们的计算步骤,并能够利用MATLAB软件求解实际问题。
通过这次上机实习,我们不仅深入学习了数值分析的基本方法和算法,而且锻炼了利用MATLAB软件进行数值计算和分析的能力。
同时,我们也认识到了数值分析在实际问题中的应用价值,增强了解决实际问题的能力。
总之,这次上机实习使我们受益匪浅,对我们学习数值分析课程起到了很好的辅助作用。
数值分析上机实习报告(西南交通大学)
![数值分析上机实习报告(西南交通大学)](https://img.taocdn.com/s3/m/7b8cc9e8856a561252d36fa9.png)
数值分析上机实习报告姓名:学号:专业:大地测量学与测量工程电话:序言1.所用程序语言:本次数值分析上机实习采用Visual c#作为程序设计语言,利用Visual c#可视化的编程实现方法,采用对话框形式进行设计计算程序界面,并将结果用表格或文档的格式给出。
2.程序概述:(1)第一题是采用牛顿法和steffensen法分别对两个题进行分析,编好程序后分别带入不同的初值,观察与真实值的差别,分析出初值对结果的影响,分析两种方法的收敛速度。
(2)第二题使用Visual c#程序设计语言完成了“松弛因子对SOR法收敛速度的影响”,通过在可视化界面下输入不同的n和w值,点击按钮直接可看到迭代次数及计算结果,观察了不同的松弛因子w对收敛速度的影响。
目录一.用牛顿法,及牛顿-Steffensen法............ 错误!未定义书签。
1. 计算结果.................................... 错误!未定义书签。
2. 结果分析 (5)3. 程序清单 (5)二.松弛因子对SOR法收敛速度的影响 (8)1. 迭代次数计算结果 (8)2. 计算X()结果 (10)3. 对比分析 (12)4. 程序清单: (12)三.实习总结 (14)实验课题(一)用牛顿法,及牛顿-Steffensen法题目:分别用牛顿法,及牛顿-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进行计算。
分析其中遇到的现象与问题。
1、计算结果由于比较多每种方法中只选取了其中两个的图片例在下面:2、结果分析通过对以上的牛顿法和steffensen法的练习,我发现在初值的选取很重要,好的初值选出后可以很快的达到预定的精度,要是选的不好就很慢,而且在有的时候得出的还是非数字,所以初始值的选取很重要。
北航数值分析计算实习报告一
![北航数值分析计算实习报告一](https://img.taocdn.com/s3/m/cf9b23b0bd64783e09122bd7.png)
北京航空航天大学《数值分析》计算实习报告第一大题学 院:自动化科学与电气工程学院 专 业: 控制科学与工程 学 生 姓 名: 学 号: 教 师: 电 话: 完 成 日 期: 2015年11月6日北京航空航天大学Beijing University of Aeronautics and Astronautics实习题目:第一题 设有501501⨯的实对称矩阵A ,其中,064.0,16.0),501,,2,1(64.0)2.0sin()024.064.1(1.0-==⋅⋅⋅=--=c b i e i i a ii 。
矩阵A 的特征值为)501,,2,1(⋅⋅⋅=i i λ,并且有1.求1λ,501λ和s λ的值。
2.求A 的与数4015011λλλμ-+=kk 最接近的特征值)39,,2,1(⋅⋅⋅=k k i λ。
3.求A 的(谱范数)条件数2)A (cond 和行列式detA 。
说明:1.在所用的算法中,凡是要给出精度水平ε的,都取12-10=ε。
2.选择算法时,应使矩阵A 的所有零元素都不储存。
3.打印以下内容: (1)全部源程序;(2)特征值),,39,...,2,1(,s 5011=k k i λλλλ以及A det ,)A (cond 2的值。
4.采用e 型输出实型数,并且至少显示12位有效数字。
一、算法设计方案1、求1λ,501λ和s λ的值。
由于||min ||,501150121i i s λλλλλ≤≤=≤⋅⋅⋅≤≤,可知绝对值最大特征值必为1λ和501λ其中之一,故可用幂法求出绝对值最大的特征值λ,如果λ=0,则1λ=λ,否则501λ=λ。
将矩阵A 进行一下平移:I -A A'λ= (1)对'A 用幂法求出其绝对值最大的特征值'λ,则A 的另一端点特征值1λ或501λ为'λ+λ。
s λ为按模最小特征值,||min ||5011i i s λλ≤≤=,可对A 使用反幂法求得。
《数值分析》上机实验报告
![《数值分析》上机实验报告](https://img.taocdn.com/s3/m/09a731e20242a8956bece4a3.png)
数值分析上机实验报告《数值分析》上机实验报告1.用Newton 法求方程 X 7-X 4+14=0在(0.1,1.9)中的近似根(初始近似值取为区间端点,迭代6次或误差小于0.00001)。
1.1 理论依据:设函数在有限区间[a ,b]上二阶导数存在,且满足条件{}αϕ上的惟一解在区间平方收敛于方程所生的迭代序列迭代过程由则对任意初始近似值达到的一个中使是其中上不变号在区间],[0)(3,2,1,0,)(')()(],,[x |))(),((|,|,)(||)(|.4;0)(.3],[)(.20)()(.110......b a x f x k x f x f x x x Newton b a b f a f mir b a c x f ab c f x f b a x f b f x f k k k k k k ==-==∈≤-≠>+令)9.1()9.1(0)8(4233642)(0)16(71127)(0)9.1(,0)1.0(,1428)(3225333647>⋅''<-=-=''<-=-='<>+-=f f x x x x x f x x x x x f f f x x x f故以1.9为起点⎪⎩⎪⎨⎧='-=+9.1)()(01x x f x f x x k k k k 如此一次一次的迭代,逼近x 的真实根。
当前后两个的差<=ε时,就认为求出了近似的根。
本程序用Newton 法求代数方程(最高次数不大于10)在(a,b )区间的根。
1.2 C语言程序原代码:#include<stdio.h>#include<math.h>main(){double x2,f,f1;double x1=1.9; //取初值为1.9do{x2=x1;f=pow(x2,7)-28*pow(x2,4)+14;f1=7*pow(x2,6)-4*28*pow(x2,3);x1=x2-f/f1;}while(fabs(x1-x2)>=0.00001||x1<0.1); //限制循环次数printf("计算结果:x=%f\n",x1);}1.3 运行结果:1.4 MATLAB上机程序function y=Newton(f,df,x0,eps,M)d=0;for k=1:Mif feval(df,x0)==0d=2;breakelsex1=x0-feval(f,x0)/feval(df,x0);ende=abs(x1-x0);x0=x1;if e<=eps&&abs(feval(f,x1))<=epsd=1;breakendendif d==1y=x1;elseif d==0y='迭代M次失败';elsey= '奇异'endfunction y=df(x)y=7*x^6-28*4*x^3;Endfunction y=f(x)y=x^7-28*x^4+14;End>> x0=1.9;>> eps=0.00001;>> M=100;>> x=Newton('f','df',x0,eps,M);>> vpa(x,7)1.5 问题讨论:1.使用此方法求方解,用误差来控制循环迭代次数,可以在误差允许的范围内得到比较理想的计算结果。
数值分析实习报告
![数值分析实习报告](https://img.taocdn.com/s3/m/1ea42b9f8ad63186bceb19e8b8f67c1cfad6eeea.png)
一、实习背景数值分析是数学的一个重要分支,它主要研究如何利用计算机来求解数学问题。
随着计算机技术的飞速发展,数值分析在各个领域都得到了广泛的应用。
为了更好地了解数值分析在工程、科学和商业领域的应用,提高自己的实际操作能力,我参加了为期一个月的数值分析实习。
二、实习内容1. 学习数值分析基本理论实习期间,我首先系统地学习了数值分析的基本理论,包括插值、数值微分、数值积分、矩阵运算、线性方程组求解、优化方法等。
通过学习,我对数值分析有了更加全面的认识。
2. 实践操作(1)插值法:我学习了Lagrange插值、Newton插值等插值方法,并使用MATLAB进行编程实现。
通过插值,我能够根据已知数据点预测未知点,为工程、科学和商业领域提供数据支持。
(2)数值微分:我学习了有限差分法、辛普森法等数值微分方法,并使用MATLAB进行编程实现。
通过数值微分,我能够求解函数在某一点的导数,为工程、科学和商业领域提供计算支持。
(3)数值积分:我学习了梯形法、辛普森法等数值积分方法,并使用MATLAB进行编程实现。
通过数值积分,我能够求解函数在某一区间上的定积分,为工程、科学和商业领域提供计算支持。
(4)矩阵运算:我学习了矩阵的初等变换、矩阵的逆、矩阵的秩等矩阵运算方法,并使用MATLAB进行编程实现。
通过矩阵运算,我能够求解线性方程组、特征值和特征向量等问题。
(5)线性方程组求解:我学习了高斯消元法、矩阵分解法等线性方程组求解方法,并使用MATLAB进行编程实现。
通过线性方程组求解,我能够求解工程、科学和商业领域中的各种问题。
(6)优化方法:我学习了梯度下降法、牛顿法等优化方法,并使用MATLAB进行编程实现。
通过优化方法,我能够求解各种优化问题,为工程、科学和商业领域提供解决方案。
3. 项目实践在实习期间,我参与了一个实际项目——某公司产品的成本优化。
该项目要求根据产品的各项参数,计算出最优的生产方案,以降低成本。
数值分析上机实验报告
![数值分析上机实验报告](https://img.taocdn.com/s3/m/b91d5751854769eae009581b6bd97f192379bf7d.png)
一、实验目的通过本次上机实验,掌握数值分析中常用的算法,如二分法、牛顿法、不动点迭代法、弦截法等,并能够运用这些算法解决实际问题。
同时,提高编程能力,加深对数值分析理论知识的理解。
二、实验环境1. 操作系统:Windows 102. 编程语言:MATLAB3. 实验工具:MATLAB数值分析工具箱三、实验内容1. 二分法求方程根二分法是一种常用的求方程根的方法,适用于连续函数。
其基本思想是:从区间[a, b]中选取中点c,判断f(c)的符号,若f(c)与f(a)同号,则新的区间为[a, c],否则为[c, b]。
重复此过程,直至满足精度要求。
2. 牛顿法求方程根牛顿法是一种迭代法,适用于可导函数。
其基本思想是:利用函数在某点的导数值,求出函数在该点的切线方程,切线与x轴的交点即为方程的近似根。
3. 不动点迭代法求方程根不动点迭代法是一种迭代法,适用于具有不动点的函数。
其基本思想是:从初始值x0开始,不断迭代函数g(x)的值,直至满足精度要求。
4. 弦截法求方程根弦截法是一种线性近似方法,适用于可导函数。
其基本思想是:利用两点间的直线近似代替曲线,求出直线与x轴的交点作为方程的近似根。
四、实验步骤1. 二分法求方程根(1)编写二分法函数:function [root, error] = bisection(a, b, tol)(2)输入初始区间[a, b]和精度要求tol(3)调用函数计算根:[root, error] = bisection(a, b, tol)2. 牛顿法求方程根(1)编写牛顿法函数:function [root, error] = newton(f, df, x0, tol)(2)输入函数f、导数df、初始值x0和精度要求tol(3)调用函数计算根:[root, error] = newton(f, df, x0, tol)3. 不动点迭代法求方程根(1)编写不动点迭代法函数:function [root, error] = fixed_point(g, x0, tol)(2)输入函数g、初始值x0和精度要求tol(3)调用函数计算根:[root, error] = fixed_point(g, x0, tol)4. 弦截法求方程根(1)编写弦截法函数:function [root, error] = secant(f, x0, x1, tol)(2)输入函数f、初始值x0和x1,以及精度要求tol(3)调用函数计算根:[root, error] = secant(f, x0, x1, tol)五、实验结果与分析1. 二分法求方程根以方程f(x) = x^2 - 2 = 0为例,输入初始区间[a, b]为[1, 3],精度要求tol 为1e-6。
数值分析上机实验报告
![数值分析上机实验报告](https://img.taocdn.com/s3/m/d3cf8afdf021dd36a32d7375a417866fb94ac07c.png)
数值分析上机实验报告数值分析上机实验报告一、引言数值分析是一门研究利用计算机进行数值计算的学科。
通过数值分析,我们可以使用数学方法和算法来解决实际问题,例如求解方程、插值和逼近、数值积分等。
本次上机实验旨在通过编程实现数值计算方法,并应用于实际问题中。
二、实验目的本次实验的目的是掌握数值计算方法的基本原理和实现过程,加深对数值分析理论的理解,并通过实际应用提高编程能力。
三、实验内容1. 数值求解方程首先,我们使用二分法和牛顿迭代法分别求解非线性方程的根。
通过编写程序,输入方程的初始值和精度要求,计算得到方程的根,并与理论解进行对比。
2. 数值插值和逼近接下来,我们使用拉格朗日插值和最小二乘法进行数据的插值和逼近。
通过编写程序,输入给定的数据点,计算得到插值多项式和逼近多项式,并绘制出插值曲线和逼近曲线。
3. 数值积分然后,我们使用梯形法和辛普森法进行定积分的数值计算。
通过编写程序,输入被积函数和积分区间,计算得到定积分的近似值,并与解析解进行比较。
四、实验步骤1. 数值求解方程(1)使用二分法求解非线性方程的根。
根据二分法的原理,编写程序实现二分法求解方程的根。
(2)使用牛顿迭代法求解非线性方程的根。
根据牛顿迭代法的原理,编写程序实现牛顿迭代法求解方程的根。
2. 数值插值和逼近(1)使用拉格朗日插值法进行数据的插值。
根据拉格朗日插值法的原理,编写程序实现数据的插值。
(2)使用最小二乘法进行数据的逼近。
根据最小二乘法的原理,编写程序实现数据的逼近。
3. 数值积分(1)使用梯形法进行定积分的数值计算。
根据梯形法的原理,编写程序实现定积分的数值计算。
(2)使用辛普森法进行定积分的数值计算。
根据辛普森法的原理,编写程序实现定积分的数值计算。
五、实验结果与分析1. 数值求解方程通过二分法和牛顿迭代法,我们成功求解了给定非线性方程的根,并与理论解进行了对比。
结果表明,二分法和牛顿迭代法都能够较好地求解非线性方程的根,但在不同的问题中,二者的收敛速度和精度可能会有所差异。
数值分析实习报告总结
![数值分析实习报告总结](https://img.taocdn.com/s3/m/736cd21d777f5acfa1c7aa00b52acfc789eb9f9f.png)
数值分析实习报告总结首先,我想对我所参加的数值分析实习课程表示由衷的感谢。
这次实习让我对数值分析这门学科有了更深入的理解,并且让我在实际操作中掌握了许多有用的技能和知识。
在这篇实习报告总结中,我将回顾我在实习过程中的学习经历,总结我在实习中学到的主要内容,并分享我的一些感悟。
实习的第一周,我主要学习了数值分析的基本概念和方法。
通过阅读教材和参加课堂讨论,我了解了数值分析的重要性以及在工程、科学和商业领域中的应用。
我学习了插值、线性代数、微分方程等数值方法的原理和实现方式。
此外,我还通过实际编程练习,掌握了使用数值分析方法解决实际问题的基本技能。
在实习的第二周,我深入学习了Lagrange插值和数值线性代数。
我了解到Lagrange插值是一种构造多项式以通过一组给定的点的方法,它在插值和逼近方面有广泛的应用。
通过编写代码实现Lagrange插值算法,我学会了如何利用已知的数据点来预测未知的点。
此外,我还学习了数值线性代数中的矩阵运算、特征值问题和线性方程组的求解方法,这些方法对于解决实际问题非常重要。
在实习的第三周,我学习了数值微积分和数值求解微分方程的方法。
我了解到数值微积分是利用数值方法近似计算积分和导数的过程,它在信号处理和物理模拟等领域有广泛应用。
通过编写代码实现数值积分和数值导数算法,我学会了如何近似计算函数的积分和导数。
此外,我还学习了如何使用数值方法求解常微分方程和偏微分方程,这些方法对于解决工程和科学领域中的问题非常重要。
在实习的过程中,我也遇到了一些困难和挑战。
例如,在实现数值算法时,我常常会遇到编程错误和数值误差的问题。
通过与同学和老师的讨论和交流,我学会了如何调试代码和减小数值误差的方法。
这些经验让我更加熟悉编程和数值分析的方法,并且提高了我的问题解决能力。
通过这次数值分析实习,我不仅学到了许多关于数值分析的知识和技能,还提高了自己的编程能力和问题解决能力。
我相信这些知识和技能将在我未来的学习和工作中发挥重要作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
103.5743 97.4847 78.2392 (1)请用次数分别为 3,4,5,6 的多项式拟合并给出最好近似结果 f(x)。 (2)请用插值多项式给出最好近似结果 下列数据为另外的对照记录,它们可以作为近似函数的评价参考数据。 xi = Columns 1 through 7 1.5000 1.9000 2.3000 2.7000 3.1000 3.5000 3.9000 Columns 8 through 14 4.3000 4.7000 5.1000 5.5000 5.9000 6.3000 6.7000 Columns 15 through 17 7.1000 7.5000 7.9000 yi = Columns 1 through 7 42.1498 41.4620 35.1182 24.3852 11.2732 -1.7813 -12.3006 Columns 8 through 14 -18.1566 -17.9069 -11.0226 2.0284 19.8549 40.3626 61.0840 Columns 15 through 17 79.5688 93.7700 102.3677 3.用雅格比法与高斯-赛德尔迭代法解下列方程组 Ax=b,研究其收敛性,上机验证理论分析是 否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。 (1)A 行分别为 A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4]; b1=[-3,2,4]T, b2=[100,-200,345]T, (2) A 行分别为 A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1] T, b2=[5,0,-10]T, (3)A 行分别为 A1=[1,3],A2=[-7,1];b=[4,6]T, 4. 松弛因子对 SOR 法收敛速度的影响。 用 SOR 法求解方程组 Ax=b,其中
2
6. 实验内容 (1) 实际验证梯形求积公式、Simpson 求积公式、Newton-Cotes 求积公式的代数精度。 (2) 针 对 上 述 三 个 函 数 和 积 分 区 间 [a,b] , 实 验 观 察 梯 形 求 积 公 式 、 Simpson 求 积 公 式 和 Newton-Cotes 求积公式的复化求积公式的实际计算效果。 y=exp(-x.^2).*sin(10*x)+4; a=1; b=3; y=sin(5*x)./x.^3;a=2*pi;b=4*pi; y=sin(5*x)./x.^3;a=2*pi;b=9.4248;
3
Hale Waihona Puke 数值分析上机试题 (请在 1-4 题中选择两个题目,5-6 中选择一个题目)
1. 分别用牛顿法,及基于牛顿算法下的 Steffensen 加速法 (1) 求 ln(x+sinx)=0 的根。初值 x0 分别取 0.1, 1,1.5, 2, 4 进行计算。 (2) 求 sinx=0 的根。初值 x0 分别取 1,1.4,1.6, 1.8,3 进行计算。 分析其中遇到的现象与问题。 2. 某过程测涉及两变量 x 和 y, 拟分别用插值多项式和多项式拟合给出其对应规律的近似多项 式,已知 xi 与 yi 之间的对应数据如下,xi=1,2,…,10 yi = 34.6588 40.3719 14.6448 -14.2721 -13.3570 24.8234 75.2795
数值分析 2015 上机实习报告要求
1.应提交一份完整的实习报告。具体要求如下: (1) 报告要排版,美观漂亮(若是纸质要有封面,封面上)要标明姓名、学号、 专业和联系电话; (2)要有序言,说明所用语言及简要优、特点,说明选用的考量; (3)要有目录,指明题目、程序、计算结果,图标和分析等内容所在位置,作到 信息简明而完全; (4)要有总结,全方位总结机编程计算的心得体会; (5)尽量使报告清晰明了,一般可将计算结果、图表及对比分析放在前面,程序 清单作为附录放在后面, 程序中关键部分要有中文说明或标注, 指明该部分 的功能和作用。 2.程序需完好保存到期末考试后的一个星期,以便老师索取用于验证、询问或质疑 部分内容。 3.认真完成实验内容,可以达到既学习计算方法又提高计算能力的目的,还可以切 身体会书本内容之精妙所在,期间可以得到很多乐趣。 4.拷贝或抄袭他人结果是不良行为,将视为不合格。 5.请按任课老师要求的时间和载体(电子或纸质)提交给任课老师。
4 1 1 4 1 . . . , . . . 1 4 1 1 4
- 3 - 2 - 2 B . - 2 - 3
要求程序中不存系数矩阵 A,分别对不同的阶数取 w=1.1, 1.2, ...,1.9 进行迭代, 记录近似解 x(k) 达到||x(k)-x(k-1)||<10-6 时所用的迭代次数 k,观察松弛因子对收敛速度的影响,并观察当 w0 或 w2 会有什么影响? 5. 用 Runge-Kutta 4 阶算法对初值问题 y/=-20*y,y(0)=1 按不同步长求解,用于观察稳定区间的 作用,推荐两种步长 h=0.1,0.2。 注:此方程的精确解为:y=e-20x