文档库 最新最全的文档下载
当前位置:文档库 › 数值分析上机题4-5章

数值分析上机题4-5章

数值分析上机题4-5章
数值分析上机题4-5章

数值分析上机报告

姓名:徐敬梁

学号:220141447(A)

院系:自动化

第五章

一.重积分的计算

(1) 给定积分()((,)),d b

c a I f f x y dx dy =蝌取初始步长h 和k 及精度e ,应用复化梯形

公式,采用逐次二分步长的方法并应用外推思想编制计算()I f 的通用程序,计算至相邻两次近似值之差的绝对值不超过e 为止;

(2) 用所编程序计算积分226300()(tan())I f x y dx dy p p =+蝌取51102

e -= 二.主程序

%Get the approximation of a double integral of f(x,y)

%on a rectangular region R={(x,y)|a<=x<=b,c<=y<=d}

%with given step m=(b-a)/h and n=(d-c)/k

%and given error epsilon

Function[bestres,res]=getDoubleIntegral(f,a,b,c,d,m,n,epsilon);

Res=[];

Count=1;

Res(count,1)=getT(f,a,b,c,d,2^count*m,2^count*n);

Count=2;

Res(count,1)=getT(f,a,b,c,d,2^count*m,2^count*n);

Res(count-1,2)=4/3*res(count,1)-1/3*res(count-1,1);

Res1=res(1,1);

Res2=res(2,1);

Co=[4/3-1/3;16/15-1/15;64/63-1/63];

While abs(res1-res2)>epsilon

Count=count+1;

Res(count,1)=get(f,a,b,c,d,2^count*m,2^count*n);

For I =1:size(co,1)

If count >1

Res(count-i,i+1)=co(i,1)*res(count-i+1,i)+co(i,2)*res(count-I,i);

End

End

I=size(co,1);

While size(res,1)-i-1<0

i=i-1

end

res1=res(count-I,i);

res2=res(count-i+1,i);

bestres=res2;

end

end

%Get approximation of a double integral of f(x,y)

%on a rectangular region R={(x,y)|a<=x<=b,c<=y<=d}

%with given steps m=(b-a/h and n=(d-c)/k)

%using The Composite Trapezoid Rule

Function res=get(f,a,b,c,d,m,n)

h=(b-a)/m;

k=(d-c)/n;

x=a+(0:m)*h;

y=c+(0:n)*k;

res=0;

for i=1:m

for j=1:n

res=res+h*k/4*(f(x(i),y(j))+f(x(i),y(j+1))+f(x(i+1),y(j))+f(x(i+1),y(j+1)));

end

end

end

function exp5

f=@myfun;

a=0;

b=pi/6;

c=0;

d=pi/3;

m=1;

n=1;

epsilon=0.5e-5;

[bestres,res]=getDoubleIntegral(f,a,b,c,d,m,n,epsilon);

fprintf(‘===================================\n’)

fprintf(‘Result is %0.7f,detail:\n’,bestres)

fprintf(‘===================================\n’)

fprintf(‘k\t\t\t2^k\t\t\tT(2^k)\t\t\ts(2^k)\t\t\tC(2^k)\t\t\tR(2^k)\n’) fprintf(‘===================================\n’)

for k=1:size(res,1)

fprintf(‘%i\t%10.0f’,k,2^k);

str=’’

for i=1:size(res,1)-k+1

if i<=size(res,2)

str=sprint(‘%s\t\t %0.7f’,str,res(k,i));

end

end

fprintf(‘%s\n’,str);

end

fprintf(‘==============================\n’)

end

function res =myfun(s,y)

res=tan(x^2+y^2);

end

三.运行结果

Result is 0.3365205,detail;

K 2^k T(2^k) s(2^k) C(2^k) R(2^k)

1 2 0.5197965 0.3440324 0.3373933 0.3365797

2 4 0.3879734 0.337808

3 0.336592

4 0.3365227

3 8 0.3503495 0.336668

4 0.3365238 0.3365205

4 16 0.3400887 0.3365328 0.3365205

5 32 0.3374218 0.3365213

6 64 0.3367464

东南大学数值分析上机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-21222N S N +++=,计算N S 的通用 程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222-++--+ -=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-21222N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 2 22 -++--+-= N N S N function sn2=fromsmall(n) %从小到大计算sn2 format long ; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203()

clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

数值分析上机作业

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

课题八曲线拟合的最小二乘法 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量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、 分别用不动点迭代与Newton 法求解方程250x x e -+=的正根与负根。 2、 Use each of the following methods to find a solution in [0.1,1] accurate to within 10^-4 for 4326005502002010x x x x -+--= a. Bisection method b. Newton’s method c. Secant method d. Method of False Position e. Muller’s method 3、 应用Newton 法求f (x )的零点,e=10^-6,这里f (x )=x-sin (x )。 再用求重根的两种方法求f (x )的零点。 4、 应用Newton 法求f (x )的零点,e=10^-6,f(x)=x-sin(x) 再用Steffensen’s method 加速其收敛。 5、 用Neville’s 迭代差值算法,对于函数2 1 (),11125f x x x = -≤≤+进行lagrange 插值。取不同的等分数n=5,10,将区间[-1,1]n 等分,取等距节点。把f(x)和插值多项式的曲线画在同一张图上进行比较。 6、 画狗的轮廓图 7、 Use Romberg integration to compute the following approximations to ? a 、 Determine R1,1,R2,1,R3,1,R4,1and R5,1,and use these approximations to predict the value of the integral. b 、 Determine R2,2 ,R3,3 ,R4,4 ,and R5,5,and modify your prediction. c 、 Determine R6,1 ,R6,2 ,R6,3 ,R6,4 ,R6,5 and R6,6,and modify your prediction.

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

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程序

数值分析上机题目详解

第一章 一、题目 设∑ =-= N N j S 2 j 2 1 1,其精确值为)11 123(21+--N N 。 1) 编制按从大到小的顺序1 1 13112122 2-+??+-+-=N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 N=input('Please Input an N (N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); Sn1=single(0); for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('The value of Sn (N=%d)\n',N); fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2); disp('____________________________________________________')

三、结果 从结果可以看出有效位数是6位。 感想:可以得出,算法对误差的传播有一定的影响,在计算时选一种好的算法可以使结果更为精确。从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数所得到的结果才比较准确。

第五章习题解答_数值分析

第五章习题解答 1、给出数据点:0134 19156 i i x y =?? =? (1)用012,,x x x 构造二次Lagrange 插值多项式2()L x ,并计算15.x =的近似值215(.)L 。 (2)用123,,x x x 构造二次Newton 插值多项式2()N x ,并计算15.x =的近似值215(.)N 。 (3)用事后误差估计方法估计215(.)L 、215(.)N 的误差。 解: (1)利用012013,,x x x ===,0121915,,y y y ===作Lagrange 插值函数 2 20 2 1303011915 01031013303152933 ()()()()()() ()()()()()()()() i i i x x x x x x L x l x y x x =------== ?+?+?-------++= ∑ 代入可得2151175(.).L =。 (2)利用 134,,x x x ===,9156,,y y y ===构造如下差商表: 229314134196()()()()()N x x x x x x =+-+---=-+- 代入可得215135(.).N =。 (3)用事后误差估计的方法可得误差为 ()()()02222 03-x 150 x x x -=117513506563-04.()()()(..).x f L R L x N x x x --≈= -≈- ()()()3222203-154 x x -=1175135-1.0938-04 .()()()(..)x x f N R x L x N x x x --≈=-≈- 2、设Lagrange 插值基函数是 0012()(,,,,)n j i j i j j i x x l x i n x x =≠-==-∏ 试证明:①对x ?,有 1()n i i l x ==∑ ②00110001211()()(,,,)()()n k i i i n n k l x k n x x x k n =?=?==??-=+? ∑ 其中01,,,n x x x 为互异的插值节点。 证明: ①由Lagrange 插值多项式的误差表达式10 1()()()()()!n n i i f R x x x n ξ+==-+∏知,对于函数1()f x =进行

数值分析作业思考题汇总

¥ 数值分析思考题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;

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

东南大学《数值分析》-上机题

数值分析上机题1 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序22 21111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 程序代码(matlab 编程): clc clear a=single(1./([2:10^7].^2-1)); S1(1)=single(0); S1(2)=1/(2^2-1); for N=3:10^2 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); end end S2(1)=single(0); S2(2)=1/(2^2-1); for N=3:10^2 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); end end S1表示按从大到小的顺序的S N S2表示按从小到大的顺序的S N 计算结果

通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

数值分析上机作业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 ε或其他形式,实验中又有怎样的现象出现?

数值分析上机题参考答案.docx

如有帮助欢迎下载支持 数值分析上机题 姓名:陈作添 学号: 040816 习题 1 20.(上机题)舍入误差与有效数 N 1 1 3 1 1 设 S N ,其精确值为 。 2 2 2 N N 1 j 2 j 1 (1)编制按从大到小的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 32 1 N 2 1 N 2 2 (2)编制按从小到大的顺序 1 1 1 ,计算 S 的通用程序。 S N 1 (N 1)2 1 22 1 N N 2 (3)按两种顺序分别计算 S 102 , S 104 , S 106 ,并指出有效位数。 (编制程序时用单精度) (4)通过本上机题,你明白了什么? 按从大到小的顺序计算 S N 的通用程序为: 按从小到大的顺序计算 S N 的通用程序为: #include #include float sum(float N) float sum(float N) { { float j,s,sum=0; float j,s,sum=0; for(j=2;j<=N;j++) for(j=N;j>=2;j--) { { s=1/(j*j-1); s=1/(j*j-1); sum+=s; sum+=s; } } return sum; return sum; } } 从大到小的顺序的值 从小到大的顺序的值 精确值 有效位数 从大到小 从小到大 0.740049 0.74005 0.740049 6 5 S 102 0.749852 0.7499 0.7499 4 4 S 104 0.749852 0.749999 0.749999 3 6 S 106 通过本上机题, 看出按两种不同的顺序计算的结果是不相同的, 按从大到小的顺序计算 的值与精确值有较大的误差, 而按从小到大的顺序计算的值与精确值吻合。 从大到小的顺序 计算得到的结果的有效位数少。 计算机在进行数值计算时会出现“大数吃小数”的现象,导 致计算结果的精度有所降低, 我们在计算机中进行同号数的加法时, 采用绝对值较小者先加 的算法,其结果的相对误差较小。

《数值分析》第五章答案

习题5 1.导出如下3个求积公式,并给出截断误差的表达式。 (1) 左矩形公式:?-≈b a a b a f dx x f ))(()( (2) 右矩形公式:))(()(a b b f dx x f b a -≈? (3) 中矩形公式:?-+≈b a a b b a f dx x f ))(2 ( )( 解:(1) )()(a f x f ≈, )()()()(a b a f dx a f dx x f b a b a -=≈?? (2) )()(b f x f ≈,??-=≈b a b a a b a f dx b f dx x f ))(()()( )()(2 1)()()()(2 ηηξf a b dx b x f dx b x f b a b a '--=-'=-'=??,),(,b a ∈ηξ (3) 法1 )2 ( )(b a f x f +≈ , 法2 可以验证所给公式具有1次代数精度。作一次多项式 )(x H 满足 )2()2( b a f b a H +=+,)2 ()2(b a f b a H +'=+',则有 2 )2 )((!21)()(b a x f x H x f +-''= -ξ, ),(b a ∈ξ 于是 2.考察下列求积公式具有几次代数精度: (1) ?'+ ≈1 )1(2 1 )0()(f f dx x f ; (2) )3 1()31()(1 1f f dx x f +- ≈?-。 解: (1)当1)(=x f 时,左=1,右=1+0=1,左=右; 当x x f =)(时,左21= ,右=2 1 210=+,左=右; 当2 )(x x f =时,左=3 1 ,右=1,左≠右,代数精度为1。

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

研究生《数值分析》课程作业(二) 姓名: 学号: 专业: 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、试用数据表建立不超过次的埃尔米特插值多项式。 解:(用重节点的均差表建立埃尔米特多项式)

数值分析上机题(matlab版)(东南大学)

数值分析上机题(matlab版)(东南大学)

数值分析上机报告

第一章 一、题目 精确值为)1 1 123(21+--N N 。 1) 编制按从大到小的顺序 1 1 131121222-+??+-+-= N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序 1 21 1)1(111222-+??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算6 42 10,10, 10S S S ,并指出有效位 数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 clear N=input('Please Input an N (N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); Sn1=single(0); for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('The value of Sn using different algorithms (N=%d)\n',N); disp('____________________________________________________') fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2);

数值分析第五章学习小结【计算方法】

第五章最小二乘法与曲线拟合小结 一、本章知识梳理 1、 从整体上考虑近似函数同所给数据点 (i=0,1,…,m)误差 (i=0,1,…,m) (i=0,1,…,m)绝对值的最大值,即误差向量 的∞—范数;二是误差绝对值的和,即误差向量r的1—范数;三是误差 平方和的算术平方根,即误差向量r的2—范数;前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合 中常采用误差平方和来度量误差 (i=0,1,…,m)的整体大小。 数据拟合的具体作法是:对给定数据 (i=0,1,…,m),在取定的函 数类中,求,使误差(i=0,1,…,m)的平方和最小,即 从几何意义上讲,就是寻求与给定点 (i=0,1,…,m)的距离平方和为最小 的曲线(图6-1)。函数称为拟合函数或最小二乘解,求拟合 函数的方法称为曲线拟合的最小二乘法。 2、多项式拟合 假设给定数据点 (i=0,1,…,m),为所有次数不超过的多项式构成的函数类,现求一,使得 (1) 当拟合函数为多项式时,称为多项式拟合,满足式(1)的称为最小二乘 拟合多项式。特别地,当n=1时,称为线性拟合或直线拟合。 显然 为的多元函数,因此上述问题即为求的极值问题。由多元函数求极值的必要条件,得 (2) 即

(3) (3)是关于的线性方程组,用矩阵表示为 (4) 式(3)或式(4)称为正规方程组或法方程组。 可以证明,方程组(4)的系数矩阵是一个对称正定矩阵,故存在唯一解。 从式(4)中解出 (k=0,1,…,n),从而可得多项式 (5) 可以证明,式(5)中的满足式(1),即为所求的拟合多项式。我 们把称为最小二乘拟合多项式的平方误差,记作 由式(2)可得 (6) 多项式拟合的一般方法可归纳为以下几步: (1) 由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数n; (2) 列表计算和; (3) 写出正规方程组,求出; (4) 写出拟合多项式。 在实际应用中,或;当时所得的拟合多项式就是拉格朗日或牛 顿插值多项式。 3、曲线拟合: 曲线拟合,即把一组数据拟合为曲线,需遵循最小二乘法。常用双曲线型和指数型函数。

数值分析上机题参考答案

如有帮助欢迎下载支持 数值分析上机题 姓名:陈作添 学号:040816 习题1 20.(上机题)舍入误差与有效数 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序2 22 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序2221111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 按从大到小的顺序计算N S 的通用程序为: #include float sum(float N) { float j,s,sum=0; for(j=2;j<=N;j++) { s=1/(j*j-1); sum+=s; } return sum; } 按从小到大的顺序计算N S 的通用程序为: #include float sum(float N) { float j,s,sum=0; for(j=N;j>=2;j--) { s=1/(j*j-1); sum+=s; } return sum; } 从大到小的顺序的值 从小到大的顺序的值 精确值 有效位数 从大到小 从小到大 210S 0.740049 0.74005 0.740049 6 5 410S 0.749852 0.7499 0.7499 4 4 610S 0.749852 0.749999 0.749999 3 6 通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

数值分析 第五章习题

第五章 习 题 1. 用高斯消去法解方程组 123234011921261x x x ????????????=??????????????????? 2. 用LU 分解,将第1题中的系数矩阵分解为L 和U 的乘积,L 是对角线元素为1的下三角矩阵,U 是上三角矩阵. 3. 用平方根法和T LDL 分解为求解方程组 123121332522334x x x x x x x ++=??+=??+=? 4. 证明 (1)两个下三角矩阵的乘积仍为下三角矩阵. (2)下三角矩阵之逆仍为下三角矩阵. 5. 用列主元素消去法解方程组 1231231 233472212320x x x x x x x x x ?+=???+?=?????=? 取4位数字计算. 6. 对四阶Hilbert 矩阵为系数的方程组 12341234 1234 12341111 234111102345111103456111104 567x x x x x x x x x x x x x x x x ?+++=???+++=???+++=???+++=? 试求其系数方程组A 的条件数()cond A ∞并分析方程组的性态。 7. 如果A 是一个对称正定矩阵,且带宽为21m +,证明在A 的三角分解T A LL =中出现的矩阵L 也是带状矩阵. 8. 设有三对角方程组

11121 2122232 b x c x d a x b x c x d +=+++= (121111) 1n n n n n n n n n n n n a x b x c x d a x b x d ???????++=+= 其系数矩阵有严格对角优势. 试写出用LU 分解求其解的计算公式. 9. 画出2R 中满足下列不等式的集合. (1)11x ≤ (2)21x ≤ (3)1x ∞≤ 10. 求证1I ≥,11A A ?≥. 11. 试证明2 21A A A ∞≤ 12. 对矩阵 2100121001210012A ????????=???????? 求A ∞,2A ,1A 和2()Cond A . 13. 比较下面两个方程组的解. 123123123111 2311102341110345x x x x x x x x x ?++=???++=???++=?? ,1231231231.000.500.3310.500.330.2500.330.250.200x x x x x x x x x ++=??++=??++=?

数值分析第五章答案

数值分析第五章答案 【篇一:数值分析第五版计算实习题】 第二章 2-1 程序: clear;clc; x1=[0.2 0.4 0.6 0.8 1.0]; y1=[0.98 0.92 0.81 0.64 0.38]; n=length(y1); c=y1(:); or j=2:n %求差商 for i=n:-1:j c(i)=(c(i)-c(i-1))/(x1(i)-x1(i-j+1)); end end syms x df d; df(1)=1;d(1)=y1(1); for i=2:n %求牛顿差值多项式 df(i)=df(i-1)*(x-x1(i-1)); d(i)=c(i)*df(i); end disp(4次牛顿插值多项式); p4=vpa(collect((sum(d))),5) %p4即为4次牛顿插值多项式,并保留小数点后5位数 pp=csape(x1,y1, variational);%调用三次样条函数 q=pp.coefs; disp(三次样条函数); for i=1:4 s=q(i,:)*[(x-x1(i))^3;(x-x1(i))^2;(x-x1(i));1]; s=vpa(collect(s),5) end x2=0.2:0.08:1.08; dot=[1 2 11 12]; figure ezplot(p4,[0.2,1.08]); hold on y2=fnval(pp,x2); x=x2(dot);

y3=eval(p4); y4=fnval(pp,x2(dot)); plot(x2,y2,r,x2(dot),y3,b*,x2(dot),y4,co); title(4次牛顿插值及三次样条); 结果如下: 4次牛顿插值多项式 p4 = - 0.52083*x^4 + 0.83333*x^3 - 1.1042*x^2 + 0.19167*x + 0.98 三次样条函数 x∈[0.2,0.4]时, s = - 1.3393*x^3 + 0.80357*x^2 - 0.40714*x + 1.04 x∈[0.4,0.6]时,s = 0.44643*x^3 - 1.3393*x^2 + 0.45*x + 0.92571 x∈[0.6,0.8]时,s = - 1.6964*x^3 + 2.5179*x^2 - 1.8643*x + 1.3886 x∈[0.8,1.0]时,s =2.5893*x^3 - 7.7679*x^2 + 6.3643*x - 0.80571 输出图如下 2-3(1) 程序: clear; clc; x1=[0 1 4 9 16 25 36 49 64]; y1=[0 1 2 3 4 5 6 7 8];%插值点 n=length(y1); a=ones(n,2); a(:,2)=-x1; c=1; for i=1:n c=conv(c,a(i,:)); end q=zeros(n,n); r=zeros(n,n+1); for i=1:n [q(i,:),r(i,:)]=deconv(c,a(i,:));%wn+1/(x-xk) end dw=zeros(1,n); for i=1:n dw(i)=y1(i)/polyval(q(i,:),x1(i));%系数 end p=dw*q; syms x l8; for i=1:n

相关文档
相关文档 最新文档