当前位置:文档之家› 计算方法作业第八章

计算方法作业第八章

计算方法作业第八章
计算方法作业第八章

1. 考虑线性方程组Ax b =,其中系数矩阵和右端向量分别为

2111210,121

..................0121n n n

A b ?-????????--????

????==--????????????-???? 分别采用Jacobi 迭代,Gauss-Seidel 迭代和SOR 迭代法求解,初始向量均取为零向量。 (1) 对三种方法分别进行不同停机标准时迭代次数的比较【绝对误差,相对误差】【残量,

相邻差量,下界估计方式】,误差指标为6

10Tol -=,可采用2范数或无穷范数;

(2) 绘制三种迭代方法的误差下降曲线以及残量的下降曲线(采用对数坐标系); (3) 观测SOR 迭代方法中ω的不同取值对迭代次数的影响,并数值确定最佳opt

ω的值;

(4) 研究三种迭代算法(取最佳因子)的迭代次数与矩阵阶数倒数的关系; (5) 数值估算迭代矩阵的谱半径;

(1) J acobi :

format long

n=input('请输入n 的值:'); A=zeros(n); for i=1:n-1 A(i,i)=2; A(i+1,i)=-1; A(i,i+1)=-1; end A(n,n)=2; b=[1]; for i=1:n-2 b=[b;0]; end b=[b;1];

x0=(linspace(0,0,n))'; tol=10^(-6); A; b; a=[]; for k=1:10000

x=[];

for i=1:n

s=0;

for j=1:n

if j~=i

s=s+A(i,j)*x0(j);

end

end

x(i)=(b(i)-s)/A(i,i);

end

aa=0;

for i=1:n

aa=aa+((x(i)-x0(i))^2);

end

a(k)=sqrt(aa);

if a(k)<=tol%判定系数为a(k)

x

k

break

else

x0=x;

end

end

K=linspace(1,k,k);

figure

semilogy(K,a,'-');

ylabel('误差')

xlabel('迭代次数')

Gauss-Seidel:

format long

n=input('请输入n的值:');

p=input('请选择判定标准代号:(1:相邻差量绝对误差;2:相邻差量相对误差;3:残量绝对误差;4:残量相对误差)');

A=zeros(n);

for i=1:n-1

A(i,i)=2;

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

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

end

A(n,n)=2;

b=[1];

for i=1:n-2

b=[b;0];

end

b=[b;1];

x0=(linspace(0,0,n))';

tol=10^(-6);

A;

b;

%下面采用算法8.2

for k=1:10000

x=[];

s=0;

for j=2:n

s=s+A(1,j)*x0(j);

end

x(1)=(b(1)-s)/A(1,1);

for i=2:n-1

s=0;t=0;

for j=1:i-1

s=s+A(i,j)*x(j);

end

for j=i+1:n

t=t+A(i,j)*x0(j);

end

x(i)=(b(i)-s-t)/A(i,i);

end

s=0;

for j=1:n-1

s=s+A(n,j);

end

x(n)=(b(n)-s)/A(n,n);

a=0;

switch(p)%根据判定标准算判定系数a case 1

for i=1:n

a=a+((x(i)-x0(i))^2);

end

a=sqrt(a);

case 2

xx=0;

for i=1:n

a=a+((x(i)-x0(i))^2);

xx=xx+x(i)^2;

end

a=sqrt(a)/sqrt(xx);

case 3

bb=A*(x)';

for i=1:n

a=a+((bb(i)-b(i))^2);

end

a=sqrt(a);

case 4

bb=A*(x)';

bbb=0;

for i=1:n

a=a+((bb(i)-b(i))^2);

bbb=bbb+bb(i)^2;

end

a=sqrt(a)/sqrt(bbb);

end

if a<=tol

x

k

break

else

x0=x;

end

end

SOR:

format long

n=input('请输入n的值:'); w=input('请输入松弛因子');

p=input('请选择判定标准代号:(1:相邻差量绝对误差;2:相邻差量相对误差;3:残量绝对误差;4:残量相对误差)');

A=zeros(n);

for i=1:n-1

A(i,i)=2;

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

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

end

A(n,n)=2;

b=[1];

for i=1:n-2

b=[b;0];

end

b=[b;1];

x0=(linspace(0,0,n))';

tol=10^(-6);

A;

b;

%下面采用算法8.3

for k=1:10000

x=[];

s=0;

for j=2:n

s=s+A(1,j)*x0(j);

end

x(1)=(1-w)*x0(1)+w*(b(1)-s)/A(1,1);

for i=2:n-1

s=0;t=0;

for j=1:i-1

s=s+A(i,j)*x(j);

end

for j=i+1:n

t=t+A(i,j)*x0(j);

end

x(i)=(1-w)*x0(i)+w*(b(i)-s-t)/A(i,i);

end

s=0;

for j=1:n-1

s=s+A(n,j);

end

x(n)=(1-w)*x0(n)+w*(b(n)-s)/A(n,n); a=0;

switch(p)%根据判定标准算判定系数a case 1

for i=1:n

a=a+((x(i)-x0(i))^2);

end

a=sqrt(a);

case 2

xx=0;

for i=1:n

a=a+((x(i)-x0(i))^2);

xx=xx+x(i)^2;

end

a=sqrt(a)/sqrt(xx);

case 3

bb=A*(x)';

for i=1:n

a=a+((bb(i)-b(i))^2);

end

a=sqrt(a);

case 4

bb=A*(x)';

bbb=0;

for i=1:n

a=a+((bb(i)-b(i))^2);

bbb=bbb+bb(i)^2;

end

a=sqrt(a)/sqrt(bbb);

end

if a<=tol%判定系数为a

x

k

break

else

x0=x;

end

end

当n=20时:

(2)

SOR (n=50,k=520)

Jacobi(n=50 k=4957 )

gauss-seidel(n=50,k=2757)

(3)

的不同取值对迭代次数的影响(n=20)

最佳

opt

为1.73

(4)

Jacobi 迭代,有y=q

bx ,y 为迭代次数,x 为矩阵阶数倒数,a 、b 为常数

gauss-seidel 迭代,有y=q

bx ,y 为迭代次数,x 为矩阵阶数倒数,a 、b 为常数。其中a 与jacobi 迭代几乎相同,但b 较jacobi 小。

SOR迭代,在n<20时迭代次数变化不大,在6、70左右。其后变为bx ,y为迭代次数,x为矩阵阶数倒数,a、b为常数。

y=q

(5)

jacobi迭代矩阵的谱半径:5阶时为0.8660(k大于20时就稳定了)

10阶时为 0.9595(k要取到3000以上)

Gauss-seidel迭代矩阵谱半径:5阶时为0.7500(k要取到约600)

10阶时为0.9206(k要取到5000+)

SOR迭代谱半径:5阶时谱半径为1,(k取到20000以上才能勉强看出端倪) 10阶时当k取比较大是谱半径显示为0不知道为什么。。

30阶时谱半径为0.9281(k大于3000)

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); ( 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公式为

( )] ,(),([2111+++++=n n n n n n y x f y x f h y y ); 10、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 13、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。 14、 用二分法求方程01)(3 =-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间 为 ,1 ,进行两步后根的所在区间为 , 。 15、 、 16、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 ,用辛卜 生公式计算求得的近似值为 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 17、 求解方程组?? ?=+=+042.01532121x x x x 的高斯—塞德尔迭代格式为 ?????-=-=+++20/3/)51()1(1)1(2)(2)1(1 k k k k x x x x ,该迭 代格式的迭代矩阵的谱半径)(M ρ= 121 。 18、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l )2()(1--=x x x l ,)(x f 的二次牛顿 插值多项式为 )1(716)(2-+=x x x x N 。 19、 求积公式 ?∑=≈b a k n k k x f A x x f )(d )(0 的代数精度以( 高斯型 )求积公式为最高,具 有( 12+n )次代数精度。

数值计算方法大作业

目录 第一章非线性方程求根 (3) 1.1迭代法 (3) 1.2牛顿法 (4) 1.3弦截法 (5) 1.4二分法 (6) 第二章插值 (7) 2.1线性插值 (7) 2.2二次插值 (8) 2.3拉格朗日插值 (9) 2.4分段线性插值 (10) 2.5分段二次插值 (11) 第三章数值积分 (13) 3.1复化矩形积分法 (13) 3.2复化梯形积分法 (14) 3.3辛普森积分法 (15) 3.4变步长梯形积分法 (16) 第四章线性方程组数值法 (17) 4.1约当消去法 (17) 4.2高斯消去法 (18) 4.3三角分解法 (20)

4.4雅可比迭代法 (21) 4.5高斯—赛德尔迭代法 (23) 第五章常积分方程数值法 (25) 5.1显示欧拉公式法 (25) 5.2欧拉公式预测校正法 (26) 5.3改进欧拉公式法 (27) 5.4四阶龙格—库塔法 (28)

数值计算方法 第一章非线性方程求根 1.1迭代法 程序代码: Private Sub Command1_Click() x0 = Val(InputBox("请输入初始值x0")) ep = Val(InputBox(请输入误差限ep)) f = 0 While f = 0 X1 = (Exp(2 * x0) - x0) / 5 If Abs(X1 - x0) < ep Then Print X1 f = 1 Else x0 = X1 End If Wend End Sub 例:求f(x)=e2x-6x=0在x=0.5附近的根(ep=10-10)

1.2牛顿法 程序代码: Private Sub Command1_Click() b = Val(InputBox("请输入被开方数x0")) ep = Val(InputBox(请输入误差限ep)) f = 0 While f = 0 X1 = x0 - (x0 ^ 2 - b) / (2 * b) If Abs(X1 - x0) < ep Then Print X1 f = 1 Else x0 = X1 End If Wend End Sub 例:求56的值。(ep=10-10)

计算方法上机作业

计算方法上机报告 姓名: 学号: 班级: 上课班级:

说明: 本次上机实验使用的编程语言是Matlab 语言,编译环境为MATLAB 7.11.0,运行平台为Windows 7。 1. 对以下和式计算: ∑ ∞ ? ?? ??+-+-+-+=0681581482184161n n n n S n ,要求: ① 若只需保留11个有效数字,该如何进行计算; ② 若要保留30个有效数字,则又将如何进行计算; (1) 算法思想 1、根据精度要求估计所加的项数,可以使用后验误差估计,通项为: 1421114 16818485861681 n n n a n n n n n ε??= ---<< ?+++++??; 2、为了保证计算结果的准确性,写程序时,从后向前计算; 3、使用Matlab 时,可以使用以下函数控制位数: digits(位数)或vpa(变量,精度为数) (2)算法结构 1. ;0=s ?? ? ??+-+-+-+= 681581482184161n n n n t n ; 2. for 0,1,2,,n i =??? if 10m t -≤ end; 3. for ,1,2,,0n i i i =--??? ;s s t =+

(3)Matlab源程序 clear; %清除工作空间变量 clc; %清除命令窗口命令 m=input('请输入有效数字的位数m='); %输入有效数字的位数 s=0; for n=0:50 t=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)); if t<=10^(-m) %判断通项与精度的关系break; end end; fprintf('需要将n值加到n=%d\n',n-1); %需要将n值加到的数值 for i=n-1:-1:0 t=(1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)); s=s+t; %求和运算 end s=vpa(s,m) %控制s的精度 (4)结果与分析 当保留11位有效数字时,需要将n值加到n=7, s =3.1415926536; 当保留30位有效数字时,需要将n值加到n=22, s =3.14159265358979323846264338328。 通过上面的实验结果可以看出,通过从后往前计算,这种算法很好的保证了计算结果要求保留的准确数字位数的要求。

数值计算方法思考题

数值计算方法思考题 第一章 预篇 1.什么是数值分析?它与数学科学和计算机的关系如何? 2.何谓算法?如何判断数值算法的优劣? 3.列出科学计算中误差的三个来源,并说出截断误差与舍入误差的区别。 4.什么是绝对误差与相对误差?什么是近似数的有效数字?它与绝对误差和相对误差有何关系? 5.什么是算法的稳定性?如何判断算法稳定?为什么不稳定算法不能使用? 6.判断如下命题是否正确: (1)一个问题的病态性如何,与求解它的算法有关系。 (2)无论问题是否病态,好的算法都会得到好的近似解。 (3)解对数据的微小变化高度敏感是病态的。 (4)高精度运算可以改善问题的病态性。 (5)用一个稳定的算法计算良态问题一定会得到好的近似值。 (6)用一个收敛的迭代法计算良态问题一定会得到好的近似值。 (7)两个相近数相减必然会使有效数字损失。 (8)计算机上将1000个数量级不同的数相加,不管次序如何结果都是一样的。 7.考虑二次代数方程的求解问题 ax 2 + bx + c = 0. 下面的公式是熟知的 a ac b b x 242-±-=. 与之等价地有 ac b b c x 422--= . 对于 a = 1, b = -100 000 000 , c = 1 应当如何选择算法? 8.指数函数有著名的级数展开 ++++=!3!213 2x x x e x 如果对x < 0用上述的级数近似计算指数函数的值,这样的算法结果是否会好?为什么? 9.考虑数列x i , i = 1,…, n , 它的统计平均值定义为 ∑==n i i x x x 1 1 它的标准差

1 12)(11??????--=∑-n i i x x n σ 数学上它等价于 1 12211???????????? ??--=∑=n i i x n x n σ 作为标准差的两种算法,你如何评价它们的得与失? 第二章 非线性方程求根 1.判断如下命题是否正确: (a) 非线性方程的解通常不是唯一的; (b) Newton 法的收敛阶高于割线法; (c) 任何方法的收敛阶都不可能高于Newton 法; (d) Newton 法总是比割线法更节省计算时间; (e) 如果函数的导数难于计算,则应当考虑选择割线法; (f) Newton 法是有可能不收敛; (g) 考虑简单迭代法x k +1 = g (x k ),其中x * = g (x *)。如果| g '(x *) | <1,则对任意的初 始值,上述迭代都收敛。 2.什么叫做一个迭代法是二阶收敛的?Newton 法收敛时,它的收敛阶是否总是二阶 的? 3.求解单变量非线性方程的单根,下面的3种方法,它们的收敛阶由高到低次序如何? (a) 二分法 (b) Newton 方法 (c) 割线方法 4.求解单变量非线性方程的解,Newton 法和割线方法,它们每步迭代分别需要计算几 次函数值和导数值? 5.求解某个单变量非线性方程,如果计算函数值和计算导数值的代价相当,Newton 法和割线方法它的优劣应如何评价? 第三章 解线性方程组的直接法 1.用高斯消去法为什么要选主元?哪些方程组可以不选主元? 2.高斯消去法与LU 分解有什么关系?用它们解线性方程组Ax = b 有何不同?A 要满足什么条件? 3.乔列斯基分解与LU 分解相比,有什么优点? 4.哪种线性方程组可用平方根法求解?为什么说平方根法计算稳定? 5.什么样的线性方程组可用追赶法求解并能保证计算稳定? 6.何谓向量范数?给出三种常用的向量范数。 7.何谓矩阵范数?何谓矩阵的算子范数?给出矩阵A = (a i j )的三种范数|| A ||1,|| A ||2,|| A ||∞,|| A ||1与|| A ||2哪个更容易计算?为什么? 8.什么是矩阵的条件数?如何判断线性方程组是病态的? 9.满足下面哪个条件可判定矩阵接近奇异? (1)矩阵行列式的值很小。 (2)矩阵的范数小。

西工大计算方法作业答案

参考答案 第一章 1 *1x =1.7; * 2x =1.73; *3x =1.732 。 2. 3. (1) ≤++)(* 3*2*1x x x e r 0.00050; (注意:应该用相对误差的定义去求) (2) ≤)(*3*2*1x x x e r 0.50517; (3) ≤)/(*4*2x x e r 0.50002。 4.设6有n 位有效数字,由6≈2.4494……,知6的第一位有效数字1a =2。 令3)1()1(1* 102 1 102211021)(-----?≤??=?= n n r a x ε 可求得满足上述不等式的最小正整数n =4,即至少取四位有效数字,故满足精度要求可取6≈2.449。 5. 答:(1)*x (0>x )的相对误差约是* x 的相对误差的1/2倍; (2)n x )(* 的相对误差约是* x 的相对误差的n 倍。 6. 根据******************** sin 21)(cos 21sin 21)(sin 21sin 21)(sin 21)(c b a c e c b a c b a b e c a c b a a e c b S e r ++≤ =* *****) ()()(tgc c e b b e a a e ++ 注意当20* π < >c tgc ,即1 *1 * )() (--

7.设20= y ,41.1*0 =y ,δ=?≤--2* 00102 1y y 由 δ1* 001*111010--≤-=-y y y y , δ2*111*221010--≤-=-y y y y M δ10*991*10101010--≤-=-y y y y 即当0y 有初始误差δ时,10y 的绝对误差的绝对值将减小10 10-倍。而110 10 <<-δ,故计算过程稳定。 8. 变形后的表达式为: (1))1ln(2--x x =)1ln(2-+-x x (2)arctgx x arctg -+)1(=) 1(11 ++x x arctg (3) 1ln )1ln()1(ln 1 --++=? +N N N N dx x N N =ΛΛ+-+- +3 2413121)1ln(N N N N 1ln )11ln()1(-++ +=N N N N =1)1ln()1 1ln(-+++N N N (4)x x sin cos 1-=x x cos 1sin +=2x tg

数值分析第8章作业

第八章 矩阵特征值问题计算 3.用幂法计算下列矩阵的主特征值及对应的特征向量 12732343()341;()463213331a A b A --???? ????=-=-???? ????--???? 当特征值有3位小数稳定代终止。 解:套用幂法公式 010,,,1,2,.... max()k k k k k v u v Au u k v -≠== = 取0(1,1,1)0T u =≠,将A 1代入上式,计算结果见下表 则1A 的主特征值19.605572λ≈,特征向量1(10.6050.394369)T x ≈- 将2A 代入幂法公式,取0(1,1,1)T u =,计算结果见下表 则2A 主住特征值18.869699λ≈,特征向量1(0.604228,1,0.160881)T x ≈- 4.用反幂法求矩阵 621231111A ?? ??=?? ???? 的最接近于6的特征向量。 解:本题按带原点平移的反幂法计算。平移向量p=6,则将

021231115B A pI ?? ??=-=-?? ??-?? 进行三分解:PB=LU ,其中 1 002310101511 001,10,02 221004 2701005 5P L U ? ??? ????-??? ??? ??????===-???????????? ?? ?? ??? ??? 然后1(1,1,1)T Uv =,解得 1 111,max()v v u v = 1,,,2,3,.... max()k k k k k k k v Ly PU Uv y U k v -=== = 计算结果如下:

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式就是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差与( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 10、已知f (1)=2,f (2)=3,f (4)=5、9,则二次Newton 插值多项式中x 2系数为( 0、15 ); 11、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式

2020年奥鹏吉大网络教育《计算方法》大作业解答

2020年奥鹏吉大网络教育《计算方法》大作业解答 (说明:前面是题目,后面几页是答案完整解答部分,注意的顺序。) 一、解线性方程 用矩阵的LU分解算法求解线性方程组 用矩阵的Doolittle分解算法求解线性方程组 用矩阵的Doolittle分解算法求解线性方程组 用高斯消去法求解线性方程组 用高斯消去法求解线性方程组 用主元素消元法求解线性方程组 用高斯消去法求解线性方程组 利用Doolittle分解法解方程组Ax=b,即解方程组 1、用矩阵的LU分解算法求解线性方程组 X1+2X2+3X3 = 0 2X1+2X2+8X3 = -4 -3X1-10X2-2X3 = -11 2、用矩阵的Doolittle分解算法求解线性方程组 X1+2X2+3X3 = 1 2X1– X2+9X3 = 0 -3X1+ 4X2+9X3 = 1 3、用矩阵的Doolittle分解算法求解线性方程组 2X1+X2+X3 = 4 6X1+4X2+5X3 =15 4X1+3X2+6X3 = 13 4、用高斯消去法求解线性方程组

2X 1- X 2+3X 3 = 2 4X 1+2X 2+5X 3 = 4 -3X 1+4X 2-3X 3 = -3 5、用无回代过程消元法求解线性方程组 2X 1- X 2+3X 3 = 2 4X 1+2X 2+5X 3 = 4 -3X 1+4X 2-3X 3 = -3 6、用主元素消元法求解线性方程组 2X 1- X 2+3X 3 = 2 4X 1+2X 2+5X 3 = 4 -3X 1+4X 2-3X 3 = -3 7、用高斯消去法求解线性方程组 123123123234 4272266 x x x x x x x x x -+=++=-++= 8、利用Doolittle 分解法解方程组Ax=b ,即解方程组 12341231521917334319174262113x x x x -? ????? ???? ??-??????=? ? ????--?????? --???? ??

数值计算方法试题集和答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。

西安交通大学计算方法B大作业资料

计算方法上机报告 姓名: 学号: 班级: 目录 题目一----------------------------------------------------------------- 4 - 1.1题目内容-------------------------------------------------------- 4 - 1.2算法思想-------------------------------------------------------- 4 -

1.3Matlab 源程序----------------------------------------------------- 5 - 1.4计算结果及总结------------------------------------------------- 5 - 题目二----------------------------------------------------------------- 7 - 2.1题目内容-------------------------------------------------------- 7 - 2.2算法思想-------------------------------------------------------- 7 - 2.3 Matlab 源程序---------------------------------------------------- 8 - 2.4计算结果及总结------------------------------------------------- 9 - 题目三--------------------------------------------------------------- -11- 3.1题目内容----------------------------------------------------------- 11 - 3.2算法思想----------------------------------------------------------- 11 - 3.3Matlab 源程序--------------------------------------------------- -13 - 3.4计算结果及总结----------------------------------------------------- 14 - 题目四--------------------------------------------------------------- -15 - 4.1题目内容----------------------------------------------------------- 15 - 4.2算法思想----------------------------------------------------------- 15 - 4.3Matlab 源程序--------------------------------------------------- -15 - 4.4计算结果及总结----------------------------------------------------- 16 - 题目五--------------------------------------------------------------- -18 - -18 - 5.1题目内容 5.2算法思想----------------------------------------------------------- 18 - 5.3 Matlab 源程序--------------------------------------------------- -18 -

计算方法上机实习题大作业(实验报告).

计算方法实验报告 班级: 学号: 姓名: 成绩: 1 舍入误差及稳定性 一、实验目的 (1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; (2)通过上机计算,了解舍入误差所引起的数值不稳定性 二、实验内容 1、用两种不同的顺序计算10000 21n n -=∑,分析其误差的变化 2、已知连分数() 1 01223//(.../)n n a f b b a b a a b =+ +++,利用下面的算法计算f : 1 1 ,i n n i i i a d b d b d ++==+ (1,2,...,0 i n n =-- 0f d = 写一程序,读入011,,,...,,,...,,n n n b b b a a 计算并打印f 3、给出一个有效的算法和一个无效的算法计算积分 1 041 n n x y dx x =+? (0,1,...,1 n = 4、设2 2 11N N j S j == -∑ ,已知其精确值为1311221N N ?? -- ?+?? (1)编制按从大到小的顺序计算N S 的程序 (2)编制按从小到大的顺序计算N S 的程序 (3)按两种顺序分别计算10001000030000,,,S S S 并指出有效位数 三、实验步骤、程序设计、实验结果及分析 1、用两种不同的顺序计算10000 2 1n n -=∑,分析其误差的变化 (1)实验步骤: 分别从1~10000和从10000~1两种顺序进行计算,应包含的头文件有stdio.h 和math.h (2)程序设计: a.顺序计算

#include #include void main() { double sum=0; int n=1; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0)printf("sun[%d]=%-30f",n,sum); if(n>=10000)break; n++; } printf("sum[%d]=%f\n",n,sum); } b.逆序计算 #include #include void main() { double sum=0; int n=10000; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0) printf("sum[%d]=%-30f",n,sum); if(n<=1)break; n--; } printf("sum[%d]=%f\n",n,sum); } (3)实验结果及分析: 程序运行结果: a.顺序计算

数值分析计算方法试题集及答案

数值分析复习试题 第一章 绪论 一. 填空题 1.* x 为精确值 x 的近似值;() **x f y =为一元函数 ()x f y =1的近似值; ()**,*y x f y =为二元函数()y x f y ,2=的近似值,请写出下面的公式:**e x x =-: *** r x x e x -= ()()()*'1**y f x x εε≈? ()() () ()'***1**r r x f x y x f x εε≈ ? ()()()() ()* *,**,*2**f x y f x y y x y x y εεε??≈?+??? ()()()()() ** * *,***,**222r f x y e x f x y e y y x y y y ε??≈ ?+??? 2、 计算方法实际计算时,对数据只能取有限位表示,这时所产生的误差叫 舍入误 差 。 3、 分别用2.718281,2.718282作数e 的近似值,则其有效数字分别有 6 位和 7 位;又取 1.73≈-21 1.73 10 2 ≤?。 4、 设121.216, 3.654x x ==均具有3位有效数字,则12x x 的相对误差限为 0.0055 。 5、 设121.216, 3.654x x ==均具有3位有效数字,则12x x +的误差限为 0.01 。 6、 已知近似值 2.4560A x =是由真值T x 经四舍五入得 到,则相对误差限为 0.0000204 . 7、 递推公式,??? ? ?0n n-1y =y =10y -1,n =1,2, 如果取0 1.41y ≈作计算,则计算到10y 时,误 差为 81 10 2 ?;这个计算公式数值稳定不稳定 不稳定 . 8、 精确值 14159265.3* =π,则近似值141.3*1=π和1415.3*2=π分别有 3

计算方法作业2

《计算方法》上机指导书

实验1 MATLAB 基本命令 1.掌握MATLAB 的程序设计 实验内容:对以下问题,编写M 文件。 (1) 生成一个5×5矩阵,编程求其最大值及其所处的位置。 (2) 编程求∑=20 1!n n 。 (3) 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在 第10次落地时,共经过多少米?第10次反弹有多高? 2.掌握MATLAB 的绘图命令 实验内容:对于自变量x 的取值属于[0,3π],在同一图形窗口画出如下图形。 (1)1sin()cos()y x x =?; (2)21 2sin()cos()3 y x x =-;

实验2 插值方法与数值积分 1. 研究人口数据的插值与预测 实验内容:下表给出了从1940年到1990年的美国人口,用插值方法推测1930年、1965年、2010年人口的近似值。 美国人口数据 1930年美国的人口大约是123,203千人,你认为你得到的1965年和2010年的人口数字精确度如何? 2.最小二乘法拟合经验公式 实验内容:某类疾病发病率为y ‰和年龄段x (每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如bx ae y =的经验关系,观测得到的数据表如下 (1)用最小二乘法确定模型bx ae y =中的参数a 和b 。 (2)利用MATLAB 画出离散数据及拟合函数bx ae y =图形。 3. 复化求积公式 实验内容:对于定积分? +=1 02 4dx x x I 。 (1)分别取利用复化梯形公式计算,并与真值比较。再画出计算误差与n 之间的曲线。 (2)取[0,1]上的9个点,分别用复化梯形公式和复化辛普森公式计算,并比较精度。

计算方法大作业非线性方程求根的新方法

计算方法大作业 题目:非线性方程求根的新方法 班级:xxx 学号:xxx 姓名:xxx

非线性方程求根的新方法 一、问题引入 在计算和实际问题中经常遇到如下非线性问题的求解: F(x)=0 (1) 我们经常采用的方法是经典迭代法: 经典迭代方法 不动点迭代方法是一种应用广泛的方法,其加速方法较多,如Stiffensen加速方法的局部收敛阶(以下简称为收敛阶)为2阶;牛顿迭代方法的收敛阶亦为2阶,且与其相联系的一些方法如简化牛顿法、牛顿下山法、弦截法的收敛阶阶数介于1和2之间;而密勒法的收敛阶与牛顿法接近,但计算量较大且涉及零点的选择问题,同时收敛阶也不够理想。 因此本文介绍一种新的迭代方法 从代数角度看,牛顿法和密勒法分别是将f(x)在xk附近近似为一线性函数和二次抛物插值函数,一种很自然的想法就是能否利用Taylor展开,将f(x)在xk附近近似为其他的二次函数?答案是肯定的.其中的一种方法是将f(x)在Xk处展开3项,此时收敛阶应高于牛顿法,这正是本文的出发点. 二、算法推导 设函数f(x)在xk附近具有二阶连续导数,则可将f(x)在xk处进行二阶Taylor展开,方程(1) 可近似为如下二次方程: f(xk)+f’(xk)(x-xk)+2^(-1)f’’(xk)(x-xk)^2=0,(2) 即 2^(-1)f’’(xk)x^2+(f’(xk)-xkf’’(xk))x+2^(-1)f’’(xk)xk^2-xkf’(xk)+f(xk)=0(3) 利用求根公式可得 X=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(4) 其中±符号的选取视具体问题而定,从而可构造迭代公式 X k+1=xk-(f’’(xk))^(-1)(f’(xk))-sqrt((f’(xk)^2±2f’’(xk)f(xk)))(5) 确定了根号前正负号的迭代公式(5),可称为基于牛顿法和Taylor展开的方法,简记为BNT 方法. 为描述方便起见,以下将f(xk),f’(xk),f’’(xk)分别记为f,f’,f’’.首先,二次方程(3)对应于一条抛物曲线,其开口方向由f’’(xk),x∈U(xk)的符号确定,其中U(xk)为xk的某邻域,其顶点为 P(xk-(f’’)^(-1)f’,fk-(2f’’)^(-1)(f’)^2).为使(5)式唯一确定x k+1,须讨论根式前正负号的取舍问题.下面从该方法的几何意义分析(5)式中正负号的取舍. 1)当f(xk)=o时,z。即为所求的根. 2)当f(xk)>O时,根据y=f(x)的如下4种不同情形(见图1)确定(5)式中根号前的符号. (a)当f’’(xk)o时,“±”取为“一”;(b)当f’’(xk)o,f(xk)>o时,“±”取为“一”;(d)当f’’(xk)>o,f(xk)o时,“±”取为“+”;(b)当 f’’(xk)o,f(xk)>o时,“±”取为“+”;(d)当f’’(xk)>o,f(xk)

《数值分析》杨大地-标准答案(第八章)

数值分析第8章 数值积分与数值微分 8.1 填空题 (1)n+1个点的插值型数值积分公式∫f(x)dx b a ≈∑A j n j=0f(x j )的代数精度至少是 n ,最高不超过 2n+1 。【注:第1空,见定理8.1】 (2)梯形公式有 1 次代数精度,Simpson 公司有 3 次代数精度。【注:分别见定理8.1,8.3】 (3)求积公式∫f(x)dx h 0≈h 2[f (0)+f (h )]+ah 2[f ′(0)?f ′(h)]中的参数a= 1/12 时,才能保证该求积公式的代数精度达到最高,最高代数精度为 3 。 解:令f(x)=1,x,x 2带入有, { h 2[1+1]+ah 2[0?0]=h h 2[0+h ]+ah 2[1?1]=12 (h 2)h 2[0+h 2]+ah 2[0?2h ]=13 (h 3) //注:x 的导数=1 解之得,a=1/12,此时求积公式至少具有2次代数精度。 ∴ 积分公式为:∫f(x)dx h 0≈h 2[f (0)+f (h )]+h 2 12[f ′(0)?f ′(h)] 令 f(x)= x 3带入求积公式有:h 2 [0 +h 3]+ h 212 [0?3h 2]=14 (h 4),与f(x)= x 4的定积分计算值1 4 (h 4)相等, 所以,此求积公式至少具有3次代数精度。 令f(x)= x 4带入求积公式有,h 2[0+h 4]+h 2 12[0?4h 3]=1 6(h 5),与f(x)= x 5的定积分计算值1 5(h 5)不相等,所以,此求积公式的最高代数精度为3次代数精度。 8.2 确定下列求积公式的求积系数和求积节点,使其代数精度尽量高,并指出其最高代数精度。 解题思路:按照P149 中8.3式进行求解,根据求积公式中未知量n 的数量决定代入多少f(x),当积分公式代入求积节点x n 的计算结果与定积分的计算结果一致,继续代入求积节点X n+1,,若计算结果与对应的定积分计算结果不一致时,求积公式拥有最高n 次的代数精度。 (1)∫f(x)dx 2h 0≈A 0f (0)+A 1f (h )+A 2f(2h) 解:令f(x)=1,x,x 2代入有,【注:本例中需求解A 0、A 1、A 2共3个未知量,故需3个相异求积节点f(x)】 {A 0+A 1+A 2=2h A 1h +A 22h =1 2(2h )2A 1h 2+A 2(2h )2=1 3(2h )3 求解得A 0=13h ,A 1=43h ,A 2=1 3h , ∴求积公式为:∫f(x)dx 2h 0≈13hf (0)+43hf (h )+1 3 hf(2h) ∵该求积公式对3个相异节点1,x,x 2均有余项E (f )=0, //注:参见P149定理8.1 ∴该求积公式至少具有2次代数精度。 令f(x)= x 3,代入求积公式有:4 3hh 3+1 3h (2h )3=4h 4 ∵函数f(x) = x 3的定积分结果为:∫x 3dx 2h 0=1 4(2h )4=4h 4 ,与求积公式计算值相等, ∴该求积公式具有3次代数精度。

工程计算方法及软件应用--本科生考查大作业

工程计算方法与软件应用 本科生大作业 考核方式:考查(成绩按各软件的课外作业成绩综合给出)。 各软件讲完后1~2星期内上交作业。 一、CAD/CAE软件作业(每个学生完成下列任意一题) 题目一: 一端固定支撑,一端集中力的梁,横截面为10x10cm,长为150cm,受集中载荷作用,P=50N。弹性模量E=70GPa,泊松比r=0.2。用ABAQUS 软件建模并计算最大应力和最大位移的位置和大小。 (1)二维;(2)三维 图1梁受力简图

题目二: 图中所示为一个连接件,一端焊接到设备母体上,一端在圆柱销子作用下的圆孔,圆孔下半周受到30 kN的均布载荷作用,用ABAQUS 软件建模并计算最大应力和最大位移的位置和大小。 图2 连接件受力简图 题目三: 如图3所示为一薄壁圆筒,在圆筒中心受集中力F作用,对此进行受力分析,并给出应力、位移云图,并求A、B两点位移。 圆筒几何参数:长度L=0.2m;半径R=0.05m壁厚t=2.5mm。 材料参数:弹性模量E=120Gpa;泊松比0.3 载荷:F=1.5kN。

图3薄壁管受力简图 题目四: 如图4所示为一燃气输送管道截面及受力见图,试分析管道在内部压力作用下的应力场。 几何参数:外径0.6m,内径0.4m,壁厚0.2m 材料参数:弹性模量E=120Gpa;泊松比0.26 载荷P=1Mpa。 图4燃气管受力简图

题目五: 如图5为一三角桁架受力简图,途中各杆件通过铰链链接,杆件材料及几何参数见表1和表2所示,桁架受集中力F1=5kN、F2=2.5kN 作用,求桁架各点位移及反作用力。 图5 三角桁架受力简图 表1 杆件材料参数 表2 杆件几何参数

北京科技大学计算方法大作业

计算方法大作业 机械电子工程系 老师:廖福成 注:本文本只有程序题,证明题全部在手写已交到理化楼204了。 2. 证明方程 3 10x x --= 在[1,2]上有一实根*x ,并用二分法求这个根。要求31||10k k x x -+-<。请给出程 序和运行结果。

证明: 设f(x)=x3-x-1 则f(1)= -1,f(2)= 5,f(1)*f(2)= -5<0 因此,方程在[1,2]上必有一实根。 二分法求解程序: %预先定义homework2.m文件如下:function lc=homework2(x) lc=x^3-x-1; 在MALAB窗口运行: clear a=1;b=2;tol=10^(-3);N=10000; k=0; fa=homework2(a); % f 需事先定义for k=1:N p=(a+b)/2; fp=homework2(p); if( fp==0 || (b-a)/2

3. 用Newton 迭代法求方程 32 210200x x x ++-= 的一个正根,计算结果精确到7位有效数字. 要求给出程序和运行结果. 解: 取迭代初值01x = ,并设32()21020f x x x x =++-,则 '2 ()3410f x x x =++. 牛顿迭代函数为 32'2 ()21020 ()()3410f x x x x x x x f x x x ?++-=-=-++ 牛顿迭格式为:3212 21020 3410k k k k k k k x x x x x x x +++-=-++ Matlab 程序如下: %定义zuoye3.m 文件 function x=zuoye3(fname,dfname,x0,e,N) if nargin<5,N=500;end if nargin<4,e=1e-7;end x=x0;x0=x+2*e;k=0; while abs(x0-x)>e&k

相关主题
文本预览
相关文档 最新文档