数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx

上传人:wj 文档编号:6869724 上传时间:2023-05-07 格式:DOCX 页数:19 大小:70.83KB
下载 相关 举报
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第1页
第1页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第2页
第2页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第3页
第3页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第4页
第4页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第5页
第5页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第6页
第6页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第7页
第7页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第8页
第8页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第9页
第9页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第10页
第10页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第11页
第11页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第12页
第12页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第13页
第13页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第14页
第14页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第15页
第15页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第16页
第16页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第17页
第17页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第18页
第18页 / 共19页
数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx

《数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。

数值分析上机题课后作业全部-东南大学Word文档下载推荐.docx

从大到小的顺序累加得SN=0.749852

1.3运行结果

从小到大的顺序累加得SN=0.749900

10^6

0.749999

从小到大的顺序累加得SN=0.749999

1.4结果分析

按从大到小的顺序,有效位数分别为:

6,4,3。

按从小到大的顺序,有效位数分别为:

5,6,6。

可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。

当采用从大到小的顺序累加的算法时,误差限随着N的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。

因此,采取从小到大的顺序累加得到的结果更加精确。

2.Chapter2

2.1题目

(1)给定初值及容许误差,编制牛顿法解方程f(x)=0的通用程序。

(2)给定方程,易知其有三个根

由牛顿方法的局部收敛性可知存在当时,Newton迭代序列收敛于根x2*。

试确定尽可能大的δ。

试取若干初始值,观察当时Newton序列的收敛性以及收敛于哪一个根。

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

2.2程序

f(x)函数m文件:

fu.m

functionFu=fu(x)

Fu=x^3/3-x;

f'

(x)函数m文件:

dfu.m

functionFu=dfu(x)

Fu=x^2-1;

用Newton法求根的通用程序Newton.m

x0=input('

请输入初值x0:

ep=input('

请输入容许误差:

flag=1;

whileflag==1

x1=x0-fu(x0)/dfu(x0);

ifabs(x1-x0)<

ep

flag=0;

end

x0=x1;

方程的一个近似解为:

%f\n'

x0);

寻找最大δ值的程序:

Find.m

clear

eps=input('

请输入搜索精度:

请输入容许误差:

k=0;

x0=0;

sigma=k*eps;

x0=sigma;

k=k+1;

m=0;

flag1=1;

whileflag1==1&

&

m<

=10^3

ep

flag1=0;

m=m+1;

x0=x1;

end

ifflag1==1||abs(x0)>

=ep

flag=0;

end

最大的sigma值为:

sigma);

2.3运行结果

(1)寻找最大的δ值。

算法为:

将初值x0在从0开始不断累加搜索精度eps,带入Newton迭代公式,直到求得的根不再收敛于0为止,此时的x0值即为最大的sigma值。

运行Find.m,得到在不同的搜索精度下的最大sigma值。

Find

10^-6

0.774597

10^-4

0.774600

10^-2

0.780000

(2)运行Newton.m

在(-∞,-1)内取初值,运行结果如下:

X0

Xk

-1000

-1.732051

-500

-100

-10

-5

-2.5

-1.5

可见,在(-∞,-1)区间内取初值,Newton序列收敛,且收敛于根-3。

在(-1,-δ)内取初值,运行结果如下:

-0.95

1.732051

-0.85

-0.8

-0.774598

可见,在(-1,-δ)内取初值,Newton序列收敛,且收敛于根3。

在(-δ,δ)内内取初值,运行结果如下:

-0.774596

0.000000

-0.55

-0.35

-0.15

0.05

0.25

0.45

0.65

0.774596

可见,在(-δ,δ)内取初值,Newton序列收敛,且收敛于根0。

在(δ,1)内取初值,运行结果如下:

0.774598

0.8

0.85

0.95

可见,在(δ,1)内取初值,Newton序列收敛,且收敛于根-3

在(1,+∞)内取初值,运行结果如下:

1.5

2.5

5

10

100

500

1000

可见,在(1,+∞)内取初值,Newton序列收敛,且收敛于根3

3.Chapter3

3.1题目

对于某电路的分析,归结为求解线性方程组RI=V,其中

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

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

(3)本题编程之中,你提高了哪些编程能力?

3.2程序

n=input('

请输入线性方程组阶数:

n='

b=zeros(1,n);

A=input('

请输入系数矩阵:

A=\n'

b(1,:

)=input('

请输入线性方程组右端向量:

b=\n'

b=b'

;

C=[A,b];

fori=1:

n-1

[maximum,index]=max(abs(C(i:

n,i)));

index=index+i-1;

T=C(index,:

C(index,:

)=C(i,:

C(i,:

)=T;

fork=i+1:

n

ifC(k,i)~=0

C(k,:

)=C(k,:

)-C(k,i)/C(i,i)*C(i,:

end

%%回代求解

x=zeros(n,1);

x(n)=C(n,n+1)/C(n,n);

fori=n-1:

1

x(i)=(C(i,n+1)-C(i,i+1:

n)*x(i+1:

n,1))/C(i,i);

方程组的解为:

%.5g\n'

x);

3.3运行结果

运行程序,输入系数矩阵和方程组右端列向量。

运行过程与结果如下图所示:

P126T39

n=4

A=

[136.0190.8600;

90.8698.81-67.590;

0-67.59132.0146.26;

0046.26177.17]

b=

[-33.25449.7928.067-7.324]

-2957.4

4426.6

2495

-651.49

n=9

[31-13000-10000;

-1335-90-110000;

0-931-1000000;

00-1079-30000-9;

000-3057-70-50;

0000-747-3000;

00000-304100;

0000-50027-2;

000-9000-229]

[-1527-230-2012-7710]

-0.28923

0.34544

-0.71281

-0.22061

-0.4304

0.15431

-0.057823

0.20105

0.29023

可看出,算得的该线性方程组的解向量为:

[-0.289230.34544-0.71281-0.22061-0.43040.15431-0.0578230.201050.29023]

4.Chapter4

4.1题目

(1)编制求第一型3次样条插值函数的通用程序;

(2)已知汽车门曲线型值点的数据如下:

i

3

4

6

7

8

9

Xi

Yi

2.51

3.30

4.04

4.70

5.22

5.54

5.78

5.40

5.57

5.70

5.80

端点条件为y0'

=0.8,y10'

=0.2,用所编程序求车门的3次样条插值函数S(x),并打印出S(i+0.5),i=0,1,…,9。

4.2程序

digits(6);

请输入节点数:

n='

xn=zeros(1,n);

yn=zeros(1,n);

xn(1,:

请输入节点坐标:

yn(1,:

请输入节点处函数值:

dy0=input('

请输入左边界条件:

y’(x0)='

dyn=input('

请输入右边界条件:

y’(xn)='

%====================求d====================%

d=zeros(n,1);

h=zeros(1,n-1);

f1=zeros(1,n-1);

f2=zeros(1,n-2);

n-1

h(i)=xn(i+1)-xn(i);

f1(i)=(yn(i+1)-yn(i))/h(i);

f2(i)=(f1(i)-f1(i-1))/(xn(i+1)-xn(i-1));

d(i)=6*f2(i);

d(i)=6*(f1

(1)-dy0)/h

(1);

d(n)=6*(dyn-f1(n-1))/h(n-1);

%====================求Mi====================%

A=zeros(n);

miu=zeros(1,n-2);

lamda=zeros(1,n-2);

n-2

miu(i)=h(i)/(h(i)+h(i+1));

lamda(i)=1-miu(i);

A(1,2)=1;

A(n,n-1)=1;

n

A(i,i)=2;

A(i,i-1)=miu(i-1);

A(i,i+1)=lamda(i-1);

M=A\d;

%====================回代求插值函数====================%

symsx;

n-1;

Sx(i)=collect(yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i))*(x-xn(i))+M(i)/2*(x-xn(i))^2+(M(i+1)-M(i))/(6*h(i))*(x-xn(i))^3);

Sx(i)=vpa(Sx(i),6);

S=zeros(1,n-1);

x=xn(i)+0.5;

S(i)=yn(i)+(f1(i)-(M(i)/3+M(i+1)/6)*h(i))*(x-xn(i))+M(i)/2*(x-xn(i))^2+(M(i+1)-M(i))/(6*h(i))*(x-xn(i))^3;

%====================打印结果====================%

S(x)='

formatshort;

fprintf('

%s(%d<

x<

%d)\n'

char(Sx(i)),xn(i),xn(i+1));

disp('

======================================================================'

S(i+0.5)'

ix(i+0.5)S(i+0.5)'

%d%.5f%.5f\n'

i,xn(i)+0.5,S(i));

4.3运行结果

P195T37

n=11

[012345678910]

[2.513.304.044.705.225.545.785.405.575.705.80]

y’(x0)=0.8

y’(xn)=0.2

S(x)=

0.79*x+0.0158344*x^2-0.0158344*x^3+2.51(0<

1)

======================================================================

0.830013*x-0.0241785*x^2-0.00249676*x^3+2.49666(1<

2)

0.809832*x-0.0140879*x^2-0.00417854*x^3+2.51012(2<

3)

0.315407*x^2-0.178653*x-0.0407891*x^3+3.4986(3<

4)

6.9313*x-1.46208*x^2+0.107335*x^3-5.98133(4<

5)

4.1762*x^2-21.2601*x-0.26855*x^3+41.0043(5<

6)

53.8449*x-8.3413*x^2+0.426866*x^3-109.206(6<

7)

6.27011*x^2-48.435*x-0.268915*x^3+129.447(7<

8)

14.4854*x-1.59494*x^2+0.0587951*x^3-38.3403(8<

9)

13.2458*x-1.45831*x^2+0.053735*x^3-34.5615(9<

10)

S(i+0.5)

ix(i+0.5)S(i+0.5)

10.500002.90698

21.500003.67885

32.500004.38136

43.500004.98822

54.500005.38326

65.500005.72372

76.500005.59435

87.500005.43012

98.500005.65892

109.500005.73172

5.Chapter5

5.1题目

用Romberg求积法计算积分

-1111+100x2dx

的近似值,要求误差不超过0.5×

10-7。

5.2程序

%被积函数m文件:

fx.m

functionFx=fx(x)

Fx=1/(1+100*x*x);

%Romberg求积法计算积分的通用程序

functionRomberg()

a=input('

请输入积分下限:

a='

b=input('

请输入积分上限:

b='

请输入允许精度:

eps='

%========计算Tn========%

functionTn=T(n)

Tn=0;

h=(b-a)/n;

x=zeros(1,n+1);

fork=1:

n+1

x(k)=a+(k-1)*h;

forj=1:

Tn=Tn+h*(fx(x(j))+fx(x(j+1)))/2;

%========计算Sn========%

functionSn=S(n)

Sn=4/3*T(2*n)-1/3*T(n);

%========计算Cn========%

functionCn=C(n)

Cn=16/15*S(2*n)-1/15*S(n);

%========计算Rn========%

functionRn=R(n)

Rn=64/63*C(2*n)-1/63*C(n);

%========计算满足允许精度的Rn,并打印输出========%

i=1;

ifabs(R(2^i)-R(2^(i-1)))/255<

eps

flag=0;

i=i+1;

该积分的值为:

R(2^(i-1)));

5.3运行结果

Romberg

a=-1

b=1

eps=0.5*10^-7

0.2942255

5.4结果分析

手动化简该定积分并最终求得的值为:

0.294225534860747,误差限为:

3.486×

10-8,可见,程序完成了计算要求。

6.Chapter6

6.1题目

常微分方程初值问题数值解

(1)编制RK4方法的通用程序;

(2)编制AB4方法的通用程序(由RK4提供初值);

(3)编制AB4-AM4预测校正方法通用程序(由RK4提供初值);

(4)编制带改进的AB4-AM4预测校正方法通用程序(由RK4提供初值);

(5)对于初值问题

y'

=-x2y2y0=3

取步长h=0.1,应用

(1)-(4)中的四种方法进行计算,并将计算结果和精确解yx=3/(1+x3)作比较;

(6)通过本上机题,你能得到哪些结论?

6.2程序

%f(x,y)函

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2