数值分析实验(2.3.5章)

合集下载

研究生数学数值分析2-3

研究生数学数值分析2-3
并且这两种运算满足以 下八条运算规律 y ( x, ,z ∈ X ; λ , µ ∈ K ) :
1
(1) x + y = y + x; ( 2) ( x + y ) + z = x + ( y + z ); ( 3) 在 X 中存在零元素 0 ∀ x ∈ X,都有 x + 0 = x; ,
(4) ∀ x ∈ X,都有 x 的负元素 − x ∈ X,使 x + ( − x ) = 0 ; (5) 1 x = x; (6) λ ( µ x ) = (λµ ) x; ( 7 ) ( λ + µ ) x = λ x + µ x; (8) λ ( x + y ) = λ x + λ y ,
λ x =| λ | x ;
( 3 ) 三角不等式
x+ y ≤ x + y .
则称 X 为赋范线性空间 , x 称为 X 中向量 x 的范数 .
11
利用三角不等式易推出 x − y ≤ x− y
x = ( x1, x2 ,L, xn )T ,
( 2 .3 .8 )
, 例2.3.3 在线性空间Rn 中 对任意的 可以证明
7
例 2 .3 .2 在 C [ a , b ] 上 , 对任意 f ( x ), g ( x ) ∈ C [ a , b ], 定义 ( f ( x ), g ( x ) ) =

b
a
ρ ( x ) f ( x ) g ( x )dx ,
( 2 .3 .3 )
其中 ρ ( x ) 称为权函数 , 它满足 : (1) ρ ( x ) ≥ 0 , ∀ x ∈ [ a , b ]; ( 2)

数值分析实验报告62338

数值分析实验报告62338

数值分析实验报告(第二章)实验题目:分别用二分法、牛顿迭代法、割线法、史蒂芬森迭代法求方程的根,观察不同初始值下的收敛性,并给出结论。

问题分析:题目有以下几点要求:1.不同的迭代法计算根,并比较收敛性。

2.选定不同的初始值,比较收敛性.实验原理:各个迭代法简述二分法:取有根区间的重点,确定新的有根区间的区间长度仅为区间长度的一版。

对压缩了的有根区间重复以上过程,又得到新的有根区间,其区间长度为的一半,如此反复,……,可得一系列有根区间,区间收敛到一个点即为根。

牛顿迭代法:不动点迭代法的一种特例,具有局部二次收敛的特性。

迭代格式为割线法:是牛顿法的改进,具有超线性收敛的特性,收敛阶为1。

618. 迭代格式为史蒂芬森迭代法:采用不动点迭代进行预估校正。

至少是平方收敛的。

迭代格式为这里可采用牛顿迭代法的迭代函数。

实验内容:1.写出该问题的函数代码如下:function py= f(x)syms k;y=(k^2+1)*(k—1)^5;yy=diff(y,k);py(1)=subs(y,k,x);py(2)=subs(yy,k,x);end2.分别写出各个迭代法的迭代函数代码如下:二分法:function y=dichotomie(a,b,e)i=2;m(1)=a;while abs(a-b)〉et=(a+b)/2;s1=f(a);s2=f(b);s3=f(t);if s1(1)*s3(1)<=0b=t;elsea=t;endm(i)=t;i=i+1;endy=[t,i+1,m];end牛顿迭代法:function y=NewtonIterative(x,e)i=2;en=2*e;m(1)=x;while abs(en)〉=es=f(x);t=x—s(1)/s(2);en=t—x;x=t;m(i)=t;i=i+1;endy=[x,i+1,m];end牛顿割线法:function y=Secant(x1,x2,e)i=3;m(1)=x1,m(2)=x2;while abs(x2—x1)〉=es1=f(x1);s2=f(x2);t=x2—(x2—x1)*s2(1)/(s2(1)—s1(1));x1=x2;x2=t;m(i)=t;i=i+1;endy=[x2,i+1,m];end史蒂芬森迭代法:Function p=StephensonIterative(x,e)i=2;m(2)=x;en=2*e;while abs(en)〉=ey=fai(x);z=fai(y);t=x—(y-x)^2/(z—2*y+x); en=t-x;x=t;m(i)=t;i=i+1;endp=[x,i+1,m];end3.因为经常被使用,故可以写一个函数。

数值分析第五版第5章学习资料

数值分析第五版第5章学习资料
6
n
即 de(A t) aijAij (i1,2,,n), j1
其中 A ij 为 a ij 的代数余子式,Aij(1)ijMij, M ij 为元素 a ij 的余子式.
行列式性质:
( ad ) ( A e ) d t B ( A e )d ( t B )A e , ,B t R n n .
有非零解,故系数行列式 deIt (A)0,记
a11 a12 p()det(I A) a21 a22
a1n a2n
(1.3)
an1 an2 ann n c1n1cn1cn 0.
p()称为矩阵 A的特征多项式,方程(1.3)称为矩阵 A的特
征方程.
9
因为 n次代数方程 p() 在复数域中有 n个根
其中用 ri 表示矩阵的第 i行. 由此看出,用消去法解方程组的基本思想是用逐次消
去未知数的方法把原方程组 Axb化为与其等价的三角 形方程组,而求解三角形方程组可用回代的方法.
上述过程就是用行的初等变换将原方程组系数矩阵化 为简单形式(上三角矩阵),从而将求解原方程组(2.1)的 问题转化为求解简单方程组的问题.
n
n
trA aii i.
i1
i1
(1.4) (1.5)
称 trA为 A的迹.
A的特征值 和特征向量 x还有一下性质:
(1) AT 与 A有相同的特征值 及特征向量 .
(2)若 A非奇异,则 A1 的特征值为 1,特征向量为 x.
(3)相似矩阵 BS1AS有相同的特征多项式.
11
例1 求 A的特征值及谱半径
4x2x3 5,
2x3 6.
显然,方程组(2.6)是容易求解的,解为
x (1,2,3)T.

(完整版)数值分析每节课的教学重点、难点

(完整版)数值分析每节课的教学重点、难点

计算方法教案新疆医科大学数学教研室张利萍一、课程基本信息1、课程英文名称:Numerical Analysis2、课程类别:专业基础课程3、课程学时:总学时544、学分:45、先修课程:《高等数学》、《线性代数》、《Matlab 语言》二、课程的目的与任务:计算方法是信息管理与信息系统专业的重要理论基础课程,是现代数学的一个重要分支。

其主要任务是介绍进行科学计算的理论方法,即在计算机上对来自科学研究和工程实际中的数学问题进行数值计算和分析的理论和方法。

通过本课程的学习,不仅使学生初步掌握数值分析的基本理论知识,而且使学生具备一定的科学计算的能力、分析问题和解决问题的能力,为学习后继课程以及将来从事科学计算、计算机应用和科学研究等工作奠定必要的数学基础。

三、课程的基本要求:1.掌握计算方法的常用的基本的数值计算方法2.掌握计算方法的基本理论、分析方法和原理3.能利用计算机解决科学和工程中的某些数值计算应用问题,增强学生综合运用知识的能力4.了解科学计算的发展方向和应用前景四、教学内容、要求及学时分配:(一) 理论教学:引论(2学时)第一讲(1-2节)1.教学内容:计算方法(数值分析)这门课程的形成背景及主要研究内容、研究方法、主要特点;算法的有关概念及要求;误差的来源、意义、及其有关概念。

数值计算中应注意的一些问题。

2.重点难点:算法设计及其表达法;误差的基本概念。

数值计算中应注意的一些问题。

3.教学目标:了解数值分析的基本概念;掌握误差的基本概念:误差、相对误差、误差限、相对误差限、有效数字;理解有效数字与误差的关系。

学会选用相对较好的数值计算方法。

A 算法B 误差第二讲典型例题第二章线性方程组的直接法(4学时)第三讲1.教学内容:线性方程组的消去法、Gauss消去法及其Gauss列主元素消去法的计算过程;三种消去法的程序设计。

2.重点难点:约当消去法,Gauss消去法,Gauss列主元素消去法3.教学目标:了解线性方程组的解法;掌握约当消去法、Gauss消去法、Gauss列主元素消去的基本思想;能利用这三种消去法对线性方程组进行求解,并编制相应的应用程序。

数值分析实验报告--实验2--插值法

数值分析实验报告--实验2--插值法

1 / 21数值分析实验二:插值法1 多项式插值的震荡现象1.1 问题描述考虑一个固定的区间上用插值逼近一个函数。

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

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

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

设区间[-1,1]上函数21()125f x x=+ (1)考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为201()()125nn ii iL x l x x ==+∑(2)其中的(),0,1,2,,i l x i n =是n 次拉格朗日插值基函数。

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

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

(3) 区间[a,b]上切比雪夫点的定义为 (21)cos ,1,2,,1222(1)k b a b ak x k n n π⎛⎫+--=+=+ ⎪+⎝⎭(3)以121,,n x x x +为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析2 / 21原因。

1.2 算法设计使用Matlab 函数进行实验, 在理解了插值法的基础上,根据拉格朗日插值多项式编写Matlab 脚本,其中把拉格朗日插值部分单独编写为f_lagrange.m 函数,方便调用。

1.3 实验结果1.3.1 f(x)在[-1,1]上的拉格朗日插值函数依次取n=2、3、4、5、6、7、10、15、20,画出原函数和拉格朗日插值函数的图像,如图1所示。

Matlab 脚本文件为Experiment2_1_1fx.m 。

可以看出,当n 较小时,拉格朗日多项式插值的函数图像随着次数n 的增加而更加接近于f(x),即插值效果越来越好。

数值分析上机实验

数值分析上机实验

目录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。

哈工大数值分析实验报告

哈工大数值分析实验报告


实验报告一:非线性方程求解.................................................................................... 1
摘要、前言、数学原理 ............................................................................................. 1 Python 程序设计 ........................................................................................................ 2 结果分析和讨论 ......................................................................................................... 6 结论 ........................................................................................................................... 12 摘要、前言、数学原理 ........................................................................................... 13 Python 程序设计 ...................................................................................................... 14 结果分析和讨论 ....................................................................................................... 16 结论 ........................................................................................................................... 17 摘要、前言、数学原理 ........................................................................................... 18 Python 程序设计 ...................................................................................................... 19 结果分析和讨论 ..................................................................................................... 26 结论 ........................................................................................................................... 30 摘要、前言、数学原理 ........................................................................................... 31 Python 程序设计 ...................................................................................................... 32 结果分析和讨论 ....................................................................................................... 33 结论 ........................................................................................................................... 35

数值分析实验报告纸非线性方程的数值解法及其并行算法

数值分析实验报告纸非线性方程的数值解法及其并行算法

>>二 :牛顿切线
[k,piancha,xdpiancha,xk,yk]=diedai2(1.5,0.0001,100) ans = 1.0000 ans = 2.0000 ans = 3.0000 ans = 4.0000 ans = 5.0000 ans = 6.0000 ans = 7.0000 ans = 0.8306 1.2408 0.6694 1.5361
i=i+1;xk=x(i);[(i-1) piancha xdpiancha xk] end if (piancha >1)&(xdpiancha>0.5)&(k>3) disp('请用户注意:此迭代序列发散,请重新输入新的迭 代公式') return; end if (piancha < 0.001)&(xdpiancha< 0.0000005)&(k>3) disp('祝贺您!此迭代序列收敛,且收敛速度较快') return; end p=[(i-1) piancha xdpiancha xk]'; 建立并保存下面的M文件fun.m function y=fun(x) y=2*x^3-x^2-5; >>[k,piancha,xdpiancha,xk,yk]=diedai2(1.5,0.0001,30) 牛顿切线法的 MATLAB 主程序 现提供名为 newtonqx.m 的 M 文件: function [k,xk,yk,piancha,xdpiancha]=newtonqx(x0,tol,ftol,gxma x) x(1)=x0; for i=1: gxmax x(i+1)=x(i)-fnq(x(i))/(dfnq(x(i))+eps); piancha=abs(x(i+1)-x(i)); xdpiancha= piancha/( abs(x(i+1))+eps); i=i+1; xk=x(i);yk=fnq(x(i)); [(i-1) xk yk piancha

单摆研究毕业论文讲解

单摆研究毕业论文讲解

毕业设计(论文)2012 届题目影响单摆周期因素的研究专业物理学生姓名学号指导教师论文字数11000字完成日期湖州师范学院教务处印制影响单摆周期因数的研究摘要:本文研究了单摆的周期受摆角、摆球的线度、介质黏度和介质密度参数的影响;作出了周期比随参数变化的曲线。

经计算表明:这些因数对周期的影响很小。

我们导出了一个简单、实用、精度高的理想单摆运动周期近似公式。

近似公式中的K=0.06224,与文献[1]提及的K值相近。

通过不断改变K值找到接近于实验数据的值为0.057。

并用这个近似公式求得的重力加速度g与标准值比较,结果表明:计算得到的重力加速度接近于标准值。

关键词:单摆,周期,参数,近似公式Impact factor of the pendulum periodAbstract: This paper studies the pendulum's period by the swing angle, swing the ball line degrees, medium viscosity and density parameters of the medium; to the cycle than the curve with parameter changes. The calculations show that: these factors have little effect on the cycle. We derive a simple, practical, ideal for high precision pendulum movement cycle approximate formula. Approximate formula K = 0.06224, with the literature [1] mentioned that the K values are similar. By changing the value of K is found close to the experimental data of 0.057. And use the approximate formula obtained with the standard value of acceleration due to gravity g, the results show that: the acceleration of gravity close to the calculated standard value.Keywords:pendulum, period, parameters, approximate formula目录前言 (1)第一章简谐振动-----单摆 (3)1.1 小角度下理想单摆公式的推导 (3)1.2 大角度下理想单摆公式的推导 (3)第二章影响单摆周期的因素 (5)2.1 摆角对单摆周期的影响 (5)2.2 摆球线度对单摆周期的影响 (6)2.3 空气黏度对单摆周期的影响 (7)2.4 介质密度对单摆周期的影响 (9)第三章单摆周期的测量 (11)3.1 实验仪器介绍 (11)3.2 装置与用法 (11)3.3 实验数据记录 (12)3.3.1 部分数据 (12)3.3.2 实验测得周期与理论值 (13)3.4 实验数据的近似公式 (15)3.5 结论 (18)总结 (21)参考文献 (22)致谢 (23)前言单摆:质点振动系统的一种,是最简单的摆。

数值分析

数值分析

数值分析第一章 绪论 ................................................................................................................................... 1 第二章 函数插值 ............................................................................................................................. 2 第三章 函数逼近 ............................................................................................................................. 5 第四章 数值积分与数值微分 ....................................................................................................... 11 第五章 解线性方程组的直接解法 ............................................................................................... 13 第六章 解线性方程组的迭代解法 ............................................................................................... 17 第七章 非线性方程求根 ............................................................................................................... 20 第九章 常微分方程初值问题的数值解法 .. (22)第一章 绪论1.1的相对误差不超过0.1%,应取几位有效数字?解:14a =。

数值分析实验

数值分析实验

第三章函数插值一、实验目的1.学习Matlab的三次样条插值函数spline和csape的使用方法;2.对实验中给出的数据,用Matlab函数求各种样条,并绘制图像;二、实验内容通过Matlab的help学习三次样条插值函数spline和csape的使用方法。

以函数csape为例,它的调用形式为:pp=csape(X,Y,conds,valconds)其中,conds与valconds为给出边界条件的字符串与条件值。

conds常用的选择:‘second’为方案一的曲率调整样条;‘complete’或‘clamped’为方案二的固支样条(压紧样条);‘not-a-kont’为方案三的非扭结样条,与pp=spline(X,Y)等价;‘periodic’为方案四的周期样条。

pp是一个结构数组,通过pp.coefs可以显示多段多项式的系数。

根据下面数表1,用Matlab函数求各种样条(边界条件自己给),并绘制它们的图像。

边界条件:f’(1.00)=1,f’(10.00)=1或f”(1.00)=1,f”(10.00)=1。

2.1 计算机求解本实验通过调用Matlab中的spline函数和csape函数,对表1中的实验数据求各种样条,流程图如图1:图1 程序流程图2.2 计算程序%原始数据x=[1.00;2.00;3.00;4.00;5.00;6.00;7.00;8.00;9.00;10.00]y=[3.56;2.56;1.54;0.53;0.26;0.90;1.81;2.12;1.53;0.56]save mydata2.mat x y%调用spline和csape求各种样条pp1=csape(x,y,'second',[1,1]) %方案一的曲率调整样条pp1.coefs %显示多项式系数fnplt(pp1) %绘制样条函数图像grid onpp2=csape(x,y,'complete',[1,1]) %方案二的固支样条pp2.coefsfnplt(pp2)grid onpp3=csape(x,y,'not-a-knot') %方案三的非扭结样条pp3.coefsfnplt(pp3)grid onpp4=csape(x,y,'periodic') %方案四的周期样条pp4.coefsfnplt(pp4)grid onpp=spline(x,y) %用spline求样条(方案三的非扭结样条)pp.coefsfnplt(pp)grid on三、运行结果根据上节编写的script,运行得到结果如表2。

数值分析第五版答案(全)

数值分析第五版答案(全)

第一章 绪论1.设0x >,x 的相对误差为δ,求ln x 的误差。

解:近似值*x 的相对误差为*****r e x xe x x δ-=== 而ln x 的误差为()1ln *ln *ln **e x x x e x =-≈进而有(ln *)x εδ≈2.设x 的相对误差为2%,求n x 的相对误差。

解:设()nf x x =,则函数的条件数为'()||()p xf x C f x = 又1'()n f x nx-=, 1||n p x nx C n n-⋅∴== 又((*))(*)r p r x n C x εε≈⋅且(*)r e x 为2((*))0.02n r x n ε∴≈3.下列各数都是经过四舍五入得到的近似数,即误差限不超过最后一位的半个单位,试指出它们是几位有效数字:*1 1.1021x =,*20.031x =, *3385.6x =, *456.430x =,*57 1.0.x =⨯解:*1 1.1021x =是五位有效数字; *20.031x =是二位有效数字; *3385.6x =是四位有效数字; *456.430x =是五位有效数字; *57 1.0.x =⨯是二位有效数字。

4.利用公式(2.3)求下列各近似值的误差限:(1) ***124x x x ++,(2) ***123x x x ,(3) **24/x x .其中****1234,,,x x x x 均为第3题所给的数。

解:*41*32*13*34*151()1021()1021()1021()1021()102x x x x x εεεεε-----=⨯=⨯=⨯=⨯=⨯***124***1244333(1)()()()()1111010102221.0510x x x x x x εεεε----++=++=⨯+⨯+⨯=⨯ ***123*********123231132143(2)()()()()1111.10210.031100.031385.610 1.1021385.6102220.215x x x x x x x x x x x x εεεε---=++=⨯⨯⨯+⨯⨯⨯+⨯⨯⨯≈**24****24422*4335(3)(/)()()110.0311056.430102256.43056.43010x x x x x x xεεε---+≈⨯⨯+⨯⨯=⨯=5计算球体积要使相对误差限为1,问度量半径R 时允许的相对误差限是多少? 解:球体体积为343V R π=则何种函数的条件数为23'4343p R V R R C V R ππ===(*)(*)3(*)r p r r V C R R εεε∴≈=又(*)1r V ε=%1故度量半径R 时允许的相对误差限为εr (V ∗)=13∗1%=13006.设028Y =,按递推公式1n n Y Y -= (n=1,2,…)计算到100Y 27.982≈(5位有效数字),试问计算100Y 将有多大误差?解:1n n Y Y -=-10099Y Y ∴=9998Y Y =9897Y Y =……10Y Y =依次代入后,有1000100Y Y =-即1000Y Y =27.982≈, 100027.982Y Y ∴=-*310001()()(27.982)102Y Y εεε-∴=+=⨯100Y ∴的误差限为31102-⨯。

数值分析第五版答案(全)

数值分析第五版答案(全)

第一章 绪论1.设0x >,x 的相对误差为δ,求ln x 的误差。

解:近似值*x 的相对误差为*****r e x xe x x δ-=== 而ln x 的误差为()1ln *ln *ln **e x x x e x =-≈进而有(ln *)x εδ≈2.设x 的相对误差为2%,求nx 的相对误差。

解:设()nf x x =,则函数的条件数为'()||()p xf x C f x = 又1'()n f x nx-=, 1||n p x nx C n n-⋅∴== 又((*))(*)r p r x n C x εε≈⋅且(*)r e x 为2((*))0.02n r x n ε∴≈3.下列各数都是经过四舍五入得到的近似数,即误差限不超过最后一位的半个单位,试指出它们是几位有效数字:*1 1.1021x =,*20.031x =, *3385.6x =, *456.430x =,*57 1.0.x =⨯解:*1 1.1021x =是五位有效数字; *20.031x =是二位有效数字; *3385.6x =是四位有效数字; *456.430x =是五位有效数字; *57 1.0.x =⨯是二位有效数字。

4.利用公式(2.3)求下列各近似值的误差限:(1) ***124x x x ++,(2) ***123x x x ,(3) **24/x x .其中****1234,,,x x x x 均为第3题所给的数。

解:*41*32*13*34*151()1021()1021()1021()1021()102x x x x x εεεεε-----=⨯=⨯=⨯=⨯=⨯***124***1244333(1)()()()()1111010102221.0510x x x x x x εεεε----++=++=⨯+⨯+⨯=⨯ ***123*********123231132143(2)()()()()1111.10210.031100.031385.610 1.1021385.6102220.215x x x x x x x x x x x x εεεε---=++=⨯⨯⨯+⨯⨯⨯+⨯⨯⨯≈**24****24422*4335(3)(/)()()110.0311056.430102256.43056.43010x x x x x x xεεε---+≈⨯⨯+⨯⨯=⨯=5计算球体积要使相对误差限为1,问度量半径R 时允许的相对误差限是多少? 解:球体体积为343V R π=则何种函数的条件数为23'4343p R V R R C V R ππ===(*)(*)3(*)r p r r V C R R εεε∴≈=又(*)1r V ε=故度量半径R 时允许的相对误差限为1(*)10.333r R ε=⨯≈6.设028Y =,按递推公式1n n Y Y -= (n=1,2,…)计算到100Y 27.982≈(5位有效数字),试问计算100Y 将有多大误差?解:1n n Y Y -=10099Y Y ∴=9998Y Y =9897Y Y =……10Y Y =依次代入后,有1000100Y Y =-即1000Y Y =,27.982≈, 100027.982Y Y ∴=-*310001()()(27.982)102Y Y εεε-∴=+=⨯100Y ∴的误差限为31102-⨯。

(完整版)数值分析第五版答案(全)

(完整版)数值分析第五版答案(全)

第一章 绪论1.设0x >,x 的相对误差为δ,求ln x 的误差。

解:近似值*x 的相对误差为*****r e x xe x x δ-=== 而ln x 的误差为()1ln *ln *ln **e x x x e x =-≈进而有(ln *)x εδ≈2.设x 的相对误差为2%,求n x 的相对误差。

解:设()nf x x =,则函数的条件数为'()||()p xf x C f x = 又1'()n f x nx-=, 1||n p x nx C n n-⋅∴== 又((*))(*)r p r x n C x εε≈⋅且(*)r e x 为2((*))0.02n r x n ε∴≈3.下列各数都是经过四舍五入得到的近似数,即误差限不超过最后一位的半个单位,试指出它们是几位有效数字:*1 1.1021x =,*20.031x =, *3385.6x =, *456.430x =,*57 1.0.x =⨯解:*1 1.1021x =是五位有效数字; *20.031x =是二位有效数字; *3385.6x =是四位有效数字; *456.430x =是五位有效数字; *57 1.0.x =⨯是二位有效数字。

4.利用公式(2.3)求下列各近似值的误差限:(1) ***124x x x ++,(2) ***123x x x ,(3) **24/x x .其中****1234,,,x x x x 均为第3题所给的数。

解:*41*32*13*34*151()1021()1021()1021()1021()102x x x x x εεεεε-----=⨯=⨯=⨯=⨯=⨯***124***1244333(1)()()()()1111010102221.0510x x x x x x εεεε----++=++=⨯+⨯+⨯=⨯ ***123*********123231132143(2)()()()()1111.10210.031100.031385.610 1.1021385.6102220.215x x x x x x x x x x x x εεεε---=++=⨯⨯⨯+⨯⨯⨯+⨯⨯⨯≈**24****24422*4335(3)(/)()()110.0311056.430102256.43056.43010x x x x x x xεεε---+≈⨯⨯+⨯⨯=⨯=5计算球体积要使相对误差限为1,问度量半径R 时允许的相对误差限是多少? 解:球体体积为343V R π=则何种函数的条件数为23'4343p R V R R C V R ππ===(*)(*)3(*)r p r r V C R R εεε∴≈=又(*)1r V ε=%1故度量半径R 时允许的相对误差限为εr (V ∗)=13∗1%=13006.设028Y =,按递推公式1n n Y Y -= (n=1,2,…)计算到100Y 27.982≈(5位有效数字),试问计算100Y 将有多大误差?解:1n n Y Y -=-10099Y Y ∴=9998Y Y =9897Y Y =……10Y Y =依次代入后,有1000100Y Y =-即1000Y Y =27.982≈, 100027.982Y Y ∴=-*310001()()(27.982)102Y Y εεε-∴=+=⨯100Y ∴的误差限为31102-⨯。

实验2_求解线性方程组直接法(完成版)

实验2_求解线性方程组直接法(完成版)

数值分析实验报告二求解线性方程组的直接方法(2学时)一 实验目的1.掌握求解线性方程组的高斯消元法及列主元素法; 2. 掌握求解线性方程组的克劳特法; 3. 掌握求解线性方程组的平方根法。

二 实验内容1.用高斯消元法求解方程组(精度要求为610-=ε):1231231233272212240x x x x x x x x x -+=⎧⎪-+-=-⎨⎪-+=⎩ 2.用克劳特法求解上述方程组(精度要求为610-=ε)。

3. 用平方根法求解上述方程组(精度要求为610-=ε)。

4. 用列主元素法求解方程组(精度要求为610-=ε):1231231233432222325x x x x x x x x x -+=⎧⎪-+-=⎨⎪--=-⎩ 三 实验步骤(算法)与结果1. 高斯消元法求解根据算法思想用C 语言编程(源程序见附录2.1) 编译结果如下图:2. 克劳特法求解根据算法思想用C 语言编程(源程序见附录2.2)编译结果如下图:3平方根法求解根据算法思想用C语言编程(源程序见附录2.3)编译结果如下图:4列主元素法求解根据算法思想用C语言编程(源程序见附录2.4)编译结果如下图:四实验收获与教师评语1.实验收获:对于这次实验,我可以锻炼到上机实验的能力,并且第一次感受到数学知识在现实生活中的应用,也是第一次运用计算机解决数学问题。

另外,正是因为这次上机实验,让我重温了有些遗忘的编程知识。

2.教师评语:附录:2.1至2.4源程序代码2.1 #include <stdio.h>#define N 8void main(){floatsum,a[N][N]={0},u[N][N]={0},l[N][ N]={0},z[N]={0},x[N]={0};int n,i,j,k;printf("input the number of roots:");/*方程的个数小于8*/scanf("%d",&n);printf("input xishu matrix:\n"); for(i=1;i<=n;i++)for(j=1;j<=n+1;j++)scanf("%f",&a[i][j]);for(i=1;i<=n;i++)l[i][i]=1;for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(i>j){for(k=0,sum=0;k<=j-1;k++)sum+=l[i][k]*u[k][j];l[i][j]=(a[i][j]-sum)/u[j][j];}else{for(k=0,sum=0;k<=i-1;k++)sum+=l[i][k]*u[k][j];u[i][j]=a[i][j]-sum; }}for(i=1,j=n+1;i<=n;i++){for(k=0,sum=0;k<=i;k++)sum+=l[i][k]*z[k];z[i]=a[i][j]-sum;}for(i=n;i>=1;i--){sum=0;for(k=i+1;k<=n;k++)sum+=u[i][k]*x[k]; x[i]=(z[i]-sum)/u[i][i];}printf("changing fangcheng xi shu is:\n");for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%-10g",u[i][j]); printf("%-10g\n",z[i]);}for(i=1;i<=n;i++)printf("x(%d)=%-g\n",i,x[i]); getch();}2.2#include <conio.h>#include <stdio.h>#define N 8void main(){floatsum,a[N][N]={0},u[N][N]={0},l[N][ N]={0},z[N]={0},x[N]={0};int n,i,j,k;printf("input the number of roots:");/*方程的个数小于8*/scanf("%d",&n);printf("input xishu matrix:\n"); for(i=1;i<=n;i++)for(j=1;j<=n+1;j++)scanf("%f",&a[i][j]);for(i=1;i<=n;i++)u[i][i]=1;for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(i>=j){for(k=0,sum=0;k<=j-1;k++)sum+=l[i][k]*u[k][j];l[i][j]=a[i][j]-sum; }else{for(k=0,sum=0;k<=i-1;k++)sum+=l[i][k]*u[k][j];u[i][j]=(a[i][j]-sum)/l[i][i];}}for(i=1,j=n+1;i<=n;i++){for(k=0,sum=0;k<=i;k++)sum+=l[i][k]*z[k];z[i]=(a[i][j]-sum)/l[i][i];}for(i=n;i>=1;i--){sum=0;for(k=i+1;k<=n;k++)sum+=u[i][k]*x[k];x[i]=z[i]-sum;}printf("changing fangcheng xi shu is:\n");for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%-10g",u[i][j]); printf("%-10g\n",z[i]);}for(i=1;i<=n;i++)printf("x(%d)=%-g\n",i,x[i]); getch();}2.3#include <conio.h>#include <stdio.h>#include <math.h>#define N 8void main(){floatsum,a[N][N]={0},u[N][N]={0},l[N][ N]={0},z[N]={0},x[N]={0};int n,i,j,k;printf("input the number of roots:");/*方程的个数小于8*/ scanf("%d",&n);printf("input xishu matrix:\n"); for(i=1;i<=n;i++)for(j=1;j<=n+1;j++)scanf("%f",&a[i][j]);for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(i>j){for(k=0,sum=0;k<=j-1;k++)sum+=l[i][k]*l[j][k];l[i][j]=(a[i][j]-sum)/l[j][j];u[j][i]=l[i][j];}if(i==j){for(k=0,sum=0;k<=i-1;k++)sum+=l[i][k]*l[i][k];l[i][i]=sqrt(a[i][i]-sum);u[i][i]=l[i][i];}}for(i=1,j=n+1;i<=n;i++){for(k=0,sum=0;k<=i;k++)sum+=l[i][k]*z[k];z[i]=(a[i][j]-sum)/l[i][i];}for(i=n;i>=1;i--){sum=0;for(k=i+1;k<=n;k++)sum+=u[i][k]*x[k];x[i]=(z[i]-sum)/l[i][i];}printf("changing fangcheng xi shu is:\n");for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%-10g",u[i][j]); printf("%-10g\n",z[i]);}for(i=1;i<=n;i++)printf("x(%d)=%-g\n",i,x[i]); getch();}2.4#include <stdio.h>#include <math.h>#define N 8void main(){ int i,j,k,n;floata[N][N],l[N][N],u[N][N],z[N],x1[N ],max,x;for(i=0;i<N;i++)for(j=0;j<N;j++)a[i][j]=u[i][j]=l[i][j]=0;z[0]=0; printf("input the number of roots:");scanf("%d",&n);printf("input xishu matrix:\n");for(i=1;i<=n;i++)for(j=1;j<=n+1;j++)scanf("%f",&a[i][j]);for(i=1;i<n;i++){ max=fabs(a[i][i]);k=i;for(j=i+1;j<=n;j++)if(fabs(a[j][i])>max){ max=fabs(a[j][i]);k=j;} for(j=i;j<=n+1;j++){ x=a[i][j];a[i][j]=a[k][j];a[k][j]=x;}for(j=i+1;j<=n;j++){ l[j][i]=a[j][i]/a[i][i];a[j][i]=0;for(k=i+1;k<=n+1;k++) a[j][k]=a[j][k]-l[j][i]*a[i][k]; }z[i]=a[i][n+1];}z[n]=a[n][n+1];for(i=1;i<=n;i++)for(j=1;j<=n;j++)u[i][j]=a[i][j];for(i=n;i>0;i--){ k=i+1;x=0;while(k<=n){ x+=u[i][k]*x1[k];k++;}x1[i]=(z[i]-x)/u[i][i];}for(i=1;i<=n;i++)for(j=1;j<=n;j++){ printf("%-10g",u[i][j]);if(j==n)printf("%-10g\n",z[i]);}for(i=1;i<=n;i++)printf("x%d=%-10g\n",i,x1[i]);getch();}。

数值分析课程方案报告(分)

数值分析课程方案报告(分)

数值分析课程设计报告设计题1、2、3、5学院、系:专业:姓名:学号:任课教师:提交日期:电子邮箱:目录[设计题一]31.1问题分析与设计思路31.2程序清单41.4 结果分析71.5设计总结7[设计题二]82.1问题分析与设计思路82.2程序清单82.3 运行结果102.4结果分析与设计总结10 [设计题三]113.1问题分析与设计思路113.2程序清单113.3 运行结果133.4结果分析与设计总结13 [设计题五]144.1问题分析与设计思路144.2程序清单154.3 运行结果204.4结果分析21【数值分析课程设计总结】22[设计题一]设计实验验证Hilbert矩阵的病态性。

1.1问题分析与设计思路在求解任何反问题的过程中通常会遇到病态矩阵问题,而且病态矩阵问题还未有很好的解决方法,尤其是长方形、大型矩阵。

目前主要有Tikhonov、奇异值截断、奇异值修正等方法。

求解方程组时对数据的小扰动很敏感的矩阵就是病态矩阵。

解线性方程组Ax=b时,若对于系数矩阵A及右端项b的小扰动δA、δb,方程组(A+δA>χ=b+δb的解χ与原方程组Ax=b的解差别很大,则称矩阵A为病态矩阵。

方程组的近似解χ一般都不可能恰好使剩余r=b-Aχ为零,这时χ亦可看作小扰动问题Aχ=b-r(即δA=0,δb=-r>的解,所以当A为病态时,即使剩余很小,仍可能得到一个与真解相差很大的近似解。

因此,设计思路如下:令x0=<1,1…..1),计算出b=Hx0,求出b,然后再用高斯消去法球解Hx=b,得到近似解x,然后利用标准差:比较x与x0之间的误差。

截图是取了几个n<程序中设置为1至30)去计算,看一下随着n的增大误差的变化情况。

1.2程序清单共两个文件qm1.mgauss_liezhu1.m <在qm1.m中调用此程序)qm1.mgauss_liezhu1.m1.4 结果分析N=14按照N的递增顺序取了9个误差数据,制成散点折线图如上所示。

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

试验2.1 多项式插值的振荡现象实验目的:观察多项式插值的振荡现象,了解多项式的次数与逼近效果的关系。

实验内容:问题提出:考虑在一个固定的区间上用插值逼近一个函数。

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

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

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

设区间[-1,1]上的函数225x11)x (+=f ,考虑区间[-1,1]上的一个等距划分,分点为n2i 1x i +-=,i=0,1,2,…,n则拉格朗日插值多项式为:)x (l 25x11)x (Ln i ni 2i∑=+=,其中的)x (l i ,i=0,1,2,…,n 是n 次拉格朗日插值基函数。

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

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

实验步骤及结果分析:1、选择不断增大的分点数目n=2,3,4,5,6,7,8,9,10做)x (f 的拉格朗日插值多项式)x (Ln ,并与原函数值做比较,如下图所示。

观察图像可知:n=2,3时插值函数和原函数差别很大,n=4,5,6时插值函数与原函数的逼近程度相对较好,继续增加插值次数n ,插值函数在插值区域的中间部分收敛,而在这区间外是发散的,此外,n=7,9时在插值中间区域逼近效果不好。

因此,适当提高插值多项式次数,可以提高逼近的精度,但是次数太高反而产生相反的效果。

2、选择其他的函数进行插值。

原函数4()1x h x x=+,区间[-5,5],插值结果如下图:观察图像可知:低次插值时,插值效果不好。

n=7,8,9,10时,在区间[-2,2],插值函数与原函数逼近程度好,但在区间外插值函数发散。

其中,n=8,10插值效果比n=7,9好。

原函数()arctan,区间[-5,5],插值结果如下图:g x x观察图像可知:n=5,6,7,8,9,10时,在区间[-3,3],插值函数与原函数逼近程度好,但在区间外插值函数发散。

其中,n=7,9在插值区间两端发散的更剧烈。

分析在插值区间两端发散的原因:次数越高,计算量就越大,积累误差也大,在整个区间上做高次多项式,当局部插值节点处的值有微小偏差时,可能引起整个区间上函数值的很大变化,使计算不稳定。

Matlab程序如下:function t_charpt2%数值实验二%输入:实验选择,函数式选择,插值节点数%输出:拟合函数及原函数的图形result=inputdlg({'请选择实验,若选2.1,请输入1,否则输入2:'},'charpt_2',1,{'1'}); Nb=str2num(char(result));if(Nb~=1)&(Nb~=2) errordlg('实验选择错误!');return;endpromps={'请选择实验函数,若选f(x),请输入f,若选h(x),请输入h,若选g(x),请输入g:'};result=inputdlg(promps,'charpt 2',1,{'f'});Nb_f=char(result);if(Nb_f~='f'&Nb_f~='h'&Nb_f~='g')errordlg('实验选择错误!');return;endresult=inputdlg({'请输入插值点数N:'},'charpt_2',1,{'10'});Nd=str2num(char(result));if(Nd<1)errordlg('结点输入错误!');return;endswitch Nb_fcase 'f'f=inline('1./(1+25*x.^2)');a=-1;b=1;case 'h'f=inline('x./(1+x.^4)');a=-5;b=5;case 'g'f=inline('atan(x)');a=-5;b=5;endif(Nb==1)x0=linspace(a,b,Nd+1);y0=feval(f,x0);x=a:0.1:b;y=lagrange(x0,y0,x);% clf;把曲线显示在一张图上fplot(f,[a,b],'co');hold on;plot(x,y,'b--');xlabel('x') ;ylabel('y=f(x)o and y=ln(x)--');elseif(Nb==2)x0=linspace(a,b,Nd+1);y0=feval(f,x0);x=a:0.1:b;cs=spline(x0,y0);y=ppval(cs,x);% clf;把曲线显示在一张图上fplot(f,[a,b],'co');hold on;plot(x,y,'k-');xlabel('x');ylabel('y=f(x) o and y=spline(x)-'); end%function y=lagrange(x0,y0,x)%Lagrange插值n=length(x0);m=length(x);for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:nif (j~=k)p=p*(z-x0(j))/(x0(k)-x0(j));endends=s+p*y0(k);endy(i)=s;end试验3.1 多项式最小二乘拟合实验目的:掌握多项式最小二乘拟合程序,会对数据作多项式最小二乘拟合。

实验内容及要求:编制以函数{}nk k x 0=为基的多项式最小二乘拟合程序,并用于对表中的数据作3次多项式最小拟合。

取权数1≡i w ,求拟合曲线knk kxa∑=**=ϕ中的参数{}k a 、平方误差2δ,并作离散数据{}i i y x ,的拟合函数()x y *=ϕ的图形。

实验步骤及结果分析:拟合函数()x y *=ϕ的图形:拟合曲线knk kxa∑=**=ϕ中的平方误差2δ为2.17619e-005;参数{}k a 为alph 中的四个数值,按降幂排列1.99911,-2.99767,-3.96825e-005,0.549119。

观察图像可知:表中数据均在拟合曲线上,拟合结果很好,平方误差为10-5数量级。

Matlab程序如下:function charpt3%数值实验三:含“实验3.1”和“实验3.2”%子函数调用:dlsa%输入:实验选择%输出:原函数及求得的相应插值多项式的函数的图像以及参数alph和误差rresult=inputdlg({'请选择实验,若选3.1,请输入1,否则输入2:'},'charpt_3',1,{'1'}); Nb=str2num(char(result));if((Nb~=1)&(Nb~=2)) errordlg('实验选择错误!'); return; endx0=-1:0.5:2;y0=[-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552];n=3;%n为拟合阶次if Nb==1alph=polyfit(x0,y0,n);y=polyval(alph,x0);r=(y0-y) * (y0-y)';%平方误差x=-1:0.01:2;y=polyval(alph,x);plot(x,y,'k--');xlabel('x'); ylabel('y0 * and polyfit.y--');hold onplot(x0,y0,'*');title('离散数据的多项式拟合');grid on;elseresult=inputdlg({'请输入权向量w:'},'charpt_3',1,{'[1 1 1 1 1 1 1]'});w=str2num(char(result));[a,b,c,alph,r]=dlsa(x0,y0,w,n);enddisp(['平方误差:',sprintf('%g',r)]);disp(['参数alph:', sprintf('%g\t',alph)])function [a,b,c,alph,r]=dlsa(x,y,w,n)%功能:用正交化方法对离散数据作多项式最小二乘拟合。

%输入:m+1个离散点(x,y,w),x,y,w分别用行向量给出。

% 拟合多项式的次数n,0〈n<m。

%输出:三项递推公式的参数a,b,拟合多项式s(x)的系数c和alph,% 平方误差r=(y-s,y-s),并作离散点列和拟合曲线的图形m=length(x)-1;if (n<1|n>=m) errordlg('错误:n<1或者n>=m!'); return;end%求三项递推公式的参数a,b,拟合多项式s(x)的系数c,其中d(k)=(y,sk);s1=0;s2=ones(1,m+1);v2=sum(w);d(1)=y*w';c(1)=d(1)/v2;for k=1:nxs=x.*s2.^2*w';a(k)=xs/v2;if k==1 b(k)=0;else b(k)=v2/v1;ends3=(x-a(k)).*s2-b(k)*s1;v3=s3.^2*w';d(k+1)=y.*s3*w';c(k+1)=d(k+1)/v3;s1=s2;s2=s3;v1=v2;v2=v3;end%求平方误差rr=y.^2*w'-c*d';%求拟合多项式s(x)的降幂系数alphalph=zeros(1,n+1); T=zeros(n+1,n+2);T(:,2)=ones(n+1,1); T(2,3)=-a(1);if n>=2for k=3:n+1for i=3:k+1T(k,i)=T(k-1,i)-a(k-1)*T(k-1,i-1)-b(k-1)*T(k-2,i-2);endendendfor i=1:n+1for k=i:n+1alph(n+2-i)=alph(n+2-i)+c(k)*T(k,k+2-i);endend%用秦九韶方法计算s(x)的输出序列(t,s)xmin=min(x); xmax=max(x); dx=(xmax-xmin)/(25*m);t=(xmin-dx):dx:(xmax+dx);s=alph(1);for k=2:n+1s=s.*t+alph(k);end%输出点列x-y和拟合曲线t-s的图形plot(t,s,'-',x,y,'*');title('离散数据的正交化多项式拟合');xlabel('x');ylabel('y');grid on;试验5.1 常微分方程性态和R-K 法稳定性试验实验目的:考察下面微分方程右端项中函数y 前面的参数对方程性态的影响(它可使方程为好条件的或坏条件的)和研究计算步长对R-K 法计算稳定性的影响。

相关文档
最新文档