数值分析作业

发布 2022-08-27 20:06:28 阅读 4162

实验报告一。

题目:分析误差的方法与原则。

摘要:用计算机解决实际问题就要先建立数学模型,而模型与实际问题之间会出现误差无可避免。因此在数值分析中除了要研究数学问题的数值方法与理论,还要研究计算结果的误差是否满足精度要求,这就是误差估计问题。

前言:(目的和意义)掌握截断误差与舍入误差。

数学原理:截断误差指数学模型与数值方法之间的误差。由于实际运算只能完成有限步,因此就要用极限的方法对无限过程进行简化,这样产生的误差成为截断误差。

舍入误差指的是由于计算机的位数有限带来的误差称为“舍入误差”,计算机数字位数有限,对数据往往要进行四舍五入取其近似值从而产生误差。

舍入误差是为了计算的方便人为造成的,而截断误差是由于计算方法造成的不可避免的误差。

1.绝对误差:,简称误差。

2. 相对误差:,在实际的计算过程中间,通常取。

3. 相对误差限。

1)计算in=exp(-1) x ^n exp(x)dx x在(0,1)中 (n=0,1,…)并估计误差。

解:由分部积分得in的递推公式 in=1-nin-1(n=1,2,…)程序如下:

i=int('x^0*exp(x-1)',x',0,1)

i =1 - 1/exp(1)

> vpa(i,4)ans =

> i=int('x^1*exp(x-1)',x',0,1)

i =1/exp(1)

>> vpa(i,4)ans =

> i=int('x^2*exp(x-1)',x',0,1)

i =1 - 2/exp(1)

>> vpa(i,4)ans =

> i=int('x^3*exp(x-1)',x',0,1)

i =6/exp(1) -2

>> vpa(i,4)ans =

i=int('x^4*exp(x-1)',x',0,1)

i =9 - 24/exp(1)

>> vpa(i,4)ans =

> i=int('x^5*exp(x-1)',x',0,1)

i =120/exp(1) -44

>> vpa(i,4)ans =

> i=int('x^6*exp(x-1)',x',0,1)

i =265 - 720/exp(1)

>> vpa(i,4)ans =

> i=int('x^7*exp(x-1)',x',0,1)

i =5040/exp(1) -1854

>> vpa(i,4)ans =

> i=int('x^8*exp(x-1)',x',0,1)

i =14833 - 40320/exp(1)

>> vpa(i,4)ans =

> i=int('x^9*exp(x-1)',x',0,1)

i =362880/exp(1) -133496

>> vpa(i,4)ans =

此题迭代到第八步。

例1.4要使√20的近似值的相对误差限小于0.1%,要取几位有效数字?

解:近似数x*,若x*具有n位有效数字,则其相对误差限为,&*1/2a1)*10^-(n-1) 则其至少有n位有效数字。

此题中√20的近似值=4.4…知a1=4,故要取n=4.就有√20的近似值的相对误差限小于0.1%。

其编程如下:

i=sym('20');sqrt(i)ans =

>> vpa(sqrt(i),4)ans =

a0=3,ak=2ak-1,用秦九韶算法求p100(0.5),p150(13)

掌握秦九韶算法的基本原理与应用。

5.秦九韶算法:

程序设计:秦九韶算法的主程序:

function q=**s(n,x)

a(1)=3;

for i=1:n+1

a(i+1)=2.*a(i)+3;

ends1=a(n+1);

for j=1:n

s=x*s1+a(n+1-j);

s1=s;end

q=s;end

结果分析和讨论:

1 已知p[n]x=a[n]x^n+a[n-1]x^(n-1)+.a[1]x+a[0], a[n]=2 a[n-1]+3,a[0]=3,求p100(0.5),p150(13).

解:计算结果为。

**s(100,0.5)ans =

**s(150,13)

ans =1.0995e+213

结论:多项式的求解有多种计算方法,秦九韶算法是一种将一元n次多项式的求值问题转化为n个一次式的算法,一般,一元n次多项式的求值需要经过(n*(n+1))/2次乘法和n次加法,而秦九韶算法只需要n次乘法和n次加法。

实验报告二。

题目: 拉格朗日插值法和牛顿插值法求近视值。

摘要: 许多实际问题都用函数y=f(x)来表示某种内在规律的数量关系,其中一部分函数是通过实验或观测得到的。很多f(x)只能给出[a,b]上的一系列点xi的函数值或者一张函数表,有的函数虽然有解析表达式,但由于计算复杂,我们希望可以根据给定的函数表做一个既能反映函数f(x)的特性,又便于计算的简单函数p(x),用p(x)近似f(x)。

通常选一类简单的函数作为p(x),并使p(xi)=f(xi)对i=1,2,……n成立。由此确定的p(x)就是我们希望的插值函数,此即为插值法。

前言:(目的和意义)掌握lagrange插值算法。

数学原理:拉格朗日插值法n次拉格朗日插值多项式为:ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…ynln(x)

n=1时,称为线性插值,l1(x)=y0(x-x1)/(x0-x1)+ y1(x-x0)/(x1-x0)=y0+(y1-x0)(x-x0)/(x1-x0)

n=2时,称为二次插值或抛物线插值,精度相对较高。

l2(x)=y0(x-x1)(x-x2)/(x0-x1)/(x0-x2)+y1(x-x0)(x-x2)/(x1-x0)/(x1-x2)+y2(x-x0)(x-x1)/(x2-x0)/(x2-x1)

牛顿插值法:

现构造一个插值多项式nn(x),利用牛顿插值公式,增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面nn(x)的各项系数恰好又是各阶差商,而各阶差商可用差商公式来计算。

由线性代数知,对任何一个不高n次的多项式p(x)=b0+b1x+b2x2+…+bnxn (幂基) ①

也可将其写成p(x)=a0+a1(x-x0)+a2(x-x0) (x-x1)+…an(x-x0) …x-xn-1)

其中ai为系数,xi为给定节点,可由①求出ai,一般情况下,牛顿插值多项式nn(x)可写成:

nn(x)= a0+a1(x-x0)+a2(x-x0) (x-x1)+…an(x-x0) …x-xn-1))

线性插值法:

线性插值法:线性插值经常用于已知函数 f 在两点的值要近似获得其它点数值的方法,这种近似方法的误差定义为:

r(t)=f(x)-p(x)

其中 p 表示上面定义的线性插值多项式

根据罗尔定理,我们可以证明:如果 f 有二阶连续导数,那么误差范围是

函数上两点之间的近似随着近似的函数的二阶导数的增大逐渐变差。直观上来看:函数的曲率越大,线性插值近似的误差也越大。

二、主要思路。

使用线性方程组求系数构造插值公式相对复杂,可改用构造方法来插值。

对节点xi(i=0,1,…,n)中任一点xk(0<=k<=n)作一n 次多项式lk(xk),使它在该点上取值为1,而在其余点xi(i=0,1,…,k-1,k+1,…,n)上为0,则插值多项式为ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…ynln(x)

上式表明:n 个点xi(i=0,1,…,k-1,k+1,…,n)都是lk(x)的零点。求得lk

三.计算方法及过程:

拉格朗日插值法)1.输入节点的个数n

2.输入各个节点的横纵坐标。

3.输入插值点。

4.调用函数,返回。

牛顿插值法)1.先后输入节点个数和节点的横纵坐标,插值点的横坐标,最后输入精度。

2. 用do-while循环语句得到跳出循环时k的值。

3.将k值与n-1进行比较,若达到精度时k程序设计:

33.设,给出数据如下, 用线性插值。二次插值。及三次插值计算ln(0.54)的近似值。

解:一次:> x0=[0.4 0.5 0.6 0.7 0.8];

> y0=[-0.916291 -0.693147 -0.510826 -0.356675 -0.223144];

format long

> interp1(x0,y0,0.54)ans =

一次 x0=[0.4 0.5 0.6 0.7 0.8];

y0=[-0.916291 -0.693147 -0.510826 -0.356675 -0.223144];

x=0.54;

> n=length(x0);

s=0;> for j=0:(n-1)

t=1;for i=0:(n-1)

if i~=j

t=t*(x-x0(i+1))/x0(j+1)-x0(i+1));

endend

s=s+t*y0(j+1);ends

s =二次 interp1(x0,y0,0.54,'spline')ans =

解:程序如下:

x0=-5:5;

y0=1./(1+x0.^2);

数值分析作业

12.求在 0,1 上的一次最佳平方逼近多项式与二次最佳平方逼近多项式。函数 function s zjpfbj n,a,b 创建一个函数,里面填入次数,和区间范围。base inline x j 1 x j 定义多项式。quan inline 1 x 权函数。a zeros n 1 y zeros...

数值分析作业

实验2.2算法设计与比较。实验目的 编制不同方法的matlab程序,这些方法的计算效果和特点。问题提出 非线性方程的数值解法很多,不同的方法效果如何,要靠计算的实践来分析 比较。实验内容 考虑下列算法 1 牛顿法 2 弦割法 3 抛物线法。分别编写它们的matlab程序。牛顿法程序 function...

数值分析作业

数值分析上机作业。zhh mushan 班级 土木工程一班。姓名 赵惠惠。班级 2010510359 二零一一年六月 舍入误差与有效数。一 问题说明。1 设,其精确值为。1 编制按从小到大的顺序计算通用程序。2 编制按从小到大的顺序计算通用程序。3 按两种顺序分别计算并指出有效位数。编制程序用单精度...