东南大学数值分析精选上机作业汇总精选doc.docx

上传人:b****2 文档编号:2184835 上传时间:2022-10-27 格式:DOCX 页数:20 大小:21.51KB
下载 相关 举报
东南大学数值分析精选上机作业汇总精选doc.docx_第1页
第1页 / 共20页
东南大学数值分析精选上机作业汇总精选doc.docx_第2页
第2页 / 共20页
东南大学数值分析精选上机作业汇总精选doc.docx_第3页
第3页 / 共20页
东南大学数值分析精选上机作业汇总精选doc.docx_第4页
第4页 / 共20页
东南大学数值分析精选上机作业汇总精选doc.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

东南大学数值分析精选上机作业汇总精选doc.docx

《东南大学数值分析精选上机作业汇总精选doc.docx》由会员分享,可在线阅读,更多相关《东南大学数值分析精选上机作业汇总精选doc.docx(20页珍藏版)》请在冰豆网上搜索。

东南大学数值分析精选上机作业汇总精选doc.docx

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

 

数值分析

上机报告

 

院系:

 

学号:

姓名:

 

作业1、舍入误差与有效数1

 

1、函数文件cxdd.m1

 

2、函数文件cddx.m1

 

3、两种方法有效位数对比1

 

4、心得2

 

作业2、Newton迭代法2

 

1、通用程序函数文件2

 

2、局部收敛性3

 

(1)最大δ值文件3

 

(2)验证局部收敛性4

 

3、心得5

 

作业3、列主元素Gauss消去法6

 

1、列主元Gauss消去法的通用程序6

 

2、解题中线性方程组6

 

3、心得8

 

作业4、三次样条插值函数8

 

1、第一型三次样条插值函数通用程序:

8

 

2、数据输入及计算结果10

 

作业1、舍入误差与有效数

 

N

1

1

3

1

1

设SN

,其精确值为

.

j2

j2

1

2

2

N

N1

(1)编制按从小到大的顺序

SN

1

1

1

,计算SN的通用程序;

22

1

32

1

N2

1

(2)编制按从大到小的顺序

SN

1

1

1

,计算SN的通用

N

2

1

N

12

1

22

1

程序;

(3)按两种顺序分别计算S102,S104,S106,并指出有效位数;

 

(4)通过本上机你明白了什么?

 

程序:

1、函数文件cxdd.m

functionS=cxdd(N)

S=0;

i=2.0;

while(i<=N)

S=S+1.0/(i*i-1);

i=i+1;

end

 

2、函数文件cddx.m

functionS=cddx(N)

S=0;

fori=N:

-1:

2

S=S+1/(i*i-1);

end

 

3、两种方法有效位数对比

精确值函数:

functionS=jqz(N)S=0.5*(1.5-1.0/N-1.0/(N+1));

 

script运行结果(省略>>):

S=cxdd(80)

S=

0.737577

 

script运行结果(省略>>):

S=cddx(80)

S=

0.737577

 

script运行结果(省略>>)

 

1

 

从小到大从大到小

NS精确值

 

100

10000

1000000

有效位数

有效位数

0.740050

0.740050

6

0.740049

6

0.749900

0.749900

4

0.749852

4

0.749999

0.749999

6

0.749852

3

 

4、心得

本题重点体现了数值计算中“大数吃小数”的问题,由于计算机计算的截断

特点,从大到小的计算会导致小数的有效数被忽略掉。

从题中可以看出,看出按不同的顺序计算的结果是不相同的,按从小到大的

顺序计算的值与精确值吻合,而按从大到小的顺序计算的值与精确值有较大的误

差。

计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度

有所降低。

 

作业2、Newton迭代法

 

(1)给定初值x0及容许误差ε,编制Newton法解方程f(x)=0

根的通用程序。

=

=0,x3

=3

(2)给定方程f(x)=x3/3-x=0,易知其有三个根x1

3,x2

①由Newton方法的局部收敛性可知存在

>0,当x0∈(

),Newton

迭代序列收敛于根x2※,试确定尽可能大的

②试取若干个初始值,观察当x0∈(-∞,-1),(-1,

),(

),(

,1),

(1,+∞)时,Newton序列是否收敛以及收敛于哪一个根。

(3)通过本上机题,你明白了什么?

 

1、通用程序函数文件

定义f(x)函数

functionf=fun(x)

f=x^3/3-x;

end

定义f(x)导函数

functionf=dfun(x)

f=x*x-1;

end

 

2

 

定义求近似解函数

function[f,n]=newton(x0,ep)

flag=1;

n=0;

while(flag==1)

x1=x0-fun(x0)/dfun(x0);

n=n+1;

if(abs(x1-x0)<=ep||n>100000)

flag=0;

end

x0=x1;

end

f=x1;

end

 

script运行结果

clear;

x0=input('请输入初始值x0:

');

ep=input('请输入容许误差:

');

[f,n]=newton(x0,ep);

fprintf('方程的一个近似解为:

%f\n',x1);

 

2、局部收敛性

(1)最大δ值文件

flag=1;

k=1;

x0=0;

whileflag==1

sigma=k*10^-6;

x0=sigma;

k=k+1;

m=0;

flag1=1;

whileflag1==1&&m<=10^3

x1=x0-fun(x0)/dfun(x0);

ifabs(x1-x0)<10^-6

flag1=0;

end

m=m+1;

x0=x1;

end

if(flag1==1||abs(x0)>=10^-6)

flag=0;

end

 

3

 

end

fprintf('最大值为:

%f\n',sigma);

运行结果为:

最大值为:

0.774597

即得最大的δ为0.774597,Newton迭代序列收敛于根x2*=0的最大区间为

(-0.774597,0.774597)。

 

(2)验证局部收敛性

在x0∈(-∞,-1)区间,取以下初值,分别调用newton.m函数文件,得到结果如下:

X0

X1

迭代次数

-100

-1.732051

15

-20

-1.732051

11

-5

-1.732051

8

-1.5

-1.732051

5

 

结果显示,以上初值迭代序列均收敛于-1.732051,即根x1*。

 

显然,迭代格式初值的选择对于迭代的收敛速度是至关重要的,当初值接近真实值的时候,迭代次数减少。

 

在x0∈(-1,

)区间,取以下初值,分别调用

newton.m函数文件,得到

结果如下:

X0

X1

迭代次数

-0.95

1.732051

9

-0.85

1.732051

6

-0.80

1.732051

10

-0.78

1.732051

15

 

计算结果显示,迭代序列局部收敛于1.730251,即根x3*。

 

在x0∈(

)区间,取以下初值,分别调用

newton.m函数文件,得到

结果如下:

X0

X1

迭代次数

-0.70

0.000000

5

-0.20

0.000000

3

-0.05

0.000000

3

 

4

 

0.05

0.20

0.70

 

0.0000003

 

0.0000003

0.0000005

 

由newton1.m的运行过程表明,在整个区间上均收敛于0,即根x*2。

 

在x0∈(,1)区间,取以下初值,分别调用newton.m函数文件,得到结果如下:

X0

X1

迭代次数

0.80

-1.732051

10

0.90

-1.732051

7

0.95

-1.732051

9

0.98

-1.732051

12

 

计算结果显示,迭代序列局部收敛于-1.732051,即根x1*。

在x0∈(1,+∞)区间,取以下初值,分别调用newton.m函数文件,得到结果如下:

X0

X1

迭代次数

1.5

1.732051

5

5

1.732051

8

20

1.732051

11

100

1.732051

15

 

结果显示,以上初值迭代序列均收敛于1.732051,即根x3*。

综上所述:

(-∞,-1)区间收敛于-1.73205,(-1,δ)区间局部收敛于1.73205,局部收敛于-1.73205,(-δ,δ)区间收敛于0,(δ,1)区间类似于(-1,δ)区间,(1,∞)收敛于1.73205。

 

3、心得

牛顿迭代法对于初值的选择要求较高,因此,在牛顿迭代时可现通过简单迭代法寻找相对准确一些的值来进行牛顿迭代。

对于方程有多解的问题,Newton法求方程根时,牛顿迭代要考虑局部收敛的问题,迭代序列收敛于某一个根有一定的区间限制,在一个区间上,可能会局部收敛于不同的根。

 

5

 

作业3、列主元素Gauss消去法

 

对于某电路的分析,归结为求解线性方程组

RI=V。

32-13

0

0

0

-10

0

0

0

-13

35

-9

0

-11

0

0

0

0

0

-9

31

-10

0

0

0

0

0

R=0

0

0

-30

57

-7

0

-5

0

0

0

0

0

-7

47

-30

0

0

0

0

0

0

0

-30

41

0

0

0

0

0

0

-5

0

0

27

-2

0

0

0

-9

0

0

0

-2

29

VT=[-15,27,-23,0,-20,12,-7,7,10]T

(1)编制解n阶线性方程组Ax=b的列主元Gauss消去法的通用程序;

(2)用所编程序解线性方程组RI=V,并打印出解向量,保留5位有效数字;

(3)在本编程之中,你提高了那些编程能力。

 

1、列主元Gauss消去法的通用程序

函数:

找每列的主元的函数

functionB=zhuyuan(B,t,N,M)

fori=0:

N-1-t

ifB(N-i,t)>B(N-i-1,t)

c=zeros(1,M);

forj=1:

M

c(j)=B(N-i,j);

B(N-i,j)=B(N-i-1,j);

B(N-i-1,j)=c(j);

end

end

end

进行列消去的函数

functionB=xiaoqu(B,t,N,M)

fori=t+1:

N

l=B(i,t)/B(t,t);

forj=t:

M

B(i,j)=B(i,j)-l*B(t,j);

end

end

进行三角矩阵下的解函数

functionX=jie(X,B,N,M)

 

6

 

fori=1:

N-1

s=B(N-i,M);

f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1