西南交通大学研究生数值分析作业
西南交通大学数值分析上机实验报告
数值分析上机实习报告学号:姓名:专业:联系电话:任课教师:序 (3)一、必做题 (4)1、问题一 (4)1.1 问题重述 (4)1.2 实验方法介绍 (4)1.3 实验结果 (5)2、问题二 (7)2.1 问题重述 (7)2.2 实验原理 (7)雅各比算法:将系数矩阵A分解为:A=L+U+D,则推到的最后迭代公式为: (8)2.3 实验结果 (8)二、选做题 (10)3、问题三 (10)3.1 问题重述 (10)3.2 实验原理 (10)3.3 实验结果 (11)总结 (11)序伴随着计算机技术的飞速发展,所有的学科都走向定量化和准确化,从而产生了一系列的计算性的学科分支,而数值计算方法就是解决计算问题的桥梁和工具。
数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法。
为了提高计算能力,需要结合计算能力与计算效率,因此,用来解决数值计算的软件因为高效率的计算凸显的十分重要。
数值方法是用来解决数值问题的计算公式,而数值方法的有效性需要根据其方法本身的好坏以及数值本身的好坏来综合判断。
数值计算方法计算的结果大多数都是近似值,但是理论的严密性又要求我们不仅要掌握将基本的算法,还要了解必要的误差分析,以验证计算结果的可靠性。
数值计算一般涉及的计算对象是微积分,线性代数,常微分方程中的数学问题,从而对应解决实际中的工程技术问题。
在借助MA TLAB、JA V A、C++ 和VB软件解决数学模型求解过程中,可以极大的提高计算效率。
本实验采用的是MATLAB软件来解决数值计算问题。
MA TLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其对解决矩阵运算、绘制函数/数据图像等有非常高的效率。
本文采用MATLAB对多项式拟合、雅雅格比法与高斯-赛德尔迭代法求解方程组迭代求解,对Runge-Kutta 4阶算法进行编程,并通过实例求解验证了其可行性,使用不同方法对计算进行比较,得出不同方法的收敛性与迭代次数的多少,比较各种方法的精确度和解的收敛速度。
西南交通大学-数值分析--报告
数值分析课程上机作业计算报告班级:学号:姓名:专业:大地测量学及测绘工程指导老师:联系电话:西南交通大学-数值分析--报告序言通过数值分析的理论知识的学习,此次实验将我们学过的理论知识运用于实践之中。
本次实验,我选用的计算机语言为MATLAB,其主要有一下几个特点。
1.编程效率高MATLAB是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。
因此,MATLAB语言也可通俗地称为演算纸式科学算法语言。
由于它编写简单,所以编程效率高,易学易懂2. 用户使用方便MATLAB语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接和执行融为一体。
它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以至语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。
3. 方便的绘图功能MATLAB的绘图是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标、半对数坐标及极坐标,均只需调用不同的绘图函数(命令),在图上标出图题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。
另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。
这种为科学研究着想的设计是通用的编程语言所不能及的。
目录1.实验一 (1)1.1题目 (1)1.2计算思路 (1)1.3计算结果 (1)1.4总结 (6)2.第二题 (7)2.1题目 (7)2.2 松弛思想分析 (7)2.3问题的求解 (7)2.4总结 (10)3.第三题 (11)3.1题目 (11)3.2 Runge-Kutta法的基本思想 (11)3.3 问题的求解 (12)3.4问题的总结 (14)总结 (15)附件 (16)实验一程序设计 (16)实验二程序设计 (16)实验三程序设计 (17)实验一:插值问题1.1题目已知:a=-5,b=5, 以下是某函数f(x)的一些点(x k,y k), 其中x k=a+0.1(k-1) ,k=1,..,101;(数据略)。
数值分析2016上机实验报告
序言数值分析是计算数学的范畴,有时也称它为计算数学、计算方法、数值方法等,其研究对象是各种数学问题的数值方法的设计、分析及其有关的数学理论和具体实现的一门学科,它是一个数学分支。
是科学与工程计算(科学计算)的理论支持。
许多科学与工程实际问题(核武器的研制、导弹的发射、气象预报)的解决都离不开科学计算。
目前,试验、理论、计算已成为人类进行科学活动的三大方法。
数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现。
现在面向数值分析问题的计算机软件有:C,C++,MATLAB,Python,Fortran等。
MATLAB是matrix laboratory的英文缩写,它是由美国Mathwork公司于1967年推出的适合用于不同规格计算机和各种操纵系统的数学软件包,现已发展成为一种功能强大的计算机语言,特别适合用于科学和工程计算。
目前,MATLAB应用非常广泛,主要用于算法开发、数据可视化、数值计算和数据分析等,除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
本实验报告使用了MATLAB软件。
对不动点迭代,函数逼近(lagrange插值,三次样条插值,最小二乘拟合),追赶法求解矩阵的解,4RungeKutta方法求解,欧拉法及改进欧拉法等算法做了简单的计算模拟实践。
并比较了各种算法的优劣性,得到了对数值分析这们学科良好的理解,对以后的科研数值分析能力有了极大的提高。
目录序言 (1)问题一非线性方程数值解法 (3)1.1 计算题目 (3)1.2 迭代法分析 (3)1.3计算结果分析及结论 (4)问题二追赶法解三对角矩阵 (5)2.1 问题 (5)2.2 问题分析(追赶法) (6)2.3 计算结果 (7)问题三函数拟合 (7)3.1 计算题目 (7)3.2 题目分析 (7)3.3 结果比较 (12)问题四欧拉法解微分方程 (14)4.1 计算题目 (14)4.2.1 方程的准确解 (14)4.2.2 Euler方法求解 (14)4.2.3改进欧拉方法 (16)问题五四阶龙格-库塔计算常微分方程初值问题 (17)5.1 计算题目 (17)5.2 四阶龙格-库塔方法分析 (18)5.3 程序流程图 (18)5.4 标准四阶Runge-Kutta法Matlab实现 (19)5.5 计算结果及比较 (20)问题六舍入误差观察 (22)6.1 计算题目 (22)6.2 计算结果 (22)6.3 结论 (23)7 总结 (24)附录问题一 非线性方程数值解法1.1 计算题目编写不动点迭代法求根程序:把方程010423=-+x x 写成至少四种x=g (x )的形式,取初值5.1x 0=,进行不动点迭代求根,并比较收敛性及收敛速度。
数值分析作业(完整版)
的逆阵 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、证明:1-x-sinx=0在[0,1]内有一个根,使用二分法求误差不大于0.5*10^-4的根要迭代多少次,并输出每一步的迭代解和迭代误差证明:令f(x)= 1-x-sinx;f(0)=1,f(1)=-sin1f(0)*f(1)<0f’(x)=1-cosx<0在[0,1]内恒成立所以1-x-sinx=0在[0,1]内恒有一个根程序:function chap2bisecta = 0;b = 1;fprintf('n || a || b || c || r \n')for k=1:15c = (a+b)/2;r=(b-a)/2;fa =1-a-sin(a);fb =1-b-sin(b);fc =1-c-sin(c);fprintf('%d || %f || %f || %f \n',k,a,b,c,r);if abs(fc)<0.5*10^(-4) r=c; sprintf('the root is: %d' , r);elseif fa*fc<0 b=c;elseif fb*fc<0 a=c;endendroot = (a+b)/2结果:n || a || b || c || r1 || 0.000000 || 1.000000 || 0.500000 ||5.000000e-001 ||2 || 0.500000 || 1.000000 || 0.750000 ||2.500000e-001 ||3 || 0.500000 || 0.750000 || 0.625000 ||1.250000e-001 ||4 || 0.500000 || 0.625000 || 0.562500 ||6.250000e-002 ||125 || 0.500000 || 0.562500 || 0.531250 ||3.125000e-002 ||6 || 0.500000 || 0.531250 || 0.515625 ||1.562500e-002 ||7 || 0.500000 || 0.515625 || 0.507813 ||7.812500e-003 ||8 || 0.507813 || 0.515625 || 0.511719 ||3.906250e-003 || 9 || 0.507813 || 0.511719 || 0.509766 ||1.953125e-003 || 10 || 0.509766 || 0.511719 || 0.510742 ||9.765625e-004 || 11 || 0.510742 || 0.511719 || 0.511230 ||4.882813e-004 || 12 || 0.510742 || 0.511230 || 0.510986 ||2.441406e-004 || 13 || 0.510742 || 0.511230 || 0.510986 ||2.441406e-004 || 14 || 0.510742 || 0.511230 || 0.510986 ||2.441406e-004 || 15 || 0.510742 || 0.511230 || 0.510986 ||2.441406e-004 || root =0.510986328125000。
数值分析西南交通大学
1.填空(1). 在等式∑==nk k kn x f ax x x f 010)(],,,[ 中, 系数a k 与函数f (x ) 无 关。
(限填“有”或“无”) (2). Gauss 型求积公式不是 插值型求积公式。
(限填“是”或“不是”)或“无”) (3). 设l k (x )是关于互异节点x 0, x 1,…, x n , 的Lagrange 插值基函数,则∑=-nk k m k x l x x 0)()(≡0 m=1,2,…,n(4). ⎥⎦⎤⎢⎣⎡-=3211A ,则=1||||A 4 ,=2||||A 3.6180340 ,=∞||||A 5 ; (5). 用1n +个不同节点作不超过n 次的多项式插值,分别采用Lagrange 插值方法与Newton 插值方法所得多项式 相等(相等, 不相等)。
(6). 函数3320,10(),01(1),12x f x x x x x x -≤<⎧⎪=≤<⎨⎪+-≤≤⎩与函数3321,10()221,01x x x g x x x x ⎧++-≤<=⎨++≤≤⎩中,是三次样条函数的函数是 g(x),另一函数不是三次样条函数的理由是二阶导不连续 。
(7). n 个不同节点的插值型求积公式的代数精度一定会超过n-1 次2.设)5()(2-+=x x x αϕ,要使迭代法)(1k k x x ϕ=+局部收敛到5*=x ,则α取值范围 解:因x x αϕ21)(+=',由1521*)(<+='αϕx ,即0522<<-α故α的取值范围是051<<-α。
3.给定方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--111 211111112321x x x证明Jacobi 方法发散而Gauss-Seidel 方法收敛。
分析 观察系数矩阵的特点,它既不严格对角占优,也不对称正定,因此应该写出Gauss-Seidel 方法的迭代矩阵B ,然后再观察是否11<B或1<∞B 或求出)(B ρ,看其是否小于1。
西南交通大学数值分析上机实习
目录解题: (1)题目一: (1)1.1计算结果 (1)1.2结果分析 (1)题目二: (2)2.1计算结果 (2)2.2结果分析 (3)题目三: (4)3.1计算结果 (4)3.2结果分析 (5)总结 (5)附录 (6)Matlab程序: (6)题目一: (6)第一问Newton法: (6)第二问Newton法: (6)第一问Steffensen加速法: (7)第二问Steffensen加速法: (7)题目二 (8)1、Jacobi迭代法 (8)2、Causs-Seidel迭代法 (8)题目三: (9)题目一:分别用牛顿法,及基于牛顿算法下的Steffensen 加速法(1)求ln(x +sin x )=0的根。
初值x0分别取0.1, 1,1.5, 2, 4进行计算。
(2)求sin x =0的根。
初值x0分别取1,1.4,1.6, 1.8,3进行计算。
分析其中遇到的现象与问题。
1.1计算结果求ln(x +sin x )=0的根,可变行为求解x-sinx-1=0的根。
1.2结果分析从结果对比我们可发现牛顿—Steffensen 加速法比牛顿法要收敛的快,牛顿法对于初值的选取特别重要,比如第(1)问中的初值为4的情况,100次内没有迭代出来收敛解,而用Steffensen 加速法,7次迭代可得;在第(2)问中的初值为1.6的情况,收敛解得31.4159,分析其原因应该是x x f cos )('=,x0=1.62π≈,0)('≈x f ;迭代式在迭代过程中会出现分母趋近于0,程序自动停止迭代的情况,此时得到的x 往往非常大,而在第一问中我们如果转化为用x+sinx=1,则可以收敛到结果。
用雅格比法与高斯-赛德尔迭代法解下列方程组Ax=b,研究其收敛性,上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。
(1)A行分别为A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4];b1=[-3,2,4]T,b2=[100,-200,345]T,(2) A行分别为A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1]T,b2=[5,0,-10]T,(3)A行分别为A1=[1,3],A2=[-7,1];b=[4,6]T2.1计算结果初值均为0矩阵带入(1)A行分别为A1=[6,2,-1],A2=[1,4,-2],A3=[-3,1,4];b1=[-3,2,4]T,b2=[100,-200,345]T2) A行分别为A1=[1,0,8,0.8],A2=[0.8,1,0.8],A3=[0.8,0.8,1];b1=[3,2,1]T,b2=[5,0,-10]TT2.2结果分析ρ小于1,故方程组雅可比迭代收第一小题的经计算谱半径为5427B(=).0敛。
西南交通大学《数值分析报告》上机报告
目录目录 (1)序言(1) (2)1.1 C语言简介及结构 (2)1.2 C语言特点及优点 (2)1.3 选用原因 (3)第一题 (3)用雅格比法与高斯-赛德尔迭代法解下列方程组 (3)1.1题目 (4)1.2原理和思路 (4)1.3计算结果与分析 (7)第二题 (10)松弛因子对SOR法收敛速度的影响 (10)2.1题目 (10)2.2原理和思路 (10)2.3计算结果与分析 (12)序言(2) (16)第三题 (17)利用四阶Runge-Kutta算法求解微分方程的初值问题 (17)3.1题目 (17)3.2原理和思路 (17)3.3计算结果与分析 (18)附录1 Jacobi迭代法C语言源程序 (21)附录2 Gauss-Seidel迭代法程序代码 (23)附录3 SOR迭代法C语言源程序 (25)附录4 四阶Runge-Kutta算法程序代码 (27)总结与体会 (29)本报告系西南交通大学2011级硕士研究生《数值分析》课程的上机实习报告,由本人严格按照实习要求独立完成。
序言(1)在第一次给定的四道上机题中,我选择的是第三题(雅格比迭代法、高斯—赛德尔迭代法求解方程组的问题)和第四题(松弛因子对SOR法收敛速度的影响),本次上机实习基于Microsoft Visual 平台进行程序建立,采用C语言面向对象语言,从界面设计到结果输出,完成一个具有针对性的可视化Windows 应用程序的编制。
在此序言中,我将阐述C语言的基本结构、优特点以及选用这种语言进行编程的主要原因。
1.1C语言简介及结构C语言是一种计算机程序设计语言,由美国贝尔研究所的D.M.Ritchie于1972年推出。
1978后,C语言已先后被移植到大、中、小及微型机上,是目前世界上流行、使用最广泛的高级程序设计语言之一。
C语言既有高级语言的特点,又具有汇编语言的特点。
它不仅可以作为工作系统设计语言,编写系统应用程序;也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
西南交大数值分析题库插值逼近题库
xkj lk (0)
1, 0, ( 1) n x0 x1...xn
n k 0 n 1 xk lk ( x) n k 0
j 0 j 1,2,...,n j n 1
n f ( n 1) () wn 1 ( x) 其中,wn+1(x)= ( x (n 1)! j 0
n k 0
证明: f ( x)
f (3) () 2 (x 3! k 0 xk )
(3). 三次样条插值与一般分段 3 次多项式插值的区别是_____ (三次样条连续且光 滑,一般分段 3 次连续不一定光滑。) §2. 计算题 (1). (a10 分)依据下列函数值表,建立不超过 3 次的 lagrange 插值多项式 L3(x). x 0 1 2 3 f(x) 1 9 23 3 解:基函数分别为
xn
1
(x
j 0
xj )
n 1 xk lk ( x)
wn 1 ( x) 可见其为 n 次多项式,并且可得其最高次系数为
(x0+…+ xn) (5). 设函数 f(x)是 k 次多项式,对于互异节点 x1,…, xn,, 证明当 n>k 时,差商 f [x, x1,…,xn]0,当 nk 时,该差商是 k-n 次多项式。 证明:因 f [ x0 , x1 , , xn ]
多项式 P1(x)在子区间[a,b]上的余项估计式,再估计最值即可。
f ( x) P 1 ( x) f () ( x a)( x b) 2!
x3 , c( x 1)
2 3
hi2 max f // ( x) a 8 x b
0 x x 1 2
x [a, b]
(12). s(x)=
2
已知 s(x)是[0,2]上的已知自然边界条件的三次样条函数,试确定
西南交大研究生数值分析期末考试作业答案
序言随着科技的进步和经济的迅猛发展,计算机这一工具在人们的生活和工作中越来越重要,数值分析作为工程计算和科学计算连接计算机的一门基础课程日益受到人们的重视,数值分析这门课在我们整个研究生课程的学习中具有很重要的意义,对我们以后的工作学习有很重要的作用。
Matlab是与一个非常优秀的的计算机语言,集数学计算,仿真和函数绘图等于一体,是一款功能强大的数学软件,是科研机构进行数学建模分析、研究必要的工具。
本上机实习的所有内容都是采用Matlab7.0这个软件开发平台。
使用Matlab7.0语言所编写的程序,与Visual C++、Basic和Pascal程序相比,具有速度快、操作简单、修改方便、界面友好、功能强大等优势。
用C++自编程序解决问题针对性好,可以得到想要的各种结论,而用数学软件计算则有一定的局限性,因为数学软件的算法是封装的,甚至我们不知道命令的具体算法,另外数学软件的命令只能解决通用的计算问题,对需要特定结论的计算问题,比如得到迭代次数, 光用数学软件的命令便不能得到,而用C++编程则有很强的适应性,可以精细控制计算细节,得到一些想要的结论,但是对于常规的计算问题,比如拟合和插值以及解方程(组),如果只要结果,那么用软件计算比较有优势,所以对实际问题综合使用计算方法比较好.由于使用能力所限,有一些疏忽,恳请老师指正,在此感谢老师这个学期对我们的悉心教导。
第一题写出对一般的线性方程组通用的Gauss消元, Gauss-Seidel迭代程序。
并以下面的线性方程组为例进行计算,讨论所得到的计算结果是否与理论一致。
(1)6213100 1422200 3144345x--⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-=-⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭或(2)10.80.835 0.810.820 0.80.81110x⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪=⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭或(3)134 716x⎛⎫⎛⎫=⎪ ⎪-⎝⎭⎝⎭本题的思路为编写Gauss-Seidel迭带的函数,在matlab中运行,查看其收敛与否与收敛速度,然后验证迭代收敛的条件。
数值分析上机实习报告(西南交通大学)
数值分析上机实习报告姓名:学号:专业:大地测量学与测量工程电话:序言1.所用程序语言:本次数值分析上机实习采用Visual c#作为程序设计语言,利用Visual c#可视化的编程实现方法,采用对话框形式进行设计计算程序界面,并将结果用表格或文档的格式给出。
2.程序概述:(1)第一题是采用牛顿法和steffensen法分别对两个题进行分析,编好程序后分别带入不同的初值,观察与真实值的差别,分析出初值对结果的影响,分析两种方法的收敛速度。
(2)第二题使用Visual c#程序设计语言完成了“松弛因子对SOR法收敛速度的影响”,通过在可视化界面下输入不同的n和w值,点击按钮直接可看到迭代次数及计算结果,观察了不同的松弛因子w对收敛速度的影响。
目录一.用牛顿法,及牛顿-Steffensen法............ 错误!未定义书签。
1. 计算结果.................................... 错误!未定义书签。
2. 结果分析 (5)3. 程序清单 (5)二.松弛因子对SOR法收敛速度的影响 (8)1. 迭代次数计算结果 (8)2. 计算X()结果 (10)3. 对比分析 (12)4. 程序清单: (12)三.实习总结 (14)实验课题(一)用牛顿法,及牛顿-Steffensen法题目:分别用牛顿法,及牛顿-Steffensen法(1)求ln(x+sin x)=0的根。
初值x0分别取0.1, 1,1.5, 2, 4进行计算。
(2)求sin x=0的根。
初值x0分别取1,1.4,1.6, 1.8,3进行计算。
分析其中遇到的现象与问题。
1、计算结果由于比较多每种方法中只选取了其中两个的图片例在下面:2、结果分析通过对以上的牛顿法和steffensen法的练习,我发现在初值的选取很重要,好的初值选出后可以很快的达到预定的精度,要是选的不好就很慢,而且在有的时候得出的还是非数字,所以初始值的选取很重要。
硕士课程—数值分析题集(附答案).docx
2009-2010数值分析第一章绪论 (1)第二章函数插值 (2)第三章函数逼近 (5)第四章数值积分与数值微分 (10)第五章解线性方程组的直接解法 (12)第六章解线性方程组的迭代解法 (16)第七章非线性方程求根 (19)第九章常微分方程初值问题的数值解法 (21)第一章绪论1.1要使胸的相对误差不超过0.1%,应取几位有效数字?解:面的首位数字%=4。
设/有n位有效数字,由定理知相对误差限k(.r*)|<—xlO1^ =-xl0^1 r 1 2x4 84-xio1-" <0.1%, 8解得〃Z3.097,即需取四位有效数字.1.2 序列{/}满足关系式y,,=10y,_]-l(n = l,2,...),若y0=V2«1.41,计算到M。
,误差有多大?这个算法稳定吗?解:y0 = V2,y* =1.41,|y0 -y*| <^-xl0-2=5 ,于是|/i 一川=|1。
》0 —IT。
〉;+1| = 1。
|光 - 司 < 1。
5卜2-》;| = |10》1一1一10》;+1| = 10卜1一酣〈10逆, 一般地|儿一司<103 因此计算到Mo其误差限为1010^,可见这个计算过程是不稳定的。
1. 3计算球的体积,要使相对误差限为1%,问测量半径R时允许的相对误差限是多少?解:5,、九兀K ~-7tK R_R* R2+R*R + R*2R_R* 37?2R_R*。
,“ ,(v)= _2 ---------- 2 «■«.____________ = _____ 3 = 1% ' 4 f RR- R R 2 R-7lR 3》=一' ,即测量半径R 时允许的相对误差限是一、。
R 300300第二章函数插值2.1、利用如下函数值表构造差商表,并写出牛顿插值多项式。
进而得牛顿多项式为 地⑴=f (.%) + /■氏次』吼⑴+ /[.r (p x 1,.r 2]<»2(.r) + /[.r (p x 1,.r 2,.r 3]<»3(.r)1 1 33A^3 (x) = 3 + — (x -1) + — (x -1)(尤)-2(x- l)(x )x2. 2、已知f(-2) = 2, f(-1) = 1, f (0) = 2, f (0.5) = 3试选用合适的插值节点利用Lagrange 二次插值多项式计算f (-o.5)的近似值,使之精度 尽可能高。
西南交大数值分析题库填空
西南交大数值分析题库填空一. 填空2.Gauss型求积公式不是插值型求积公式。
(限填“是”或“不是”)3. 设l k(x)是关于互异节点x0, x1,…, x n, 的Lagrange 插值基函数,则 0m=1,2,…,n5.用个不同节点作不超过次的多项式插值,分别采用Lagrange 插值方法与Newton插值方法所得多项式相等(相等, 不相等)。
7. n个不同节点的插值型求积公式的代数精度一定会超过n-1次8.f(x)=ax7+x4+3x+1,f[20, 21,…,27]= a,f [20, 21,…,28]= 010设(i=0,1,…,n),则= _x_ , 这里(x i x j,ij, n2)11.设称为柯特斯系数则=______1____12采用正交多项式拟合可避免最小二乘或最佳平方逼近中常见的_法方程组病态___问题。
13辛卜生(Simpson)公式具有___3____次代数精度。
14 牛顿插商与导数之间的关系式为:15试确定[0,1]区间上2x3的不超过二次的最佳一致逼近多项式p(x), 该多项式唯一否?答:p(x)=(3/2)x, ; 唯一。
17.给定方程组记此方程组的Jacobi迭代矩阵为B J=(a ij)33,则a23= -1; ,且相应的Jacobi迭代序列是__发散_____的。
18.欧拉预报--校正公式求解初值问题的迭代格式(步长为h) ,此方法是阶方法。
,此方法是 2阶方法。
19. 2n阶Newton-Cotes公式至少具有2n+1次代数精度。
20.设,则关于的 ||f|| =121矩阵的LU分解中L是一个_为单位下三角阵,而U是一个上三角阵____。
22.设y=f (x1,x2) 若x1,x2,的近似值分别为x1*, x2*,令y*=f(x1*,x2*)作为y的近似值,其绝对误差限的估计式为: ||f(x1*,x2*)|x1-x*1|+ |f(x1*,x2*)|x2-x*2|23设迭代函数(x)在x*邻近有r(1)阶连续导数,且x* = (x*),并且有(k) (x*)=0 (k=1,…,r-1),但(r) (x*)0,则x n+1=(x n)产生的序列{ x n }的收敛阶数为___r___24设公式为插值型求积公式,则, 且=b-a25称微分方程的某种数值解法为p阶方法指的是其局部截断误差为O(h p+1)。
西南交通大学研究 数值分析上机实习报告2012
数值分析上机实习报告要求1.应提交一份完整的实习报告。
具体要求如下:(1)要有封面,封面上要标明姓名、学号、专业和联系电话;(2)要有序言,说明所用语言及简要优、特点,说明选用的考量;(3)要有目录,指明题目、程序、计算结果,图标和分析等内容所在位置,作到信息简明而完全;(4)要有总结,全方位总结机编程计算的心得体会;(5)尽量使报告清晰明了,一般可将计算结果、图表及对比分析放在前面,程序清单作为附录放在后面,程序中关键部分要有中文说明或标注,指明该部分的功能和作用。
2.程序需完好保存到期末考试后的一个星期,以便老师索取用于验证、询问或质疑部分内容。
3.认真完成实验内容,可以达到既学习计算方法又提高计算能力的目的,还可以切身体会书本内容之精妙所在,期间可以得到很多乐趣。
4.拷贝或抄袭他人结果是不良行为,将视为不合格。
5.报告打印后按要求的时间提交给任课老师。
上机实习必须在规定的时间内完成,可要求在考前或考后一个星期内提交。
不合格者和不交者不通过数值分析2012年上机试题1. 已知:a=-5,b=5, 以下是某函数f(x)的一些点(x k,y k), 其中x k=a+0.1(k-1) ,k=1,..,101x k=a+0.1k,请用插值类方法给出函数f(x)的一个解决方案和具体结果。
并通过实验考虑下列问题实验前分析:所给的节点一共有101个,用Lagrange插值发最高可以做次数100的插值多项式做低次插值是需要进行分组,间插值区域分成互不重叠的区间。
分组时须按区间位置高低的顺序依次划分,有可能最后余下的区间节点数不足够做n次的Lagrange插值多项式,需要特殊处理。
分完组后在分得的区间套用插值公式得到:(1)(2)(),,,m n n n L L L ,那么最后的插值多项式是分段的多项式:(1)1(2)2()(),(),()(),n nn m nmL x x I L x x I L x L x x I ⎧∈⎪∈⎪=⎨⎪⎪∈⎩实验结果:下面列出其中某些次的插值多项式5()L x 的系数(1) Ln(x)的次数n 越高,逼近f(x)的程度越好? 答:不是,比如2()1/(1)f x x =+时1201()1()1()()nn j j j n jx Ln x x x x x ωω+=+='+-∑当n →∞时只在 3.63x ≤内收敛,在这区间外是发散的。
西南交大数值分析题库分析题库1(方程,迭代)
(1) x
(cos x
解答
(1) ( x)
(cos x
( x)
故能用迭代法求根。 (2)方程为 x
( sin x
x
简单迭代法的充分条件来出本题方法的收敛性条件。
x
f ( x) / f ( x0 ) ,则 ( x)
L 1 (在 x*的邻域内)是
xn
1
xn
即 解得
f ( xn ) / f ( x0 ) 收敛的一个充分条件,
1
f ( x) / f ( x0 )
L 1
1 1 L 1 ,使对任何 x [a, b] 上式都能成立的话,单调
xk
1.368869419 1.368808109 1.368808108
x5
1.368808108 。
注记 由上两题知,要达到同样的精度,牛顿法的迭代次数不一定比弦割法少,尽管牛 顿法是平方收敛的。究竟二者谁的迭代次数少,要视问题而定。另外就整体计算时间而言, 当牛顿法中 f ( xk ) 的计算量超过 f ( xk ) 的计算量的 44%时,双点弦割法的总计算时间较牛 顿法的少,见参考文献 7. 例 4-10 能不能用迭代法求解下列方程,如果不能时,试将方程改写成能用迭代法求解的 形式。
1 ,使
5
4.8x 0.51 1.141213562
2
0
1.2 1.397989899 1.414120505 1.414213559 1.414213562
曲线 y
2.4 x2 1.89 在点(1.6,1)附近相切,试用牛顿
(西南交大)数值分析题库-方程组
例5-10 求矩阵Q 的||Q ||1,||Q ||2,||Q ||∞与Cond 2(Q),其中⎪⎪⎪⎪⎪⎭⎫⎝⎛------=1111111111111111Q 分析 这实际上是基本概念题,只要熟悉有关范数与条件数的定义即可。
解答 (1)由定义,显然||Q ||1=4 (2)因Q T Q=4I ,故24)(||||max 2===Q Q Q T λ(3)由定义显知4||||=∞Q (4)因Q T Q=4I ,故T Q Q 411=-,从而T T QQ Q Q 161)()(11=--==---)]()[(||||11max 21Q Q Q T λ21)41()161(max max ==I QQ T λλ 所以1212||||||||)(Cond 2122=⋅=⋅=-Q Q Q 例5-12 设有方程组AX=b ,其中⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎭⎫⎝⎛-=3231 21 ,220122101b A已知它有解⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=0 3121 X . 如果右端有小扰动61021||||-∞⨯=b δ,试估计由此引起的解的相对误差。
分析 本题是讨论方程组的右端项的小误差所引起的解的相对误差的估计问题,这与系数矩阵的条件数有关,只要求出Cond ∞(A),再由有关误差估计式即可算得结果。
解答 容易求得⎪⎪⎪⎭⎫ ⎝⎛-----=-1125.1121111A ,从而Cond ∞(A)=22.5由公式∞∞∞∞∞⋅≤||||||||)(||||||||b b A Cond X X δδ有56106875.13/210215.22|||||||--∞∞⨯=⨯⨯≤bX X δ例5-13 试证明矩阵A 的谱半径与范数有如下关系||||)(A A ≤ρ其中||A||为A 的任何一种算子范数。
分析 由于谱半径是特征值的绝对值的最大者,故由特征值的定义出发论证是自然的。
证明 由特征值定义,对任一特征值λ有 AX=λX (X ≠0,特征向量) 取范数有 ||AX||=|λ| ⋅ ||X||由于范数||A||是一种算子范数,故有相容关系 ||AX||≤||A|| ⋅ ||X|| 从而|λ| ⋅ ||X||≤||A|| ⋅ ||X|| 由于X ≠0,故|λ|≤||A||,从而 ρ(A) ≤ ||A||例5-18 设A,B 为n 阶矩阵,试证Cond(AB) ≤ Cond(A) ⋅ Cond(B)分析 由条件数定义和矩阵范数的性质即可证明。
(2021年整理)西南交通大学数值分析题库完整版
(完整版)西南交通大学数值分析题库完整版编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)西南交通大学数值分析题库完整版)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)西南交通大学数值分析题库完整版的全部内容。
(完整版)西南交通大学数值分析题库完整版编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望(完整版)西南交通大学数值分析题库完整版这篇文档能够给您的工作和学习带来便利。
同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为 <(完整版)西南交通大学数值分析题库完整版> 这篇文档的全部内容.考试目标及考试大纲本题库的编纂目的旨在给出多套试题,每套试题的考查范围及难度配置均基于“水平测试”原则,按照教学大纲和教学内容的要求,通过对每套试题的解答,可以客观公正的评定出学生对本课程理论体系和应用方法等主要内容的掌握水平。
通过它可以有效鉴别和分离不同层次的学习水平,从而可以对学生的学习成绩给出客观的综合评定结果。
本题库力求作到能够较为全面的覆盖教学内容,同时突显对重点概念、重点内容和重要方法的考查。
考试内容包括以下部分:绪论与误差:绝对误差与相对误差、有效数字、误差传播分析的全微分法、相对误差估计的条件数方法、数值运算的若干原则、数值稳定的算法、常用数值稳定技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析上机报告指导教师:赵海良班级:姓名:学号:电话:2011年12月序随着计算机技术的迅速发展,数值分析在工程技术领域中的应用越来越广泛,并且成为数学与计算机之间的桥梁。
要解决工程问题,往往需要处理很多数学模型,不仅要研究各种数学问题的数值解法,同时也要分析所用的数值解法在理论上的合理性,如解法所产生的误差能否满足精度要求:解法是否稳定、是否收敛及熟练的速度等。
由于工程实际中所遇到的数学模型求解过程迭代次数很多,计算量很大,所以需要借助如MATLAB,C++,VB,JA V A的辅助软件来解决,得到一个满足误差限的解。
本文所计算题目,均采用C++编程。
C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。
它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格,在实际工程中得到了广泛应用,对解决一些小型数学迭代问题,C++软件精度已满足相应的精度。
本文使用C++对牛顿法、牛顿-Steffensen法对方程求解,对雅格比法、高斯-赛德尔迭代法求解方程组迭代求解,对Ru n ge-Kutt a 4阶算法进行编程,并通过实例求解验证了其可行性,并使用不同方法对计算进行比较,得出不同方法的收敛性与迭代次数的多少,比较不同方法之间的优缺性,比较各种方法的精确度和解的收敛速度。
目录第一章牛顿法和牛顿-Steffensen法迭代求解的比较 (1)1.1 计算题目 (1)1.2 计算过程和结果 (1)1.3 结果分析 (2)第二章 Jacobi迭代法与Causs-Seidel迭代法迭代求解的比较 (2)2.1 计算题目 (2)2.2 计算过程与结果 (2)2.3 结果分析 (3)第三章 Ru n ge-Kutt a 4阶算法中不同步长对稳定区间的作用 (4)3.1 计算题目 (4)3.2 计算过程与结果 (4)3.3 结果分析 (4)总结 (5)附件 (6)附件 1(1.1第一问牛顿法) (6)附件 2(1.1第一问牛顿-Steffensen法) (6)附件 3(1.1第二问牛顿法) (6)附件 4(1.1第二问牛顿-Steffensen法) (7)附件 5(2.1 Jacobi迭代法) (7)附件 6(2.1Causs-Seidel迭代法) (8)附件 7(3.1 Ru n ge-Kutt a 4阶算法) (9)第一章 牛顿法和牛顿-Steffensen 法迭代求解的比较1.1 计算题目分别用牛顿法,及基于牛顿算法下的Steffensen 加速法(1) 求ln(x +sin x )=0的根。
初值x0分别取0.1, 1,1.5, 2, 4进行计算。
(2) 求sin x =0的根。
初值x0分别取1,1.4,1.6, 1.8,3进行计算。
分析其中遇到的现象与问题。
1.2计算过程和结果1.对方程ln(x +sin x )=0,其导数有些复杂,我们可以对其进行变形,即求解x+sinx=1的解。
使用牛顿法,令1sin )(-+=x x x f ,则x x f cos 1)(+=',直至51101||-+⨯<-k k x x 时,结束迭代;然后再使用基于牛顿法的Steffensen 加速法进行计算,直至51101||-+⨯<-k k x x 时,结束迭代。
其迭代结果与迭代次数如下表所示(注N1为牛顿法迭代次数,N2为基于牛顿法Steffensen 加速法迭代次数):2.对方程sin x =0,使用牛顿法时,令x x f sin )(=,使用牛顿法计算,直至51101||-+⨯<-k k x x 时,结束迭代;然后依据Steffensen 加速法进行编程计算,直至51101||-+⨯<-k k x x 时,结束迭代。
其迭代结果与迭代次数如下表所示:1.3结果分析(1)从牛顿与Steffensen 加速法可以看出,牛顿—Steffensen 加速法迭代速度明显快于牛顿加速法,从计算结果可以看出,x=0.510973处取得精确值,而在x0=0.1,1处收敛速度较快,说明牛顿法与基于牛顿法Steffensen 加速法在单根附近有较快的收敛速度,迭代法是否收敛,与初始近似值x0的好坏很有关系。
(2)从sinx=0使用两种方法可以看出,Steffensen 加速法迭代速度明显快于牛顿加速法,且牛顿法和基于牛顿法Steffensen 加速法在单根附近有较快的收敛速度,迭代法是否收敛,与初始近似值x0的好坏很有关系,如在x0=1.6处,得到的收敛解很大,这是因为0)/1806.1cos()6.1(≈⨯='πf ,很难说明f(x)在此处是否发散或者是否收敛。
第二章 Jacobi 迭代法与Causs-Seidel 迭代法迭代求解的比较2.1计算题目用雅格比法与高斯-赛德尔迭代法解下列方程组Ax =b ,研究其收敛性,上 机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。
(1)A 行分别为A 1=[6,2,-1],A 2=[1,4,-2],A 3=[-3,1,4]; b 1=[-3,2,4]T , b 2=[100,-200,345]T ,(2) A 行分别为A 1=[1,0,8,0.8],A 2=[0.8,1,0.8],A 3=[0.8,0.8,1];b 1=[3,2,1] T , b 2=[5,0,-10]T ,(3)A 行分别为A 1=[1,3],A 2=[-7,1];b =[4,6]T ,2.2计算过程与结果1.采用C++进行编程,分别采用用雅格比法与高斯-赛德尔迭代法对问题(1)进行迭代,x0= [0,0,0]T 为初始值。
2.采用C++进行编程,分别采用用雅格比法与高斯-赛德尔迭代法对问题(2)进行迭代,x0= [0,0,0]T 为初始值。
3.采用C++进行编程,分别采用用雅格比法与高斯-赛德尔迭代法对问题(3)进行迭代,x0= [0,0]T 为初始值。
2.3 结果分析问题(1)中因系数矩阵严格对角占优,所以,无论采用Jacobi 迭代法还是Causs-Seidel 迭代法,其迭代过程均收敛。
从迭代次数来看,方程组Ax =b 1中Jacobi 迭代法使用迭代次数20次,而Causs-Seidel 迭代法使用迭代次数12次;方程组Ax =b 2中Jacobi 迭代法使用迭代次数26次,而Causs-Seidel 迭代法使用迭代次数17次。
可明显看出,在方程组绝对收敛的条件下,Causs-Seidel 迭代法比Jacobi 迭代法收敛速度快。
问题(2)中,使用Jacobi 迭代法方法时,其方程组不收敛,而采用Causs-Seidel 迭代法迭代时,方程Ax =b 1迭代37次,得到准确解;方程Ax =b 2迭代44次,得到准确解。
这是因为,Jacobi 迭代矩阵为:08.08.08.008.08.08.00------ ,经计算其特征值λ为-1.6,0.8,0.8,其谱半径为=)(B ρ 1.6>1,所以其迭代矩阵发散。
而Causs-Seidel 迭代矩阵为:768.0128.0016.064.008.08.00---,经计算其特征值λ为0,0.7040 +0.1280i ,0.704280i ,其谱半径为=)(B ρ0.7155<1,所以采用Causs-Seidel 迭代法时,方程收敛。
问题(3)中,采用Jacobi 迭代法和Causs-Seidel 迭代法其方程均不收敛,这是因为,Jacobi 迭代矩阵为:0730-,经计算其特征值λ为-4.5826i ,4.5826i其谱半径为=)(B ρ 4.5826>1,迭代方法发散。
Causs-Seidel 迭代矩阵为:21030--,经计算其特征值λ为0,21,其谱半径为=)(B ρ,21>1,迭代方法发散。
如果将方程系数矩阵两行进行交换,则为严格对角优势阵,无论采用Jacobi 迭代法还是Causs-Seidel 迭代法,其矩阵均收敛。
第三章 Ru n ge-Kutt a 4阶算法中不同步长对稳定区间的作用3.1计算题目用Ru n ge-Kutt a 4阶算法对初值问题y /=-20*y ,y (0)=1按不同步长求解,用于观察稳定区间的作用,推荐两种步长h=0.1,0.2。
注:此方程的精确解为:y =e -20x3.2 计算过程与结果使用C++中函数调用功能,对Ru n ge-Kutt a 4阶算法,分别采用步长h=0.1,0.2计算,得:3.3 结果分析从上述计算结果可以看出,当步长h=0.1时,其结果精确,在x=1.0处,误差为1.693293885E-05而步长为h=0.2时,其迭代过程不收敛,说明用Ru n ge-Kutt a4阶算法是否收敛与步长h有关。
因当λ=-20,h=0.2时,λh=-4,不在Ru n ge-Kutt a 4阶算法的绝对稳定区间[-2.785,0]之间,计算不稳定。
而当h=0.1时,λh=-2,在绝对稳定区间内,计算稳定,结果可靠。
总结通过这次上机练习,让我对数值分析所介绍的迭代求解方法及其理论有了更深层次的理解,通过对比,使我认识到各种方法的优缺点,并使我认识到学习数值分析中的不足,时的修补了自己知识上的漏洞,以便在复习与以后的工作中得以加强。
同时,通过本次上机实习,复习了本科阶段所学习的C++编程,提高了编程的熟练度,并将编程能应用到实际的工作中去,解决实际遇到的工程问题以及数学问题,加强了两门学科之间的联系。
总之,本次上机实习使我获益匪浅,给予我编程与数值分析学习很大的帮助。
附件附件 1(1.1第一问牛顿法)#include<iostream.h>#include<math.h>#define EPS 1.0e-5int main(){double x=0.0;double y=0.0;int n=0;cout<<"请输入初值X0"<<endl; cin>>x;do{y=x;x=x-(x+sin(x)-1)/(1+cos(x)); n++;}while(fabs(x-y)>=EPS);cout<<"X"<<n<<"="<<x<<endl; cout<<"迭代次数为N="<<n<<endl; }附件 2(1.1第一问牛顿-Steffensen法)#include<iostream.h>#include<math.h>#define EPS 1.0e-5 int main(){double x=0.0;double y=0.0;double z=0.0;double a=0.0;int n=0;cout<<"请输入初值x0"<<endl; cin>>x;do{a=x;y=x-(x+sin(x)-1)/(1+cos(x));z=y-(y+sin(y)-1)/(1+cos(y));x=x-(y-x)*(y-x)/(z-2*y+x);n++;}while(fabs(x-a)>=EPS);cout<<"x"<<n<<"="<<x<<endl; cout<<"迭代次数N="<<n<<endl; }附件 3(1.1第二问牛顿法)#include<iostream.h>#include<math.h>#define EPS 1.0e-5int main(){double x=0.0;double y=0.0;int n=0;cout<<"请输入初值X0"<<endl; cin>>x;do{y=x;x=x-tan(x);n++;}while(fabs(x-y)>=EPS);cout<<"X"<<n<<"="<<x<<endl; cout<<"迭代次数为N="<<n<<endl; }附件 4(1.1第二问牛顿-Steffensen法)#include<iostream.h>#include<math.h>#define EPS 1.0e-6int main(){double x=0.0;double y=0.0;double z=0.0;double a=0.0;int n=0;cout<<"请输入初值x0"<<endl; cin>>x;do{a=x;y=x-tan(x);z=y-tan(y);x=x-(y-x)*(y-x)/(z-2*y+x);n++;}while(fabs(x-a)>=EPS);cout<<"x"<<n<<"="<<x<<endl; cout<<"迭代次数N="<<n<<endl; }附件 5(2.1 Jacobi迭代法)#include<iostream.h>#include<math.h>#define EPS 1.0e-5int main(){int N,bk=0;int i,j,l=0;float fnum;cout<<"请输入N值";cin>>N;double a[12][12],b[10],c[12],x[12], y[12], t=0,temp=0;cout<<"请输入矩阵A"<<endl; for(i=0;i<N;i++)for(j=0;j<N;j++){cout<<"a"<<i<<j<<"=";cin>>a[i][j];}{for(j=0;j<N;j++)cout<<a[i][j]<<" ";cout<<endl;}cout<<"请输入b"<<endl;for(i=0;i<N;i++){cout<<"b"<<i<<"="<<" ";cin>>b[i];}cout<<"请输入x0"<<endl;for(i=0;i<N;i++)cin>>x[i];for(i=0;i<N;i++){c[i]=1/a[i][i];a[i][i]=0;}while(bk!=1){for(i=0;i<N;i++){for(j=0;j<N;j++)temp=temp-a[i][j]*x[j];y[i]=c[i]*(temp+b[i]);temp=0;}for(i=0;i<N;i++)fnum=float(fabs(x[i]-y[i]));if(t<fnum) t=fnum;}if(t<=0.00001) bk=1;t=0;for(i=0;i<N;i++)x[i]=y[i];l++;}for(i=0;i<N;i++)cout<<x[i]<<" "<<endl;cout<<"迭代次数N为"<<l;}附件 6(2.1Causs-Seidel迭代法)#include<iostream.h>#include<math.h>#define EPS 1.0e-5int main(){int N,bk=0;int i,j,l=0;float fnum;cout<<"请输入N值";cin>>N;double a[12][12],b[10],c[12],x[12],y[12],z[12],t=0,temp=0;cout<<"请输入矩阵A"<<endl;for(j=0;j<N;j++){cout<<"a"<<i<<j<<"="; cin>>a[i][j];}for(i=0;i<N;i++){for(j=0;j<N;j++)cout<<a[i][j]<<" ";cout<<endl;}cout<<"请输入b"<<endl;for(i=0;i<N;i++){cout<<"b"<<i<<"="<<" ";cin>>b[i];}cout<<"请输入x0"<<endl;for(i=0;i<N;i++)cin>>x[i];for(i=0;i<N;i++){c[i]=1/a[i][i];a[i][i]=0;}while(bk!=1){for(i=0;i<N;i++)z[i]=x[i];for(i=0;i<N;i++)for(j=0;j<N;j++)temp=temp-a[i][j]*z[j];y[i]=c[i]*(temp+b[i]);z[i]=y[i];temp=0;}for(i=0;i<N;i++){fnum=float(fabs(x[i]-y[i]));if(t<fnum) t=fnum;}if(t<=0.00001) bk=1;t=0;for(i=0;i<N;i++)x[i]=y[i];l++;}for(i=0;i<N;i++)cout<<x[i]<<" "<<endl;cout<<"迭代次数N为"<<l;}附件 7(3.1 Ru n ge-Kutt a 4阶算法)#include <iostream.h>void main(){double x0,y0,h,x;double x1,y1,k1,k2,k3,k4;cout<<"请输入初值x0,y0:";cin>>x0>>y0;cout<<"请输入最大X:";cin>>x;cout<<"请输入步长的大小:"; cin>>h; double f(double x,double y);for(int n=1;n<=x/h;n++,x0=x1,y0=y1) {x1=x0+h;k1=f(x0,y0);k2=f(x0+h/2,y0+(h/2)*k1);k3=f(x0+h/2,y0+(h/2)*k2);k4=f(x0+h,y0+h*k3);y1=y0+h*(k1+2*k2+2*k3+k4)/6;}cout<<"y1="<<y1;}double f(double x,double y){return -20*y;}。