数值分析与算法 课程作业3(2016 - 2017秋季学期)_527805326

合集下载

北航数值分析大作业3

北航数值分析大作业3

数值分析第三次作业1.设计方案对Fredholm积分方程,用迭代法进行求解:()'(())u x A u x=,其中11(())()(,)()A u x g x K x y u y dy-=-⋅⎰对于公式中的积分部分用数值积分方法。

复化梯形积分法,取2601个节点,取迭代次数上限为50次。

实际计算迭代次数为18次,最后算得误差为r= 0.97E-10。

复化Simpson积分法,取迭代次数上限为50次,取2*41+1,即83个节点时能满足精度要求。

实际计算迭代次数为17次,最后的误差为r= 0.97E-10。

Guass积分法选择的Gauss—Legendre法,取迭代次数上限为50次,直接选择8个节点,满足精度要求。

实际计算迭代次数为24次,最后算得误差为r= 0.87E-10。

2.全部源程序module integralimplicit nonecontains!//////////复化梯形subroutine trapezoid(m)implicit noneinteger :: i,j,k,mreal*8 :: x(m+1),u(m+1)real*8 :: sum,sum1,g,r,hreal*8 :: e=1.0e-10h=2./mdo i=1,m+1x(i)=-1.+(i-1)*hend dou=0.02do k=1,50do i=1,m+1sum1=0.g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)do j=2,msum1=sum1+dexp(x(i)*x(j))*u(j)end dosum=h/2.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(m+1)+2*sum1)u(i)=g-sumend dor=h/2.*((dexp(x(1)*4)-u(1))**2+(dexp(x(m+1)*4)-u(m+1))**2) do i=2,mr=r+h*(dexp(x(i)*4)-u(i))**2end doif(dabs(r)<=e) exitend dowrite(*,*) kopen(1,file="trapezoid.txt")do i=1,m+1write(1,'(3(f18.12))') x(i),u(i),dexp(x(i)*4.)end dowrite(1,'(4x,a2,e9.2)') "r=",rclose(1)returnend subroutine trapezoid!///////////复化simpsonsubroutine simpson(m)implicit noneinteger :: i,j,k,mreal*8 :: x(2*m+1),u(2*m+1)real*8 :: sum,sum1,sum2,g,r,hreal*8 :: e=1.0e-10h=2./(2.*m)do i=1,2*m+1x(i)=-1.+(i-1)*hend dou=0.02do k=1,50do i=1,2*m+1sum1=0.sum2=0.g=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)do j=1,msum1=sum1+dexp(x(i)*x(2*j))*u(2*j)end dodo j=1,m-1sum2=sum2+dexp(x(i)*x(2*j+1))*u(2*j+1)sum=h/3.*(dexp(x(i)*-1.)*u(1)+dexp(x(i)*1.)*u(2*m+1)+4*sum1+2*sum2) u(i)=g-sumend dor=h/3.*((dexp(x(1)*4)-u(1))**2+(dexp(x(2*m+1)*4)-u(2*m+1))**2)do i=1,mr=r+4.*h/3.*(dexp(x(2*i)*4)-u(2*i))**2end dodo i=1,m-1r=r+2.*h/3.*(dexp(x(2*i+1)*4)-u(2*i+1))**2end doif(dabs(r)<=e) exitend dowrite(*,*) kopen(2,file="simpson.txt")do i=1,2*m+1write(2,'(3(f18.12))') x(i),u(i),dexp(x(i)*4.)end dowrite(2,'(4x,a2,e9.2)') "r=",rclose(2)returnend subroutine simpson!///////////Gauss_Legendre法subroutine Gaussimplicit noneinteger,parameter :: m=8integer :: i,j,kreal*8 :: x(m),u(m),a(m)real*8 :: sum,g,rreal*8 :: e=1.0e-10data x /-0.9602898565,-0.7966664774,-0.5255324099,-0.1834346425,&0.1834346425,0.5255324099,0.7966664774,0.9602898565/data a /0.1012285363,0.2223810345,0.3137066459,0.3626837834,&0.3626837834,0.3137066459,0.2223810345,0.1012285363/u=0.02do k=1,50do i=1,mg=dexp(x(i)*4.)+(dexp(x(i)+4.)-dexp(-4.-x(i)))/(x(i)+4.)do j=1,msum=sum+dexp(x(i)*x(j))*u(j)*a(j)end dou(i)=g-sumend dor=0.do i=1,mr=r+a(i)*(dexp(x(i)*4)-u(i))**2end doif(dabs(r)<=e) exitend dowrite(*,*) kopen(3,file="Gauss.txt")do i=1,mwrite(3,'(3(f18.12))') x(i),u(i),dexp(x(i)*4.)end dowrite(3,'(4x,a2,e9.2)') "r=",rclose(3)returnend subroutine Gaussend module!//////////主程序program mainuse integralimplicit noneinteger :: code1=2600integer :: code2=41call trapezoid(code1)call simpson(code2)call Gaussend program3.各种积分方法的节点和数值解(由于数据太多,在打印时用了较计算时少的有效数字)复化Simpson法4.各方法所得曲线(由于所取节点太多,且精度高,所以图中很难看出各曲线的区别。

数值分析课后习题及答案

数值分析课后习题及答案

第一章 绪论(12) 第二章 插值法(40-42)2、当2,1,1-=x 时,4,3,0)(-=x f ,求)(x f 的二次插值多项式。

[解]372365)1(34)23(21)12)(12()1)(1(4)21)(11()2)(1()3()21)(11()2)(1(0))(())(())(())(())(())(()(2221202102210120120102102-+=-++--=+-+-⨯+------⨯-+-+-+⨯=----+----+----=x x x x x x x x x x x x x x x x x x x y x x x x x x x x y x x x x x x x x y x L 。

3、给出x x f ln )(=的数值表用线性插值及二次插值计算54.0ln 的近似值。

X 0.4 0.5 0.6 0.7 0.8 x ln -0.916291 -0.693147 -0.510826 -0.357765 -0.223144[解]若取5.00=x ,6.01=x ,则693147.0)5.0()(00-===f x f y ,510826.0)6.0()(11-===f x f y ,则604752.182321.1)5.0(10826.5)6.0(93147.65.06.05.0510826.06.05.06.0693147.0)(010110101-=---=--⨯---⨯-=--+--=x x x x x x x x x y x x x x y x L ,从而6202186.0604752.19845334.0604752.154.082321.1)54.0(1-=-=-⨯=L 。

若取4.00=x ,5.01=x ,6.02=x ,则916291.0)4.0()(00-===f x f y ,693147.0)5.0()(11-===f x f y ,510826.0)6.0()(22-===f x f y ,则 217097.2068475.404115.2)2.09.0(5413.25)24.0(3147.69)3.01.1(81455.45)5.06.0)(4.06.0()5.0)(4.0()510826.0()6.05.0)(4.05.0()6.0)(4.0()693147.0()6.04.0)(5.04.0()6.0)(5.0(916291.0))(())(())(())(())(())(()(22221202102210120120102102-+-=+--+-⨯++-⨯-=----⨯-+----⨯-+----⨯-=----+----+----=x x x x x x x x x x x x x x x x x x x x x x y x x x x x x x x y x x x x x x x x y x L ,从而61531984.0217097.21969765.259519934.0217097.254.0068475.454.004115.2)54.0(22-=-+-=-⨯+⨯-=L补充题:1、令00=x ,11=x ,写出x e x y -=)(的一次插值多项式)(1x L ,并估计插值余项。

数值分析作业(完整版)

数值分析作业(完整版)

的逆阵 A ,用左除命令 A \ E 检验你的结果。
clc clear close all A=[1 1 1 1 1;1 2 3 4 5;1 3 6 10 15;1 4 10 20 35;1 5 15 35 70]; fprintf('对上述矩阵进行列主元素分解:\n') for i=1:1:r-1 [mx,ro]=max(abs(A(i:r,i))); % 寻找a阵第i列的最大值 [A(i,:),A(ro+i-1,:)]=exchange(A(i,:),A(ro+i-1,:)); % 进行行与行交换 for j=i+1:1:r A(j,:)=A(j,:)-A(j,i)/A(i,i)*A(i,:); end A End %--矩阵A的逆阵 A1=inv(A) %--左除验证 E=eye(5); A2=A\E % 5x5单位阵 % A阵的逆矩阵 % 输出每次交换后的A
第一章
1、计算积分 I n
Code: clc clear close all n=9; %--梯形积分法 x=0:0.01:1; y=(x.^n).*exp(x-1); In = trapz(x,y); In2=vpa(In,6) % 6位有效数字 %--高精度积分法 F = @(x1)(x1.^n).*exp(x1-1); s = quad(F,0,1); s1=vpa(s,6)
0
0, 0, 0, 0, 0 。
T
if abs(er(:,i-1))<=e fprintf('在迭代 %d 次之后,满足精度要求,x向量的值如下:\n',i); fprintf('x1=%.5f, x2=%.5f, x3=%.5f, x4=%.5f, x5=%.5f\n',x(1,i),x(2,i),x(3,i),x(4,i),x(5,i)); break end end %--绘图 figure(1) plot(1:1:i,x(1,:),'b',1:1:i,x(2,:),'k',1:1:i,x(3,:),'g',1:1:i,x(4,:), 'r',1:1:i,x(5,:),'c') legend('x1','x2','x3','x4','x5') grid on title('Jacobi迭代法——x值随迭代次数变化曲线') figure(2) plot(1:1:i-1,er(1,:),'b',1:1:i-1,er(2,:),'k',1:1:i-1,er(3,:),'g',1:1: i-1,er(4,:),'r',1:1:i-1,er(5,:),'c') legend('△x1','△x2','△x3','△x4','△x5') grid on title('Jacobi迭代法——△x值随迭代次数变化曲线') %% fprintf('\n-------------Gauss-Seidel迭代法---------------------\n'); U=-(A1-D); L=-(A2-D); DL_1=inv(D-L); M1=DL_1*U; b2=DL_1*b; x1(:,1)=M1*x0+b2; for j=2:1:100 x1(:,j)=M1*x1(:,j-1)+b2; er1(:,j-1)=x1(:,j)-x1(:,j-1); if abs(er1(:,j-1))<=e fprintf('在迭代 %d 次之后,满足精度要求,x向量的值如下:\n',j); fprintf('x1=%.5f, x2=%.5f, x3=%.5f, x4=%.5f, x5=%.5f\n',x1(1,j),x1(2,j),x1(3,j),x1(4,j),x1(5,j)); break end end %--绘图 figure(3) plot(1:1:j,x1(1,:),'b',1:1:j,x1(2,:),'k',1:1:j,x1(3,:),'g',1:1:j,x1(4 ,:),'r',1:1:j,x1(5,:),'c') legend('x1','x2','x3','x4','x5')

数值分析第三版习题答案

数值分析第三版习题答案

数值分析第三版习题答案
《数值分析第三版习题答案》
数值分析是一门研究利用数学方法和计算机技术解决实际问题的学科。

《数值分析第三版习题答案》是一本重要的教材,它包含了大量的习题和答案,帮助学
生更好地理解和掌握数值分析的知识。

在这本教材中,学生将会学习到一些重要的数值分析方法,比如插值法、数值
积分、常微分方程数值解法等。

这些方法在工程、物理、经济等领域都有着广
泛的应用,因此掌握这些方法对于学生来说非常重要。

《数值分析第三版习题答案》不仅提供了习题的答案,还对每个答案进行了详
细的解释,帮助学生更好地理解每个问题的解决方法。

通过练习这些习题,学
生可以提高他们的数值分析能力,为将来的工作和研究打下坚实的基础。

除了学生,这本教材也对教师和研究人员有着重要的意义。

教师可以通过这本
教材中的习题和答案来设计课程和考试,帮助学生更好地掌握数值分析的知识。

研究人员则可以通过这本教材中的方法和技巧来解决实际问题,推动学科的发展。

总之,《数值分析第三版习题答案》是一本非常重要的教材,它对于学生、教师和研究人员都有着重要的意义。

希望更多的人能够通过这本教材来学习和掌握
数值分析的知识,为推动科学技术的发展做出更大的贡献。

数值计算方法与算法第三版课后习题答案

数值计算方法与算法第三版课后习题答案

数值计算方法与算法第三版课后习题答案1. 矩阵乘法问题描述给定两个矩阵A和B,尺寸分别为n×m和m×p,求矩阵A 和矩阵B的乘积矩阵C,尺寸为n×p。

算法实现import numpy as npdef matrix_multiplication(A, B):n, m = A.shapem, p = B.shapeC = np.zeros((n, p))for i in range(n):for j in range(p):for k in range(m):C[i][j] += A[i][k] * B[k][j] return C示例A = np.array([[1, 2], [3, 4]])B = np.array([[5, 6], [7, 8]])C = matrix_multiplication(A, B)print(C)输出结果:[[19. 22.][43. 50.]]2. 数值积分问题描述给定一个函数f(x),以及积分区间[a, b],求函数f(x)在区间[a, b]上的定积分值∫abf(x)dx。

算法实现简单的数值积分算法是采用小梯形法,将区间[a, b]均分成n个子区间,然后计算每个子区间的面积,最后将这些子区间面积相加得到定积分值。

def numerical_integration(f, a, b, n):h = (b - a) / nintegral =0for i in range(n):x1 = a + i * hx2 = a + (i +1) * hintegral += (f(x1) + f(x2)) * h /2 return integral示例import mathf =lambda x: math.sin(x)a =0b = math.pin =100result = numerical_integration(f, a, b, n) print(result)输出结果:1.99983550388744363. 非线性方程求解问题描述给定一个非线性方程f(x) = 0,求方程的根x。

数值分析练习题及答案

数值分析练习题及答案

数值分析练习题及答案数值分析练习题及答案数值分析是应用数学的一个分支,它研究如何使用数值方法解决实际问题。

在数值分析的学习过程中,练习题是非常重要的一部分,通过练习题的完成,我们可以更好地理解和掌握数值分析的原理和方法。

本文将给出一些数值分析的练习题及其答案,希望对读者有所帮助。

一、插值与拟合1. 插值是指根据已知数据点的函数值,通过某种方法推导出在这些数据点之间的函数值。

请问插值的目的是什么?答案:插值的目的是通过已知数据点的函数值,推导出在这些数据点之间的函数值,以便于我们在这些数据点之间进行计算和分析。

2. 拟合是指根据已知数据点的函数值,通过某种方法找到一个函数,使得该函数与这些数据点尽可能接近。

请问拟合的目的是什么?答案:拟合的目的是通过已知数据点的函数值,找到一个函数,使得该函数与这些数据点尽可能接近,以便于我们对数据的趋势和规律进行分析和预测。

二、数值积分1. 数值积分是指通过数值方法计算一个函数在某个区间上的积分值。

请问数值积分的应用领域有哪些?答案:数值积分在科学计算、工程设计、金融分析等领域都有广泛的应用。

例如,在物理学中,数值积分可以用来计算物体的质心、重心等重要物理量;在金融分析中,数值积分可以用来计算期权的价格和风险价值等。

2. 辛普森法则是一种常用的数值积分方法,它通过将积分区间划分为若干个小区间,并在每个小区间上使用一个二次多项式来逼近被积函数。

请问辛普森法则的原理是什么?答案:辛普森法则的原理是通过将积分区间划分为若干个小区间,并在每个小区间上使用一个二次多项式来逼近被积函数。

然后,通过对这些小区间上的二次多项式进行积分,最后将这些积分值加起来,就可以得到整个积分区间上的积分值。

三、数值微分1. 数值微分是指通过数值方法计算一个函数在某个点处的导数值。

请问数值微分的作用是什么?答案:数值微分的作用是通过数值方法计算一个函数在某个点处的导数值,以便于我们对函数的变化趋势和规律进行分析和预测。

数值分析练习题附答案

数值分析练习题附答案

1
2-3 对矩阵 A 进行 LDLT 分解和 GGT 分解,求解方程组 Ax=b,其中
16 4 8
1
A=( 4 5 −4) , b=(2)
8 −4 22
3
解:(注:课本 P26 P27 根平方法)
设 L=(l i j ),D=diag(di),对 k=1,2,…,n,
其中������������=������������������-∑������������=−11 ���������2��������� ������������
������31=(������31 − ∑0������=1 ������3������������1������ ������������)/ ������1=186=12
������32=(������32

∑1������=1
������3������������2������
������������ )/
6.6667
,得 ������3 = 1.78570
−1 209
������4
0
������4
0.47847
(
56
−1
780 (������5) 209)
(200)
(������5) ( 53.718 )
1 −1
4
1 −4
15
������1
25
������2
6.6667再由1源自− 15561
− 56
209

x (k1) 1

1 5
(12

2 x2( k )

x (k) 3
)


2 5
x (k) 2

数值分析课后习题答案

数值分析课后习题答案

7、计算的近似值,取。

利用以下四种计算格式,试问哪一种算法误差最小。

〔1〕〔2〕〔3〕〔4〕解:计算各项的条件数由计算知,第一种算法误差最小。

解:在计算机上计算该级数的是一个收敛的级数。

因为随着的增大,会出现大数吃小数的现象。

9、通过分析浮点数集合F=〔10,3,-2,2〕在数轴上的分布讨论一般浮点数集的分布情况。

10、试导出计算积分的递推计算公式,用此递推公式计算积分的近似值并分析计算误差,计算取三位有效数字。

解:此算法是数值稳定的。

第二章习题解答1.〔1〕 R n×n中的子集“上三角阵〞和“正交矩阵〞对矩阵乘法是封闭的。

〔2〕R n×n中的子集“正交矩阵〞,“非奇异的对称阵〞和“单位上〔下〕三角阵〞对矩阵求逆是封闭的。

设A是n×n的正交矩阵。

证明A-1也是n×n的正交矩阵。

证明:〔2〕A是n×n的正交矩阵∴A A-1 =A-1A=E 故〔A-1〕-1=A∴A-1〔A-1〕-1=〔A-1〕-1A-1 =E 故A-1也是n×n的正交矩阵。

设A是非奇异的对称阵,证A-1也是非奇异的对称阵。

A非奇异∴A可逆且A-1非奇异又A T=A ∴〔A-1〕T=〔A T〕-1=A-1故A-1也是非奇异的对称阵设A是单位上〔下〕三角阵。

证A-1也是单位上〔下〕三角阵。

证明:A是单位上三角阵,故|A|=1,∴A可逆,即A-1存在,记为〔b ij〕n×n由A A-1 =E,那么〔其中 j>i时,〕故b nn=1, b ni=0 (n≠j)类似可得,b ii=1 (j=1…n) b jk=0 (k>j)即A-1是单位上三角阵综上所述可得。

R n×n中的子集“正交矩阵〞,“非奇异的对称阵〞和“单位上〔下〕三角阵〞对矩阵求逆是封闭的。

2、试求齐次线行方程组Ax=0的根底解系。

A=解:A=~~~故齐次线行方程组Ax=0的根底解系为,3.求以下矩阵的特征值和特征向量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016 –2017秋季学期数值分析与算法课程作业
第三章最佳逼近
1、选取常数 a ,使
|x3−ax|
max
0≤x≤1
达到极小,又问这个解是否唯一?
2、求 f(x)=sinx 在[0,π/2]上的最佳一次逼近多项式,并估计误差。

3、求 f(x)=x4+3x3−1 在区间[0,1]上的三次最佳一致逼近多项式。

x,在[−1,1]上按勒让德多项式展开求三次最佳平方逼近多项式。

4、 f(x)=sinπ
2
5、分别求e|x|在[−1,1]上的(1)≤1次的最佳一致逼近多项式;(2)≤2次的最佳一致逼近多项式;(3)≤3次的最佳一致逼近多项式。

如果求解过程需要求解超越方程,不需求出具体数值。

6、求[0,1]上与√x偏差最小的首项系数为1的一次多项式。

相关文档
最新文档