数值分析上机作业1-1解析

数值分析上机作业1-1解析
数值分析上机作业1-1解析

数值计算方法上机题目1

1、实验1. 病态问题

实验目的:

算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。

数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。

问题提出:

考虑一个高次的代数多项式

∏=-=

---=20

1)()20)...(2)(1()(k k x x x x x p (E1-1)

显然该多项式的全部根为l ,2,…,20,共计20个,且每个根都是单重的(也称为简

单的)。现考虑该多项式方程的一个扰动

0)(19=+x x p ε (E1-2) 其中ε是一个非常小的数。这相当于是对(E1-1)中19

x 的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。

实验内容:

为了实现方便,我们先介绍两个 Matlab 函数:“roots ”和“poly ”,输入函数

u =roots (a )

其中若变量a 存储1+n 维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,...,,+n a a a ,则输出u 的各分量是多项式方程

0...1121=++++-n n n n a x a x a x a

的全部根,而函数

b=poly(v)

的输出b 是一个n +1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“Poly ”是两个互逆的运算函数.

ve=zeros(1,21); ve(2)=ess;

roots(poly(1:20))+ve)

上述简单的Matlab 程序便得到(E1-2)的全部根,程序中的“ess ”即是(E1-2)中的ε。 实验要求:

(1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数ε很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何?

(2)将方程(E1-2)中的扰动项改成18

x ε或其他形式,实验中又有怎样的现象出现?

实验步骤:

(1)程序

function t_charpt1_1

clc

result=inputdlg({'请输入扰动项:在[0 20]之间的整数:'},'charpt

1_1',1,{'19'});

Numb=str2num(char(result));

if((Numb>20)|(Numb<0))errordlg('请输入正确的扰动项:[0 20]之间的整

数!');return;end

result=inputdlg({'请输入(0 1)之间的扰动常数:'},'charpt

1_1',1,{'0.00001'});

ess=str2num(char(result));

ve=zeros(1,21);

ve(21-Numb)=ess;

root=roots(poly(1:20)+ve);

x0=real(root); y0=imag(root);

plot(x0',y0', '*');

disp(['对扰动项 ',num2str(Numb),'加扰动',num2str(ess),'得到的全部根

为:']);

disp(num2str(root));

二、实验结果分析

ess分别为1e-6,1e-8.1e-10,1e-12.

对扰动项19加扰动1e-006得到的全部根为:

21.3025+1.56717i 21.3025-1.56717i 18.5028+3.6004i 18.5028-3.6004i 15.1651+3.76125i 15.1651-3.76125i 12.4866+2.88278i 12.4866-2.88278i 10.5225+1.71959i 10.5225-1.71959i 9.04485+0.594589i 9.04485-0.594589i 7.9489+0i 7.00247+0i 5.99995+0i 5+0i 4+0i 3+0i 2+0i 1+0i 对扰动项19加扰动1e-010得到的全部根为:

19.9953+0i 19.0323+0i 17.8696+0i 17.2186+0i

15.4988+0.0211828i 15.4988-0.0211828i 13.7707+0i 13.1598+0i

11.9343+0i 11.029+0i 9.99073+0i 9.00247+0i 7.99952+0i 7.00007+0i 5.99999+0i 5+0i 4+0i 3+0i 2+0i 1+0i ess分别为1e-6,1e-8.1e-10,1e-12的图像如下:

从实验的图形中可以看出,当ess 充分小时,方程E.1.1和方程E.1.2的解相差很小,当ess 逐渐增大时,方程的解就出现了病态解,这些解都呈现复共轭性质。

(2) 将扰动项加到x 18上后,ess=1e-009时方程的解都比较准确,没有出现复共轭现象。ess=1e-008时误差与x 19(ess=1e-009)时相当,即扰动加到x 18上比加到x 19小一个数量级。对x 8的扰动ess=1000时没有出现复共轭,误差很小;对x 的扰动ess=10e10时没有出现复共轭,误差很小。因此,扰动作用到x n 上时,n 越小,扰动引起的误差越小。

2、实验2。多项式插值的振荡现象,即插值的龙格(Runge )现象

问题提出:

考虑在一个固定的区间上用插值逼近一个函数。显然,拉格朗日插值中使用的节点越多,插值多项式的次数就越高、自然关心插值多项式的次数增加时,)(x L n 是否也更加靠近被逼近的函数。龙格给出的一个例子是极著名并富有启发性的。设区间]1,1[-上函数

2

2511

)(x x f +=

实验内容:

考虑区间]1,1[-的一个等距划分,分点为

n i n

i

x i ,...,2,1,0,21=+

-= 则拉格朗日插值多项式为

=+=n

i i

i

n x l x x L 02)(2511

)( 其中的)(x l i ,n i ,...,2,1,0=是n 次拉格朗日插值基函数。 实验要求:

(l )选择不断增大的分点数目,...3,2=n ,画出原函数)(x f 及插值多项式函数)(x L n 在

]1,1[-上的图像,比较并分析实验结果。

(2)选择其他的函数,例如定义在区间[-5,5]上的函数

x x g x x

x h arctan )(,1)(4

=+= 重复上述的实验看其结果如何。

(3)区间],[b a 上切比雪夫点的定义为

1,...,2,1,)1(2()12(cos 22+=???

? ??+--++=

n k n k a

b a b x k π 以121,...,,+n x x x 为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果。 实验步骤:

(1) 试验程序:

function y=Lagrange(x0, y0, x); % Lagrange 插值

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 ~= k)

p = p*(z - x0(j))/(x0(k) - x0(j)); end end

s = s + p*y0(k); end y(i) = s; end

function t_charpt2

promps = {'请选择实验函数,若选f(x),请输入f,若选h(x),请输入h,若选g(x),请输入g:'};

titles = 'charpt_2';

result = inputdlg(promps,'charpt 2',1,{'f'}); Nb_f = char(result);

if (Nb_f ~= 'f' & Nb_f ~= 'h' & Nb_f ~= 'g')errordlg('实验函数选择错误!');return ;end

result = inputdlg({'请输入插值结点数N:'},'charpt_2',1,{'10'}); Nd = str2num(char(result));

if (Nd <1)errordlg('结点输入错误!');return ;end

switch Nb_f

case'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;

end

x0 = linspace(a, b, Nd+1); y0 = feval(f, x0);

x = a:0.1:b; y = Lagrange(x0, y0, x);

fplot(f, [a b], 'co');

hold on;

plot(x, y, 'b--');

xlabel('x'); ylabel('y = f(x) o and y = Ln(x)--');

增大分点n=2,3,…时,拉格朗日插值函数曲线如图所示。

n=3 n=6

n=7 n=8

从图中可以看出,随着n的增大,拉格朗日插值函数在x=0附近较好地逼近了原来的函数f(x),但是却在两端x= -1和x=1处出现了很大的振荡现象。通过分析图形,可以看出,当n为奇数时,虽然有振荡,但振荡的幅度不算太大,n为偶数时,其振荡幅度变得很大。

(2)将原来的f(x)换为其他函数如h(x)、g(x),结果如图所示。其中h(x), g(x)均定义在[-5,5]区间上,h(x)=x/(1+x4),g(x)=arctan x。

h(x), n=7 h(x), n=8

h(x), n=9 h(x), n=10

g(x), n=8 g(x), n=9

g(x), n=12 g(x), n=13

分析两个函数的插值图形,可以看出:

随着n的增大,拉格朗日插值函数在x=0附近较好地逼近了原来的函数f(x),但是却在两端x= -5和x=5处出现了很大的振荡现象。通过图形可以看出,当n为偶数时,虽然有振荡,但振荡的幅度不算太大,n为奇数时,其振荡幅度变得很大。原因和上面f(x)的插值类似,h(x)、g(x)本身是奇函数,如果n为偶数,那么Lagrange插值函数L n(x)的最高次项x n-1是奇次幂,比较符合h(x)、g(x)本身是奇函数的性质;如果n为奇数,那么Lagrange插值函数L n(x)的最高次项x n-1是偶次幂,与h(x)、g(x)本身是奇函数的性质相反,因此振荡可能更

剧烈。

3、实验3。样条插值的收敛性

问题提出:

一般的多项式插值不能保证收敛性,即插值的节点多,效果不一定就好。对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,也超出了本课程的内容。通过本实验可以验证这一理论结果。

实验内容:

请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验2.中的函数或选择其它你有兴趣的函数,可以用Matab的函数“sp line”作此函数的三次样条插值。在较新版本的Matlab中,还提供有spline工具箱,你可以找到极丰富的样条工具,包括B-样条。

实验要求:

(1)随节点个数增加,比较被逼近函数和样条插值函数误差变化情况。分析所得结果并与拉格朗目多项式插值比较。

(2)样条插值的思想最早产生于工业部门。作为工业应用的例子,考虑如下问题:某汽车制造商用三次样条插值设计车门的曲线,其中一段的数据如下:

x0 1 2 3 4 5 6 7 8 9 10 k

y0.0 0.79 1.53 2.19 2.71 3.03 3.27 2.89 3.06 3.19 3.29 k

'

y0.8 0.2 k

实验步骤:

(1)程序:

function t_charpt2

promps = {'请选择实验函数,若选f(x),请输入f,若选h(x),请输入h,若选g(x),请输入g:'};

titles = 'charpt_2';

result = inputdlg(promps,'charpt 2',1,{'f'});

Nb_f = char(result);

if(Nb_f ~= 'f' & Nb_f ~= 'h' & Nb_f ~= 'g')errordlg('实验函数选择错误!');return;end

result = inputdlg({'请输入插值结点数N:'},'charpt_2',1,{'10'});

Nd = str2num(char(result));

if(Nd <1)errordlg('结点输入错误!');return;end

switch Nb_f

case'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;

end

x0 = linspace(a, b, Nd+1); y0 = feval(f, x0);

x = a:0.1:b;

cs = spline(x0, y0); y = ppval(cs, x);

plot(x0, y0, 'o'); hold on; plot(x, y, 'k-');

xlabel('x'); ylabel('y = f(x) o and y = Spline(x)-');

实验结果:

如图所示。

f(x), n=5 n=10 n=20

h(x), n=5 h(x), n=10 n=20

g(x), n=5 n=10 n=20 图中可以看出,由于其采用了分段三次多项式拟合的方法,随着三次样条插值的插值结点的增加,并没有出现振荡现象。

(2)程序:

x0=0:10;

y0=[0.0 0.79 1.53 2.19 2.71 3.03 3.27 2.89 3.06 3.19 3.29];

x=0:0.1:10;

pp=csape(x0,y0,'complete',[0.8 0.2]);

y = ppval(pp, x);

plot(x0, y0, 'o'); hold on; plot(x, y, 'k-');

xlabel('x'); ylabel('y = f(x) o and y = Spline(x)-');

车门的曲线如下图:

数值分析上机作业

昆明理工大学工科研究生《数值分析》上机实验 学院:材料科学与工程学院 专业:材料物理与化学 学号:2011230024 姓名: 郑录 任课教师:胡杰

P277-E1 1.已知矩阵A= 10787 7565 86109 75910 ?? ?? ?? ?? ?? ??,B= 23456 44567 03678 00289 00010 ?? ?? ?? ?? ?? ?? ?? ?? ,错误!未找到引用源。 = 11/21/31/41/51/6 1/21/31/41/51/61/7 1/31/41/51/61/71/8 1/41/51/61/71/81/9 1/51/61/71/81/91/10 1/61/71/81/91/101/11?????????????????? (1)用MA TLAB函数“eig”求矩阵全部特征值。 (2)用基本QR算法求全部特征值(可用MA TLAB函数“qr”实现矩阵的QR分解)。解:MA TLAB程序如下: 求矩阵A的特征值: clear; A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10]; E=eig(A) 输出结果: 求矩阵B的特征值: clear; B=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0]; E=eig(B) 输出结果:

求矩阵错误!未找到引用源。的特征值: clear; 错误!未找到引用源。=[1 1/2 1/3 1/4 1/5 1/6; 1/2 1/3 1/4 1/5 1/6 1/7; 1/3 1/4 1/5 1/6 1/7 1/8; 1/4 1/5 1/6 1/7 1/8 1/9;1/5 1/6 1/7 1/8 1/9 1/10; 1/6 1/7 1/8 1/9 1/10 1/11]; E=eig(错误!未找到引用源。) 输出结果: (2)A= 10 7877565861097 5 9 10 第一步:A0=hess(A);[Q0,R0]=qr(A0);A1=R0*Q0 返回得到: 第二部:[Q1,R1]=qr(A1);A2=R1*Q1

数值分析上机作业

数值分析上机实验报告 选题:曲线拟合的最小二乘法 指导老师: 专业: 学号: 姓名:

课题八曲线拟合的最小二乘法 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t 的拟合曲线。 二、要求 1、用最小二乘法进行曲线拟合; 2、近似解析表达式为()33221t a t a t a t ++=?; 3、打印出拟合函数()t ?,并打印出()j t ?与()j t y 的误差,12,,2,1 =j ; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、*绘制出曲线拟合图*。 三、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。 四、计算公式 对于给定的测量数据(x i ,f i )(i=1,2,…,n ),设函数分布为 ∑==m j j j x a x y 0)()(? 特别的,取)(x j ?为多项式 j j x x =)(? (j=0, 1,…,m )

则根据最小二乘法原理,可以构造泛函 ∑∑==-=n i m j i j j i m x a f a a a H 1 10))((),,,(? 令 0=??k a H (k=0, 1,…,m ) 则可以得到法方程 ???? ??????? ?=????????????????????????),(),(),(),(),(),(),(),(),(),(),(),(1010101111000100m m m m m m m m f f f a a a ????????????????????? 求该解方程组,则可以得到解m a a a ,,,10 ,因此可得到数据的最小二乘解 ∑=≈m j j j x a x f 0)()(? 曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。 五、结构程序设计 在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数polyfit ,并且依次调用了plot 、figure 、hold on 函数进行图象的绘制,最后调用了一个绝对值函数abs 用于计算拟合函数与原有数据的误差,进行拟合效果的比较。

最新应用数值分析第四版第一章课后作业答案

第一章 1、 在下列各对数中,x 是精确值 a 的近似值。 3 .14,7/100)4(143 .0,7/1)2(0031 .0,1000/)3(1 .3,)1(========x a x a x a x a ππ 试估计x 的绝对误差和相对误差。 解:(1)0132.00416 .01.3≈= ≈-= -=a e e x a e r π (2)0011.00143 .0143.07/1≈= ≈-=-=a e e x a e r (3)0127.000004 .00031.01000/≈= ≈-=-=a e e x a e r π (4)001.00143 .03.147/100≈= ≈-=-=a e e x a e r 2. 已知四个数:x 1=26.3,x 2=0.0250, x 3= 134.25,x 4=0.001。试估计各近似数的有效位数和误差限,并估计运算μ1= x 1 x 2 x 3和μ1= x 3 x 4 /x 1的相对误差限。 解:x 1=26.3 n=3 δx 1=0.05 δr x 1=δx 1/∣x 1∣=0.19011×10-2 x 2=0.0250 n=3 δx 2=0.00005 δr x 2=δx 2/∣x 2∣=0.2×10-2 x 3= 134.25 n=5 δx 3=0.005 δr x 3=δx 3/∣x 3∣=0.372×10 -4 x 4=0.001 n=1 δx 4=0.0005 δr x 4=δx 4/∣x 4∣=0.5 由公式:e r (μ)= e (μ)/∣μ∣≦1/∣μ∣Σn i=1∣?f/?x i ∣δx i e r (μ1)≦1/∣μ1∣[x 2 x 3δx 1+ x 1 x 3δx 2 +x 1 x 2δx 3] =0.34468/88.269275 =0.0039049 e r (μ2)≦1/∣μ2∣[x 3 x 4/ x 21δx 1+ x 4/ x 1δx 3 + x 3 / x 1δx 4] =0.501937 3、设精确数a>0,x 是a的近似值,x 的相对误差限是0.2,求㏑x 的相对误差限。 解:设=()u f x , ()()()()() ()||||||||||()||()|| | |()||()||||r r r x e u df x e x df x e x e u u dx u dx u x df x x df x x e x x dx u dx u δ= ≈==≤ ()||10.2 (())| |()||ln ln ln r r r r df x x x x f x x x dx u x x x x δδδδ==??==

东南大学数值分析上机作业汇总

东南大学数值分析上机作业 汇总 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

数值分析上机报告 院系: 学号: 姓名:

目录 作业1、舍入误差与有效数 (1) 1、函数文件cxdd.m (1) 2、函数文件cddx.m (1) 3、两种方法有效位数对比 (1) 4、心得 (2) 作业2、Newton迭代法 (2) 1、通用程序函数文件 (3) 2、局部收敛性 (4) (1)最大δ值文件 (4) (2)验证局部收敛性 (4) 3、心得 (6) 作业3、列主元素Gauss消去法 (7) 1、列主元Gauss消去法的通用程序 (7) 2、解题中线性方程组 (7) 3、心得 (9) 作业4、三次样条插值函数 (10) 1、第一型三次样条插值函数通用程序: (10) 2、数据输入及计算结果 (12)

作业1、舍入误差与有效数 设∑ =-=N j N j S 2 2 11 ,其精确值为?? ? ??---1112321N N . (1)编制按从小到大的顺序1 1 131121222-? ??+-+-=N S N ,计算N S 的通用程序; (2)编制按从大到小的顺序()1 21 11111222-???+--+-=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算642101010,,S S S ,并指出有效位数; (4)通过本上机你明白了什么? 程序: 1、函数文件cxdd.m function S=cxdd(N) S=0; i=2.0; while (i<=N) S=S+1.0/(i*i-1); i=i+1; end script 运行结果(省略>>): S=cxdd(80) S= 0.737577 2、函数文件cddx.m function S=cddx (N) S=0; for i=N:-1:2 S=S+1/(i*i-1); end script 运行结果(省略>>): S=cddx(80) S= 0.737577 3、两种方法有效位数对比

数值分析上机题课后作业全部-东南大学

2015.1.9 上机作业题报告 USER

1.Chapter1 1.1题目 设S N = 1 j 2?1 N j =2 ,其精确值为 )1 1123(21+--N N 。 (1)编制按从大到小的顺序1 1 1311212 22-+??+-+-=N S N ,计算S N 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 1.2程序 1.3运行结果

1.4结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2.Chapter2 2.1题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321= *=*-=*x x x ○1由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收敛于根x2*。试确定尽可能大的δ。 ○2试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 2.2程序

Matlab作业3(数值分析)答案

Matlab作业3(数值分析) 机电工程学院(院、系)专业班组 学号姓名实验日期教师评定 1.计算多项式乘法(x2+2x+2)(x2+5x+4)。 答: 2. (1)将(x-6)(x-3)(x-8)展开为系数多项式的形式。(2)求解在x=8时多项 式(x-1)(x-2) (x-3)(x-4)的值。 答:(1) (2)

3. y=sin(x),x从0到2π,?x=0.02π,求y的最大值、最小值、均值和标准差。 4.设x=[0.00.30.8 1.1 1.6 2.3]',y=[0.500.82 1.14 1.25 1.35 1.40]',试求二次多项式拟合系数,并据此计算x1=[0.9 1.2]时对应的y1。解:x=[0.0 0.3 0.8 1.1 1.6 2.3]'; %输入变量数据x y=[0.50 0.82 1.14 1.25 1.35 1.40]'; %输入变量数据y p=polyfit(x,y,2) %对x,y用二次多项式拟合,得到系数p x1=[0.9 1.2]; %输入点x1 y1=polyval(p,x1) %估计x1处对应的y1 p = -0.2387 0.9191 0.5318 y1 = a) 1.2909

5.实验数据处理:已知某压力传感器的测试数据如下表 p为压力值,u为电压值,试用多项式 d cp bp ap p u+ + + =2 3 ) ( 来拟 合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。解: >> p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9]; u=[10,11,13,14,17,18,22,24,29,34,39]; x=polyfit(p,u,3) %得多项式系数 t=linspace(0,10,100); y=polyval(x,t); %求多项式得值 plot(p,u,'*',t,y,'r') %画拟和曲线 x = 0.0195 -0.0412 1.4469 9.8267

数值分析第一章绪论习题答案

第一章绪论 1.设0x >,x 的相对误差为δ,求ln x 的误差。 解:近似值* x 的相对误差为* **** r e x x e x x δ-= == 而ln x 的误差为()1ln *ln *ln ** e x x x e x =-≈ 进而有(ln *)x εδ≈ 2.设x 的相对误差为2%,求n x 的相对误差。 解:设()n f 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题所给的数。 解:

*4 1* 3 2* 13* 3 4* 1 51()1021()1021()1021()1021()102 x x x x x εεεεε-----=?=?=?=?=? *** 124***1244333 (1)()()()() 1111010102221.0510x x x x x x εεεε----++=++=?+?+?=? *** 123*********123231132143 (2)() ()()() 111 1.10210.031100.031385.610 1.1021385.610222 0.215 x x x x x x x x x x x x εεεε---=++=???+???+???≈ ** 24**** 24422 *4 33 5 (3)(/) ()() 11 0.0311056.430102256.43056.430 10x x x x x x x εεε---+≈ ??+??= ?= 5计算球体积要使相对误差限为1,问度量半径R 时允许的相对误差限是多少? 解:球体体积为34 3 V R π= 则何种函数的条件数为 2 3'4343 p R V R R C V R ππ=== (*)(*)3(*)r p r r V C R R εεε∴≈= 又(*)1r V ε=

数值分析作业思考题汇总

¥ 数值分析思考题1 1、讨论绝对误差(限)、相对误差(限)与有效数字之间的关系。 2、相对误差在什么情况下可以用下式代替 3、查阅何谓问题的“病态性”,并区分与“数值稳定性”的不同点。 4、取 ,计算 ,下列方法中哪种最好为什么(1)(3 3-,(2)(2 7-,(3) ()3 1 3+ ,(4) ()6 1 1 ,(5)99- , 数值实验 数值实验综述:线性代数方程组的解法是一切科学计算的基础与核心问题。求解方法大致可分为直接法和迭代法两大类。直接法——指在没有舍入误差的情况下经过有限次运算可求得方程组的精确解的方法,因此也称为精确法。当系数矩阵是方的、稠密的、无任何特殊结构的中小规模线性方程组时,Gauss消去法是目前最基本和常用的方法。如若系数矩阵具有某种特殊形式,则为了尽可能地减少计算量与存储量,需采用其他专门的方法来求解。 Gauss消去等同于矩阵的三角分解,但它存在潜在的不稳定性,故需要选主元素。对正定对称矩阵,采用平方根方法无需选主元。方程组的性态与方程组的条件数有关,对于病态的方程组必须采用特殊的方法进行求解。 数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 $ r e x x e x x ** * ** - == 141 . ≈)61

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

数值分析第一章作业

西安邮电大学2018级工硕学位课 数值分析第一章作业 1.数值计算方法设计的基本手段是( ). (A) 近似 (B) 插值 (C) 拟合 (D) 迭代 2.为了在有限时间内得到结果,用有限过程取代无限过程所产生的近似解与精确解之间的误差称为( ). (A) 舍入误差 (B) 截断误差 (C) 测量误差 (D) 绝对误差 3.由于计算机的字长有限,原始数据在机器内的表示以及进行算术运算所产生的误差统称为( ). (A) 舍入误差 (B) 截断误差 (C) 相对误差 (D) 绝对误差 4.数值计算方法研究的核心问题可以概括为( )对计算结果的影响. (A) 算法的稳定性 (B) 算法的收敛性 (C) 算法的复杂性 (D) 近似 5.当N 充分大时,利用下列各式计算121N N dx I x +=+?,等式( )得到的结果最好. (A) arctan(1)arctan()I N N =+- (B) 2arctan(1)I N N =++ (C) 21arctan()1I N N =++ (D) 211I N =+ 6. 计算61), 1.4≈,利用下列哪个公式得到的结果最好?为什么? (B) 3(3- (D) 99-7.计算圆柱体的体积,已知底面半径r 及圆柱高h 的相对误差限均不超过5110-?,则计算所得体积的相对误差限如何估计?. 8.已知近似值0.500x *=的误差限*4()510x ε-≤?,32()21f x x x x =---. ①用秦九韶算法计算()f x *. ②求(())f x ε*,并说明x *及()f x *各有几位有效数字. 9. 分析算法011111,,32,1,2,,k k k y y y y y k +-?==???=-=? 的数值稳定性.

高等数值分析上机作业

高等数值分析上机作业

目录 上机作业1 (1) 上机作业2 (5) 上机作业3 (10) 上机作业4 (13) 上机作业5 (16) 上机作业6 (19) 上机作业7 (20) 上机作业8 (29)

第8章 函数逼近与曲线拟合 上机作业1: 最佳平方逼近 8-11.设()[]1,1,arcsin -∈=x x x f , (1) 在{}32,,,1x x x span =φ中求()x f 的最佳平方逼近多项式; (2) 在{})(),(),(),(3210x T x T x T x T span =φ中求()x f 的最佳平方逼近多项式。 解:(1) 基于幂函数的最佳平方逼近 简单原理: 对于],[)(b a C x f ∈及一个线性无关函数组的集合 {}],,[)(,),(),(10b a C x x x span n ?=???φ 若存在,φ∈*S 使得 ()dx x S x f x x S x f x S x f b a x S x S ?-=-=-∈∈* 2)(2 2)(2 2 )]()([min )()(min )()(ρφ φ ,则称()x S *是 ()x f 在子集[]b a ,?φ中的最佳平方逼近函数。 取(),,,1,0,n j x x j j ==?就有{}n x x x span ,,,,12 =φ。对于任意的()φ∈x S ,有()∑==n j j j x a x S 0,()x S 为次数n ≤的多项式。 令)(x f 在},,,1{32x x x span =φ中的最佳平方逼近函数为 φ∈+++=3 *2**1*0*3 2)(x a x a x a a x S 通过求解法方程 ???? ? ? ? ??=??????? ????????? ??),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),() ,(321032103323130 3322212023121110130201000????????????????????????????????????f f f f a a a a 其中.arcsin )(,)(,)(,)(,1)(332210x x f x x x x x x x =====????

数值分析上机作业1-1

数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出: 考虑一个高次的代数多项式 ∏=-= ---=20 1)()20)...(2)(1()(k k x x x x x p (E1-1) 显然该多项式的全部根为l ,2,…,20,共计20个,且每个根都是单重的(也称为简 单的)。现考虑该多项式方程的一个扰动 0)(19 =+x x p ε (E1-2) 其中ε是一个非常小的数。这相当于是对(E1-1)中19 x 的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。 实验内容: 为了实现方便,我们先介绍两个 Matlab 函数:“roots ”和“poly ”,输入函数 u =roots (a ) 其中若变量a 存储1+n 维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,...,,+n a a a ,则输出u 的各分量是多项式方程 0...1121=++++-n n n n a x a x a x a 的全部根,而函数 b=poly(v) 的输出b 是一个n +1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“Poly ”是两个互逆的运算函数. ve=zeros(1,21); ve(2)=ess; roots(poly(1:20))+ve) 上述简单的Matlab 程序便得到(E1-2)的全部根,程序中的“ess ”即是(E1-2)中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数ε很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何? (2)将方程(E1-2)中的扰动项改成18 x ε或其他形式,实验中又有怎样的现象出现?

数值分析第一章作业

数值分析第一章作业 1.数值计算方法设计的基本手段是( ). (A) 近似 (B) 插值 (C) 拟合 (D) 迭代 2.为了在有限时间内得到结果,用有限过程取代无限过程所产生的近似解与精确解之间的误差称为( ). (A) 舍入误差 (B) 截断误差 (C) 测量误差 (D) 绝对误差 3.由于计算机的字长有限,原始数据在机器内的表示以及进行算术运算所产生的误差统称为( ). (A) 舍入误差 (B) 截断误差 (C) 相对误差 (D) 绝对误差 4.数值计算方法研究的核心问题可以概括为( )对计算结果的影响. (A) 算法的稳定性 (B) 算法的收敛性 (C) 算法的复杂性 (D) 近似 5.当充分大时,利用下列各式计算N 121N N dx I x +=+∫,等式( )得到的结果最好. (A) arctan(1)arctan()I N =+?N (B) 2arctan(1)I N N =++ (C) 21arctan(1I N N =++ (D) 211I N =+ 6.计算61)?,取 1.4≈,利用下列哪个公式得到的结果最好?为什么? 3(3? (D) 99? 7.计算球体的体积,已知半径的相对误差限不超过3310?×,则计算所得体积的相对误差限如何估计? 8.设,近似值0x >*x 的相对误差限为δ,试估计*ln x 的误差限. 9.计算圆柱体的体积,已知底面半径及圆柱高的相对误差限均不超过r h δ,则计算所得体积的相对误差限如何估计?. 10.用秦九韶算法求32()431f x x x x =?+?在2x =处的值. 11.已知近似值的误差限1.0000x ?=4()110x ε??=×,21()16 f x x = ,求(())f x ε?,并说明x ?及()f x ?的各有几位有效数字. 12.设为非零常数,已知a 0y 的近似值0y ?,由递推式1n n y ay ?=计算序列{}n y 的近似值,分析该算法的稳定性.

数值分析作业

第二章 1. 题目:运用MATLAB编程实现牛顿迭代 2. 实验操作 1、打开MATLAB程序软件。 2、在MATLAB中编辑如下的M程序。 function [p1,err,k,y]=newton(f,df,p0,delta,max) %f 是要求根的方程(f(x)=0); %df 是f(x)的导数; %p0是所给初值,位于x*附近; %delta是给定允许误差; %max是迭代的最大次数; %p1是newton法求得的方程的近似解; %err是p0的误差估计; %k是迭代次数; p0 for k=1:max p1=p0-feval('f',p0)/feval('df',p0); err=abs(p1-p0); p0=p1; k p1 err y=feval('f',p1) if (err> newton('f','df',1.2,10^(-6),20) 3.实验结果

p0 = 1.2000 k =1 p1=1.1030 err=0.0970 y=0.0329 k= 2 p1=1.0524 err=0.0507 y=0.0084 k =3 p1=1.0264 err=0.0260 y=0.0021 k =4 p1=1.0133 err=0.0131 y=5.2963e-004 k =5 p1=1.0066 err=0.0066 y=1.3270e-004 k =6 p1=1.0033 err=0.0033 y=3.3211e-005 k =7 p1=1.0017 err=0.0017 y=8.3074e-006 k =8 p1=1.0008 err=8.3157e-004 y = 2.0774e-006 k =9 p1=1.0004 err=4.1596e-004 y =5.1943e-007 k=10 p1=1.0002 err=2.0802e-004 y= 1.2987e-007 k=11 p1=1.0001 err=1.0402e-004 y =3.2468e-008 k=12 p1=1.0001 err=5.2014e-005 y=8.1170e-009 k=13 p1=1.0000 err=2.6008e-005 y= 2.0293e-009 k=14 p1=1.0000 err=1.3004e-005 y=5.0732e-010 k=15 p1 =1.0000 err=6.5020e-006 y=1.2683e-010 k=16 p1 =1.0000 err=3.2510e-006 y=3.1708e-011 k=17 p1 =1.0000 err=1.6255e-006 y =7.9272e-012 k=18 p1 =1.0000 err =8.1279e-007 y= 1.9820e-012 ans = 1.0000 结果说明:经过18次迭代得到精确解为1,误差为8.1279e-007。

研究生《数值分析》课程作业(二) (含答案)

研究生《数值分析》课程作业(二) 姓名: 学号: 专业: 1、据如下函数值表,建立二次的Lagrange 插值多项式及Newton 插值多项式。 20012222()()()()()()() (1)(2)(0)(2)(-0)(1)59 3143 (01)(02)(10)(12(20)(21)22 L x f x l x f x l x f x l x x x x x x x x x =++-----=? +?+?=-+------解: 二次 l agr ange插值 ) Newton 插值多项式: 200100120122()()[,](-)[,,](-)(-) 5559 32(0)(0)(1)32()3 2222 N x f x f x x x x f x x x x x x x x x x x x x x x =++=-?-+--=-+-=-+ ()y f x =2、已知单调连续函数在如下采样点处的函数值 *()0[2,4],f x x =求方程在内根的近似值使误差尽可能小。 解:1 ()()y f x x f y -==解: 对的反函数进行二次插值

1110201122012010210122021(0)(0)(0)(0)(0)(0) (0)() ()() ()()()()()() (0 2.25)(05)(03)(05)(03)(0 2.25) 2 3.54( 3 2.25)(35)(2.253)(2.255)(53)(5 2.25) y y y y y y L f y f y f y y y y y y y y y y y y y ---------=++--------+-+-=? +?+? ----+-+- 2.945 ≈()(1)01(1)1()[,]()(,),()[,],() ()()()() (1)! ,n n n n n n n n f x a b f x a b a x x x b L x x a b f R x f x L x x n a b x ξωξ+++≤<<<≤∈=-=+∈ 3、证明:设在上连续,在内存在,节点是满足拉格朗日插值条件的多项式,则对任何插值余项 这里()且依赖于。 0110101(0,1,,)()()0()()()()()()()()[,]()()()()()()() (),,,(k n n k n n n n n n x k n R x R x R x K x x x x x x x K x x K x x x a b t f t L t K x t x t x t x t x x x x t ωφφφ+===---==----- 证由条件知节点是的零点,即。于是其中是与有关的待定函数。 现把看成上的固定点,作函数 根据插值条件和余项定义,知在点及处均为零。故明:1111)[,]2()[,]1()()[,]()(,)(,),()()(1)!()0 ()()(,),(1)! n n n n a b n t a b n t t a b n t a b a b f n K x f K x a b x n φφφφξφξξξξ++++'+'''+∈=-+==∈+() () ()()在上有个零点,根据罗尔定理,在内至少有个零点。对再应用罗尔定理,可知在内至少 有个零点。依次类推,在上至少有一个零点,记为 使 于是 , 且依赖于于是得到插值余项。 证毕。 44、试用数据表建立不超过次的埃尔米特插值多项式。 解:(用重节点的均差表建立埃尔米特多项式)

数值分析作业题(1)

第一章 误差与算法 1. 误差分为有__模型误差___, _观测误差___, __方法误差____, ___舍入误差____, Taylor 展开式近似表达函数产生的误差是_方法误差 . 2. 插值余项是插值多项式的 方法误差。 3. 0.2499作为1/4的近似值,有几位有效数字? 00.24990.249910,0m =?=即, 031|0.2499|0.00010.5100.510,34 m n n ---=

该算法是不稳定的。因为: 1 1()()...(1)!()n n n I n I n I εεε-=-==- 111n n I I n n -= -, 10110I = 5. 衡量算法优劣的指标有__时间复杂度,__空间复杂度_. 6. 时间复杂度是指:.算法需耗费时间的度量, 两个n 阶矩阵相乘的 乘法次数是 3n , 则称两个n 阶矩阵相乘这一问题的时间复杂度为3()O n . 二 代数插值 1.根据下表数据建立不超过二次的Lagrange 和Newton 插值多项式,并写出误差估计式,以及验证插值多项式的唯一性。 x 0 1 4 f(x) 1 9 3 Lagrange: 设0120120,1,4;()1()9()3x x x f x f x f x ======则,, 对应i x 的标准基函数)(x l i 为: 1200102 ()()(1)(x 4)1()(1)(x 4)()()(01)(04)4x x x x x l x x x x x x ----===------ 1()...l x = 2()...l x = 因此,所求插值多项式为:

数值分析上机第四次作业

数值分析上机第四次作业 实验项目:共轭梯度法求解对称正定的线性方程组 实验内容:用共轭梯度法求解下面方程组 (1) 123421003131020141100155x x x x -?????? ? ? ?--- ? ? ?= ? ? ?-- ? ? ?-???? ?? 迭代20次或满足()(1) 1110k k x x --∞-<时停止计算。 (2) Ax b =,A 是1000阶的Hilbert 矩阵或如下的三对角矩阵, A[i,i]=4,A[i,i-1]=A[i-1,i]=-1,i=2,3,..,n b[1]=3, b[n]=3, b[i]=2,i=2,3,…,n-1 迭代10000次或满足()()710k k r b Ax -=-≤时停止计算。 (3)*考虑模型问题,方程为 222222(),(,)(0,1)(0,1)(0,)1,(1,),01(,0)1,(,1),01 xy y x u u x y e x y D x y u y u y e y u x u x e x ??+=+∈=???==≤≤==≤≤ 用正方形网格离散化,若取1/,10h N N ==,得到100n =的线性方程组,并用共轭梯度法(CG 法)求解,并对解作图。 实验要求:迭代初值可以取01(,1,...,)ij u i j N ==,计算到32||||10k r -≤停止.本 题有精确解(,)xy u x y e =,这里k u 表示以k ij u 为分量的向量, u 表示在相应点(,)i j 上取值作为分量的向量. 实验一: (1) 编制函数子程序CGmethod 。 function [x,k]=CGmethod(A,b) n=length(A);x=zeros(n,1);r=b-A*x;rho=r'*r; k=0; while rho>10^(-12) & k<20 k=k+1; if k==1 p=r; else beta=rho/rho1; p=r+beta*p; end

常州大学数值分析第一章习题解答

1.1解: m=3; f=@(x)digit(digit(x^4,m)- digit(x^3,m)+ digit(3*x^2,m)+ digit(x-2,m),m); g=@(x)digit(digit(digit( digit(digit(digit( (x-1)*x,m)+3,m)*x,m)+1,m)*x,m)-2,m); f(3.33) g(3.33) 有ans = 121 ans =121 实际上,当m=2时,就可以看出这两种算法在计算的精确度上的区别: m=2; f=@(x)digit(digit(x^4,m)- digit(x^3,m)+ digit(3*x^2,m)+ digit(x-2,m),m); g=@(x)digit(digit(digit( digit(digit(digit( (x-1)*x,m)+3,m)*x,m)+1,m)*x,m)-2,m); f(3.33) g(3.33) 有ans = 120 ans =130,可以看出,两者在计算精度上的不同区别,数学上恒等,在数值上不一定恒等。 1.2解: (1)精确到小数点后第三位,故有4位有效数字 (2)精确到小数点后第三位,故有2位有效数字 (3)精确到小数点后第三位,故有0位有效数字 1.3 解; 记圆的面积为S,由题意有|e(S)|≤1%。由S=πr2知:dS=2πrdr所以 dS/S=(2πrdr)/(πr2)=2(dr/r) ∴|e(r)|≈1/2|e(S)|≤0.5×1%=0.5% 1.4 解: 由题有:|e(x)|≤1/2×10^-2 ; |e(y)|≤1/2×10^-2; |e(z)||≤1/2×10^-2 ∴|e(S)|≈|xe(x)+ye(y)|+ |ze(z)|^2≈x|e(x)|+y|e(y)|+z^2|z(z)|^2≤4.21×0.005+1.79×1.005+2.11×2.11×0.005^2=0.03≤1/2×10^-1 又S=4.21*1.79+2.11^2=11.988 ∴S至少具有3位有效数字。 在字长为3的计算机上运行,误差为: S1=4.21*1.79+2.11; S2=digit(digit(4.21*1.79,3)+digit(2.11^2,3),3); err=S1-S2 err = -2.3541 1.6 解: clc disp('Please input the coefficients of'); disp('quadratic equation ax^2+bx+c=0, respectively') a=input('a='); b=input('b='); c=input('c='); m=4; % m-digit rounding arithmetic

数值分析作业题(1)

第一章 误差与算法 1. 误差分为有__模型误差___, _观测误差___, __方法误差____,___舍入误差____, Taylor 展开式近似表达函数产生的误差是_方法误差 . 2. 插值余项是插值多项式的 方法误差。 3. 0.2499作为1/4的近似值,有几位有效数字? 00.24990.249910,0m =?=即, 031 |0.2499|0.00010.5100.510,34 m n n ---=

1 1()()...(1)!()n n n I n I n I εεε-=-==- 111n n I I n n -=-, 10110I = 5. 衡量算法优劣的指标有__时间复杂度,__空间复杂度_. 6. 时间复杂度是指:.算法需耗费时间的度量, 两个n 阶矩阵相乘的乘法次数是 3n , 则称两个n 阶矩阵相乘这一问题的时间复杂 度为3()O n . 二 代数插值 1.根据下表数据建立不超过二次的Lagrange 和Newton 插值多项式,并写出误差估计式,以及验证插值多项式的唯一性。 x 0 1 4 f(x) 1 9 3 Lagrange: 设0120120,1,4;()1()9()3x x x f x f x f x ======则,, 对应i x 的标准基函数)(x l i 为: 1200102 ()()(1)(x 4)1 ()(1)(x 4)()()(01)(04)4x x x x x l x x x x x x ----===------ 1()...l x = 2()...l x = 因此,所求插值多项式为: 2 20 ()()()....i i i P x f x l x ===∑

相关文档
最新文档