计算方法上机题目

合集下载

上机报告-二分法,史蒂芬森迭代,割线法

上机报告-二分法,史蒂芬森迭代,割线法

计算方法上机实习报告[题目及目的要求]1.用二分法求方程0163=--x x 在[0,5]上根的近似值。

用牛顿迭代法求0133=--x x 在2=x 附近的实根。

2.完成史蒂芬森迭代加速法和割线法的子程序,并利用方程010423=--x x 对比对分法与一般迭代法。

[方法原理说明]1.二分法和牛顿迭代法:二分法是逐次把有根区间分半,舍弃无根区间而保留有根区间的一种逼近根的方法。

在这个过程中有根区间的长度以2的幂次方减少,当有根区间的长度小于给定的精度时,其中点就作为根的近似值。

牛顿迭代法的迭代格式为: 初值0x ()()k k k k x f x f x x '1-=+ (k=0,1,2....)显然,牛顿迭代格式能够迭代下去必须要求()k x f 的导数不能为0.当某个()0'=k x f 或很小时,迭代中断;当()k x f 满足一定条件时,牛顿迭代具有平方收敛速度。

该方法对初值0x 要求较高,若选取不当,则可能发散,若选取的好,则收敛很快。

2.史蒂芬森迭代加速法和割线法迭代法就是通过一个迭代格式进行反复迭代以产生一个序列。

若这个序列收敛于方程的根,就称这个迭代格式收敛。

史蒂芬森迭代加速法的迭代格式为()k k k k k k k x y z x y x x +---=+221()k k x f y = ,()k k y f z = (k=0,1,2....)割线法与牛顿迭代法一样,即在根的某个邻域内,()k x f 有直至二阶的连续导数,且()0'≠k x f ,则在邻域内选取初值10,x x ,迭代均收敛。

割线法的迭代格式为初值10,x x()()()()111--+---=k k k k k k k x x x f x f x f x x (k=2,3....)[计算步骤]1.二分法:1)给定a,b 及精度要求ep ; 2)计算x=(a+b )/2 及()k x f ;3)若b-a<ep ,则返回主程序,x 作为近似根,否则转4; 4)若()()0<a f x f ,则b x ⇒,否则a x ⇒; 5)转2。

计算方法上机作业

计算方法上机作业

计算方法上机作业上机实习题目1.某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。

在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。

已探测到一组等分点位置的深度数据(单位:米)如下表所示:分点0 1 2 3 4 5 6深度9.01 8.96 7.96 7.97 8.02 9.05 10.1 3分点7 8 9 10 11 12 13深度11.1812.2613.2813.3212.6111.2910.22分点14 15 16 17 18 19 20深度9.15 7.90 7.95 8.86 9.81 10.810.93(1)请用合适的曲线拟合所测数据点;(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;(1)算法思想分段多项式是由一些在相互连接的区间上的不同多项式连接而成的一条连续曲线,其中三次样条插值方法是一种具有较好“光滑性”的分段插值方法。

在本题中,假设所铺设的光缆足够柔软,在铺设过程中光缆触地走势光滑,紧贴地面,并且忽略水流对光缆的冲击。

计算光缆长度时,用如下公式:20()L f x ds=⎰200(f x =⎰191(k kk f x +==∑⎰= 本题采取三次样条插值的方法,因为三次样条插值方法是一种具有较好“光滑性”的分段插值方法。

根据提供的数据,只用x,y 值,不包含导数值,因此采用第三类三次插值多项式进行插值编程。

设计算法如下: 1.For n i ,,2,1,0⋅⋅⋅=1.1 i i M y ⇒2.For 2,1=k2.1 For k n n i ,,1, -=2.1.1 i k i i i i M x x M M ⇒----)/()(13. 101h x x ⇒-4.For 1-,,2,1n i =4.1 11++⇒-i i i h x x4.2ba c c h h h i i i i i i ⇒⇒-⇒+++2;1;)/(114.3 i i d M ⇒+165.000;;c M d M d n n ⇒⇒⇒λnn n b a b ⇒⇒⇒2;;20μ6. 1111,γμ⇒⇒d b7.获取M 的矩阵元素个数,存入m8.For m k ,,3,2 =8.1kk k l a ⇒-1/μ8.2 k k k k c l b μ⇒⋅-1- 8.3 kk k k l d γγ⇒⋅-1-9.m m m M ⇒μγ/10. For 1,,2,1 --=m m k 10.1 k k k k k M M c ⇒⋅-+μγ/)(1 11. 获取x 的元素个数存入s 12. k ⇒113. For 1,,2,1-=s i 13.1 ifix x ≤~ then k i ⇒;breakelse k i ⇒+114.xx x x x x h x x k k k k ˆ~;~;11⇒-⇒-⇒---yh x h M y x h M y x M x M k k k k k k ~/]ˆ)6()6(6ˆ6[2211331⇒-+-++---(3)源程序clear; clc;x=0:1:20; %产生从0到20含21个等分点的数组 X=0:0.2:20;y=[9.01,8.96,7.96,7.97,8.02,9.05,10.13,11.18,12.26,13.28,13.32,12.61,11.29,10.22,9.15,7.90,7.95,8.86,9.81,10.80,10.93]; %等分点位置的深度数据n=length(x); %等分点的数目 N=length(X);%% 求三次样条插值函数s(x)M=y;for k=2:3; %计算二阶差商并存放在M中 for i=n:-1:k;M(i)=(M(i)-M(i-1))/(x(i)-x(i-k+1));endendh(1)=x(2)-x(1); %计算三对角阵系数a,b,c及右端向量d for i=2:n-1;h(i)=x(i+1)-x(i);c(i)=h(i)/(h(i)+h(i-1));a(i)=1-c(i);b(i)=2;d(i)=6*M(i+1);endM(1)=0; %选择自然边界条件M(n)=0;b(1)=2;b(n)=2;c(1)=0;a(n)=0;d(1)=0;d(n)=0;u(1)=b(1); %对三对角阵进行LU分解y1(1)=d(1);for k=2:n;l(k)=a(k)/u(k-1);u(k)=b(k)-l(k)*c(k-1);y1(k)=d(k)-l(k)*y1(k-1);endM(n)=y1(n)/u(n); %追赶法求解样条参数M(i)for k=n-1:-1:1;M(k)=(y1(k)-c(k)*M(k+1))/u(k);ends=zeros(1,N);for m=1:N;k=1;for i=2:n-1if X(m)<=x(i);k=i-1;break;elsek=i;endendH=x(k+1)-x(k); %在各区间用三次样条插值函数计算X点处的值x1=x(k+1)-X(m);x2=X(m)-x(k); s(m)=(M(k)*(x1^3)/6+M(k+1)*(x2^3)/6+(y(k)-(M(k)*(H^2)/6))*x1+(y(k+1)-(M(k+1)*(H^2)/6))*x2)/H;end%% 计算所需光缆长度L=0; %计算所需光缆长度for i=2:NL=L+sqrt((X(i)-X(i-1))^2+(s(i)-s(i-1))^2);enddisp('所需光缆长度为 L=');disp(L);figureplot(x,y,'*',X,s,'-') %绘制铺设河底光缆的曲线图xlabel('位置X/测量点','fontsize',16); %标注坐标轴含义ylabel('深度Y/m','fontsize',16);title('铺设河底光缆的曲线图','fontsize',16);grid;(4)结果与分析铺设海底光缆的曲线图如下图所示:拟合结果表明,运用分段三次样条插值所得的拟合曲线能较准确地反映铺设光缆的走势图。

大学C 上机实验题目(版)

大学C 上机实验题目(版)

20XX年复习资料大学复习资料专业:班级:科目老师:日期:实验前言(建议认真阅读)一、上机实验的目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解C++语言的基本结构和程序设计方法。

通过亲手编程掌握C++语言编程的方法。

二、实验基本内容为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了五个实验。

学生在课内机时先完成指导书中标有“*”号的程序,理解所学的知识,在此基础上再编写其他应用程序。

指导书中的五个个实验如下:1. 函数与编译处理2. 指针与引用3. 类和对象4. 继承和派生类5. 多态性三、实验提交(特别提醒)1. 实验题目以附件形式提交,每个附件限一个源程序,附件以实验编号-题号-自己学号.cpp命名;如学号为20XXXX20XXXX20XXXX34的同学提交实验1的第5题,则附件命名方式为:1-5-20XXXX20XXXX20XXXX34.cpp,错误提交的将视为未提交。

2. 提交时间定为该次实验课的一周内,过期不再接收。

四、评分和作弊处理1. 要求提交实验题总数为6题(带“*”号),占期末总评成绩的20XX%;2. 存在抄袭和被抄袭的作业,无论抄袭与被抄袭者,本门课程平时成绩以零分记。

存在两次及两次以上抄袭和被抄袭者,本门课程以不及格记。

五、实验课要求(重点强调)1. 严禁QQ、MSN等即时软件工具聊天;2. 严紧接听手机、发送短信;3. 严紧玩游戏。

实验1 函数与编译处理一、实验目的1. 掌握函数声明、定义和使用的方法;2. 掌握形参与实参之间的对应关系;3. 掌握函数调用时,形参、实参之间的“值传递”和“引用传递”的区别;4. 掌握函数递归调用的方法;5. 掌握全局变量、局部变量、静态变量的使用方法;6. 掌握文件包含的使用方法。

二、实验内容1. 定义两个函数swap1和swap2,目的是实现两个整数的次序交换,其中swap1的参数是传递值参数,swap2的参数是引用参数,在程序中分别调用这两个函数,其输出结果如下所示:初始值:x=1,y=2调用swap1后的结果:x=1 y=2调用swap2后的结果:x=2 y=12. 编写一个函数,用来计算从键盘上输入的整数的阶乘。

数值分析上机题目

数值分析上机题目

数值分析上机题目4(总21页) --本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--实验一实验项目:共轭梯度法求解对称正定的线性方程组 实验内容:用共轭梯度法求解下面方程组(1) 123421003131020141100155x x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪--- ⎪ ⎪ ⎪=⎪ ⎪ ⎪-- ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ 迭代20次或满足()(1)1110k k x x --∞-<时停止计算。

编制程序:储存m 文件function [x,k]=CGmethod(A,b)n=length(A);x=2*ones(n,1);r=b-A*x;rho=r'*r; k=0;while rho>10^(-11) & k<1000 k=k+1; if k==1 p=r; elsebeta=rho/rho1; p=r+beta*p; end w=A*p;alpha=rho/(p'*w); x=x+alpha*p; r=r-alpha*w; rho1=rho;rho=r'*r; end运行程序: clear,clcA=[2 -1 0 0;-1 3 -1 0;0 -1 4 -1;0 0 -1 5]; b=[3 -2 1 5]'; [x,k]=CGmethod(A,b)运行结果: x =(2) Ax b =,A 是1000阶的Hilbert 矩阵或如下的三对角矩阵, A[i,i]=4,A[i,i-1]=A[i-1,i]=-1,i=2,3,..,n b[1]=3, b[n]=3, b[i]=2,i=2,3,…,n-1迭代10000次或满足()()710k k r b Ax -=-≤时停止计算。

编制程序:储存m 文件function [x,k]=CGmethod_1(A,b) n=length(A);x(1:n,1)=0;r=b-A*x;r1=r; k=0;while norm(r1,1)>10^(-7)&k<10^4 k=k+1; if k==1 p=r; elsebeta=(r1'*r1)/(r'*r);p=r1+beta*p; end r=r1; w=A*p;alpha=(r'*r)/(p'*w); x=x+alpha*p; r1=r-alpha*w; end运行程序: clear,clc n=1000; A=hilb(n); b=sum(A')';[x,k]=CGmethod(A,b)实验二1、 实验目的:用复化Simpson 方法、自适应复化梯形方法和Romberg 方法求数值积分。

计算方法大作业1 克服Runge现象

计算方法大作业1  克服Runge现象

x3
x2
x
1
S1 ( x)
-0.34685
0.2086
0.073964
0.038462
S2 (x)
S (xi 0 ) S x(i 0 )

S
'
(xi

0) S
xi' (
0 )i

S
'
'
x(i

0)S
xi' ' (
0)
1 ,n2, . . . , 1
(1)
这里共有了 3n-3 个条件,再加上条件(2)中的 n+1 个插值条件,共有 4n-2 个条件,
因此还需要 2 个方程才能确定 S (x) .通常可在区间[a, b]的端点 a x0,b xn 上各加一个边

dn1

1
2


Mn


dn

(6)
2 1


2
2
2
1 M1 d1

M2


d2




n 1
2
n
1


M
n
1

dn1
n
n 2 M n dn
由式(1)内点拼接条件,可得
i M i1 2M i i M i1 d j i 1, 2,..., n 1
(3) (4)
其中
i

hi 1 hi1
, hi

i

hi hi 1

计算方法二分法实验

计算方法二分法实验

计算方法上机实验报告土木0804上机题目;利用二分法求下列方程在【5.5-6.5】的根实验目的:本实验通过二分法对方程求解,通过观察方程x1,x2随二分次数增加而起的变化,以及通过改变方程中七次项系数微小变化对方程求解的影响,加深对二分法求解方程的理解。

并锻炼C语言编程能力。

实验分析:二分法求解采用的是根的存在定理(零点定理):f(x)为[a,b]上的连续函数,若f(a)·f(b)<0,则[a,b]中至少有一个实根。

如果f(x)在[a,b]上还是单调递增或递减的,则f(x)=0仅有一个实根。

取[a,b]的中点x=(a +b)/2作为问题的近似解,那么我们可以估计出绝对误差限仅为区间长的一半,即e=(b-a)/2。

如果这个结果能满足精度要求,我们就停止进一步的计算;如果不能,就求出f(x),结果只能是下面三种情况之一:(1) f(a)·f(x)<0,此时我们有x*∈[a,x];(2) f(x)·f(b)<0,此时我们有x*∈[x,b];(3) f(x)=0,此时x即为问题的精确解。

在前两种情况下,我们可以用x分别替换原问题中的b或a,从而把求解的区间减小了一半。

这样我们又可以取新区间[a,b]的中点。

经过N次迭代后,剩下的区间长为(b- a)/2N。

这也是结果的绝对误差限。

如此继续下去就达到是有根区间逐步缩小的目的,在这一些相互包含的子区间中构造收敛的数列{}kx来逼近根*x。

实验过程:1;C语言程序# include <stdio.h># include <conio.h># include <math.h># define PRECISION 1e12double f(double c){double m,x,m1,m2,m3;x=c;m1=x*x;m2=m1*x;m3=m1*m1;m=m3*m3-36*m3*m2+546*m2*m3-4536*m3*x+22449*m3-67284*m2+118124*m1-109584*x+40320; return(m);}double Root(float a,float b){ int i;i=0;double x1,x2;x1=a;x2=b;do{printf ("\n i=%d,x1=%f,x2=%f ",i,x1,x2);if(f(x1)*f((x1+x2)/2)<0)x2=(x1+x2)/2;elsex1=(x1+x2)/2;i++;}while (i<=100);return (x1);}void main(){float x1,x2,r;printf ("\n input x1,x2: \n ") ;scanf ("%f %f",&x1,&x2);r=Root(x1,x2);printf ("\n Root x=%f",r);}2.结果分析当a7=-36是,迭代到i=21时,出现x1=x2=6.500000,不再发生变化,出现精确解 x=root=x1=6.500000,收敛速度在数列xn 越靠近根时越慢。

全国计算机等级上机操作题试题(附答案)

全国计算机等级上机操作题试题(附答案)

20xx全国计算机等级上机操作题试题(附答案)20xx全国计算机等级上机操作题试题(附答案)「篇一」一级MS office1.字处理题26对考生文件夹下WORD.docx文档中的文字进行编辑、排版和保存,具体要求如下:【文档开始】《数据结构》教学实施意见一、课程的目的与要求《数据结构》课程是计算机应用专业一门重要的专业基础课,它的主要任务是讨论数据的各种逻辑结构、物理结构以及相关的算法。

目的是使学生能够根据实际问题的需要选择合适的数据结构和设计算法。

二、课时安排【文档结束】(1)将标题段(“《数据结构》教学实施意见”)文字设置为二号红色黑体、居中。

(2)将正文第2行开始(“《数据结构》”)到第4行结束(“数据结构和设计算法。

”)中的文字设置为小四号楷体、段落首行缩进2字符、行距1.25倍。

(3)将正文中第1行(一、课程的目的与要求)和第6行(二、课时安排)设置成楷体、红色小三号、并加黄色底纹,段后间距0.5行。

(4)将文中后12行文字转换为一个12行4列的表格。

设置表格居中,表格第2列列宽为5厘米,其余列列宽为2厘米,行高为0.5厘米;表格中所有文字水平居中。

(5)分别用公式计算表格中“授课学时”合计和“实验学时”合计;设置表格外框线为3磅蓝色单实线、内框线为1磅蓝色单实线。

参考解析:(1)【解题步骤】步骤1:通过“答题”菜单打开WORD.docx文件,按题目要求设置标题段字体。

选中标题段,在【开始】功能区的【字体】分组中,单击“字体”按钮,弹出“字体”对话框。

在“字体”选项卡中,设置“中文字体”为“黑体”,设置“字号”为“二号”,设置“字体颜色”为“红色”,单击“确定”按钮。

步骤2:按题目要求设置标题段对齐属性。

选中标题段,在【开始】功能区的【段落】分组中,单击“居中”按钮。

(2)【解题步骤】步骤1:按照题目要求设置正文字体。

选中正文第2行到第5行文字,在【开始】功能区的【字体】分组中,单击“字体”按钮,弹出“字体”对话框。

数值计算方法上机题目资料

数值计算方法上机题目资料
,在程序设计时要充分 考虑哪些变量应该可变的。
2. 程序输入、输出用文件形式。 3. 编程语言要求用C, 编程环境TC或VC 4. 程序要求调试通过。 5. 每个方法要求给出一个具体的算例(可选
作业题)来验证。
五、上机报告要求
1.报告内容包括:
每种方法的算法原理及程序框图。 程序使用说明 具体算例及结果
上机调试体会及收获。
2.报告要手写。
六、上机报告及源程序提交时间
1.上机报告在考试当天提交。 2.源程序在考试前提交。
提交格式:文件夹(班级+姓名)
输入文件 程序文件夹 输出文件
不要拷贝其它文件!!! 源程序
六、上机报告及源程序提交时间
源程序提交: 把以上文件压缩后,发送到以下邮箱:
haoyq@
七、考核方式
1.算法手算笔试(80%)+上机内容笔试 (10%)+上机报告(10%)
2.上机内容笔试可能形式:
编一段算法程序 给出一段算法程序,说明算法的名称。 程序填空 程序改错(包括算法和语法的错误)
数值计算方法上机练习
一、上机练习目的
复习和巩固数值计算方法的基本数学模型, 全面掌握运用计算机进行数值计算的具体 过程及相关问题。
利用计算机语言独立编写、调试数值计算 方法程序,培养学生利用计算机和所学理 论知识分析解决实际问题的能力。
二、上机练习任务
• 利用计算机基本C语言编写并调试一系列 数值方法计算通用程序,并能正确计算给 定题目,掌握调试技能。
• 掌握文件使用编程技能,如文件的各类操 作,数据格式设计、通用程序运行过程中 文件输入输出运行方式设计等。
• 写出上机练习报告。
三、数值计算方法上机题目

数据挖掘上机操作题

数据挖掘上机操作题

数据挖掘上机操作题本文档旨在提供一些数据挖掘的上机操作题,帮助学生巩固和应用所学的知识。

以下是一些实用的题目,供参考和练。

题目一:数据预处理请按照以下步骤进行数据预处理:1. 导入数据集并查看各列的属性和内容。

2. 处理缺失值:检查并决定如何处理数据中的缺失值。

3. 处理异常值:检查并决定如何处理数据中的异常值。

4. 处理重复数据:检查数据中是否存在重复数据,并决定如何处理。

5. 对数据进行归一化处理:选择合适的归一化方法并应用于数据集。

请根据给定的数据集完成以上步骤,并记录每一步的操作和结果。

题目二:特征选择请根据以下步骤进行特征选择:1. 导入数据集并查看各列的属性和内容。

2. 计算特征之间的相关性:使用相关系数或其他方法计算特征之间的相关性,并选择相关系数较低的特征。

3. 使用特征选择算法:选择一个适当的特征选择算法(如卡方检验、信息增益等),并应用于数据集,选择出最重要的特征。

请根据给定的数据集完成以上步骤,并记录每一步的操作和结果。

题目三:数据聚类请按照以下步骤进行数据聚类:1. 导入数据集并查看各列的属性和内容。

2. 数据预处理:按照题目一的步骤对数据进行预处理。

3. 选择聚类算法:选择一个适当的聚类算法(如K-means、DBSCAN等)并应用于数据集。

4. 聚类结果分析:分析聚类结果并进行可视化展示。

请根据给定的数据集完成以上步骤,并记录每一步的操作和结果。

题目四:关联规则挖掘请按照以下步骤进行关联规则挖掘:1. 导入数据集并查看各列的属性和内容。

2. 数据预处理:按照题目一的步骤对数据进行预处理。

3. 设置最小支持度和置信度:根据数据集的大小和要求,设置适当的最小支持度和置信度。

4. 运行关联规则挖掘算法:应用Apriori算法或其他适当的算法,挖掘关联规则。

5. 分析并解释关联规则:对挖掘得到的关联规则进行分析和解释。

请根据给定的数据集完成以上步骤,并记录每一步的操作和结果。

计算方法试题

计算方法试题

计算方法考试题(一) 满分70分一、选择题:(共3道小题,第1小题4分,第2、3小题3分,共10分) 1、将A 分解为U L D A --=,其中),,(2211nn a a a diag D =,若对角阵D非奇异(即),1,0n i a ii =≠,则b Ax =化为b D x U L D x 11)(--++=(1) 若记b D f U L D B 1111),(--=+= (2)则方程组(1)的迭代形式可写作)2,1,0(1)(1)1( =+=+k f x B x k k (3)则(2)、(3)称 【 】(A)、雅可比迭代。

(B)、高斯—塞德尔迭代 (C)、LU 分解 (D)、Cholesky 分解。

2、记*x x e k k -=,若0lim 1≠=+∞→c e e p k k k (其中p 为一正数)称序列}{k x 是 【 】(A)、p 阶收敛; (B)、1阶收敛; (C)、矩阵的算子范数; (D)、p 阶条件数。

3、牛顿切线法的迭代公式为 【 】(A)、)()(1k x f x f x x k k k '-=+ (B)、)()())((111--+---=k k k k k k k x f x f x x x f x x1)()()1()()()(x xf x f x f k i k i k i ∂∂+=+ (D)、)()()()1(k k k x f x x -=+ 二、填空题:(共2道小题,每个空格2分,共10分)1、设0)0(f =,16)1(f =,46)2(f =,则一阶差商,二阶差商=]1,2,0[f ,)x (f 的二次牛顿插值多项式为2、 用二分法求方程01x x )x (f 3=-+=在区间]1,0[内的根,进行第一步后根所在的区间为 ,进行第二步后根所在的区间为 。

三、计算题:(共7道小题,第1小题8分,其余每小题7分,共50分)1、表中各*x 都是对准确值x 进行四舍五入得到的近似值。

复化梯形公式和复化Simpson公式

复化梯形公式和复化Simpson公式

数值计算方法上机题目3一、计算定积分的近似值:221x e xe dx =⎰ 要求:(1)若用复化梯形公式和复化Simpson 公式计算,要求误差限71021-⨯=ε,分别利用他们的余项估计对每种算法做出步长的事前估计;(2)分别利用复化梯形公式和复化Simpson 公式计算定积分;(3)将计算结果与精确解比较,并比较两种算法的计算量。

1.复化梯形公式程序:程序1(求f (x )的n 阶导数:syms xf=x*exp(x) %定义函数f (x )n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n 阶导数结果1输入n=2f2 =2*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(2*exp(x) + x*exp(x))','x') %定义f(x)的二阶导数,输入程序1里求出的f2即可。

f3='-(2*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/12*((b-a)/n)^2*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hTn1=0for k=1:n-1 %求连加和xk=a+k*hTn1=Tn1+f(xk)endTn=h/2*((f(a)+2*Tn1+f(b)))z=exp(2)R=Tn-z %求已知值与计算值的差fprintf('用复化梯形算法计算的结果 Tn=')disp(Tn)fprintf('等分数 n=')disp(n) %输出等分数fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用复化梯形算法计算的结果 Tn= 7.3891等分数 n=7019已知值与计算值的误差 R= 2.8300e-0082. Simpson公式程序:程序1:(求f(x)的n阶导数):syms xf=x*exp(x) %定义函数f(x)n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n阶导数结果1输入n=4f2 =4*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(4*exp(x) + x*exp(x))','x') %定义f(x)的四阶导数,输入程序1里求出的f2即可f3='-(4*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的四阶导数的最小值点,也就是求四阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hSn1=0Sn2=0for k=0:n-1 %求两组连加和xk=a+k*hxk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b)) %因Sn2多加了k=0时的值,故减去f(a)z=exp(2)R=Sn-z %求已知值与计算值的差fprintf('用Simpson公式计算的结果 Sn=')disp(Sn)fprintf('等分数 n=')disp(n)fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用Simpson公式计算的结果 Sn= 7.3891等分数 n=24已知值与计算值的误差 R= 2.7284e-008用复化梯形公式计算的结果为:7.3891,与精确解的误差为:2.8300e-008。

复化梯形公式和复化Simpson公式

复化梯形公式和复化Simpson公式

数值计算方法上机题目3一、计算定积分的近似值:要求:(1)若用复化梯形公式和复化Simpson 公式计算,要求误差限71021-⨯=ε,分别利用他们的余项估计对每种算法做出步长的事前估计;(2)分别利用复化梯形公式和复化Simpson 公式计算定积分;(3)将计算结果与精确解比较,并比较两种算法的计算量。

1.复化梯形公式程序:程序1(求f (x )的n 阶导数:syms xf=x*exp(x) %定义函数f (x )n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n 阶导数 结果1输入n=2f2 =2*exp(x) + x*exp(x)程序2:clcclearsyms x %定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可 f2=inline('(2*exp(x) + x*exp(x))','x') %定义f(x)的二阶导数,输入程序1里求出的f2即可。

f3='-(2*exp(x) + x*exp(x))' %因fminbnd ()函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/12*((b-a)/n)^2*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hTn1=0for k=1:n-1 %求连加和xk=a+k*hTn1=Tn1+f(xk)endTn=h/2*((f(a)+2*Tn1+f(b)))z=exp(2)R=Tn-z %求已知值与计算值的差fprintf('用复化梯形算法计算的结果 Tn=')disp(Tn)fprintf('等分数 n=')disp(n) %输出等分数fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用复化梯形算法计算的结果Tn= 7.3891等分数n=7019已知值与计算值的误差R= 2.8300e-0082. Simpson公式程序:程序1:(求f(x)的n阶导数):syms xf=x*exp(x) %定义函数f(x)n=input('输入所求导数阶数:')f2=diff(f,x,n) %求f(x)的n阶导数结果1输入n=4f2 =4*exp(x) + x*exp(x)程序2:clcclearsyms x%定义自变量xf=inline('x*exp(x)','x') %定义函数f(x)=x*exp(x),换函数时只需换该函数表达式即可f2=inline('(4*exp(x) + x*exp(x))','x') %定义f(x)的四阶导数,输入程序1里求出的f2即可f3='-(4*exp(x) + x*exp(x))'%因fminbnd()函数求的是表达式的最小值,且要求表达式带引号,故取负号,一边求最大值e=5*10^(-8) %精度要求值a=1 %积分下限b=2 %积分上限x1=fminbnd(f3,1,2) %求负的四阶导数的最小值点,也就是求四阶导数的最大值点对应的x值for n=2:1000000 %求等分数nRn=-(b-a)/180*((b-a)/(2*n))^4*f2(x1) %计算余项if abs(Rn)<e %用余项进行判断break% 符合要求时结束endendh=(b-a)/n %求hSn1=0Sn2=0for k=0:n-1 %求两组连加和xk=a+k*hxk1=xk+h/2Sn1=Sn1+f(xk1)Sn2=Sn2+f(xk)endSn=h/6*(f(a)+4*Sn1+2*(Sn2-f(a))+f(b)) %因Sn2多加了k=0时的值,故减去f(a)z=exp(2)R=Sn-z %求已知值与计算值的差fprintf('用Simpson公式计算的结果 Sn=')disp(Sn)fprintf('等分数 n=')disp(n)fprintf('已知值与计算值的误差 R=')disp(R)输出结果显示:用Simpson公式计算的结果Sn= 7.3891等分数n=24已知值与计算值的误差R= 2.7284e-008用复化梯形公式计算的结果为:7.3891,与精确解的误差为:2.8300e-008。

东南大学数值分析上机

东南大学数值分析上机

第一章一、题目设∑=-=Nj N j S 2211,其精确值为)11123(21+--N N 。

(1)编制按从大到小的顺序11131121222-+⋯⋯+-+-=N S N ,计算SN 的通用程序。

(2)编制按从小到大的顺序1211)1(111222-+⋯⋯+--+-=N N S N ,计算SN 的通用程序。

(3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。

(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 二、MATLAB 程序N=input('请输入N(N>1):');AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); %single 使其为单精度 Sn1=single(0); %从小到大的顺序 for a=2:N; Sn1=Sn1+1/(a^2-1); endSn2=single(0); %从大到小的顺序 for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); endfprintf('Sn 的值 (N=%d)\n',N);disp('____________________________________________________') fprintf('精确值 %f\n',AccurateValue); fprintf('从大到小计算的结果 %f\n',Sn1); fprintf('从小到大计算的结果 %f\n',Sn2);disp('____________________________________________________')三、结果请输入N(N>1):100Sn的值(N=100)____________________________________________________精确值0.740049从大到小计算的结果0.740049从小到大计算的结果0.740050____________________________________________________请输入N(N>1):10000Sn的值(N=10000)____________________________________________________精确值0.749900从大到小计算的结果0.749852从小到大计算的结果0.749900____________________________________________________请输入N(N>1):1000000Sn的值(N=1000000)____________________________________________________精确值0.749999从大到小计算的结果0.749852从小到大计算的结果0.749999____________________________________________________四、结果分析可以得出,算法对误差的传播又一定的影响,在计算时选一种好的算法可以使结果更为精确。

计算机三级考试上机培训题目100题库

计算机三级考试上机培训题目100题库

题目1 星辰恩请编写一个函数( []),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组传回。

最后调用函数()读取10组数据,分别得出结果且把结果输出到文件中。

部分源程序存在文件1中。

例如:若输入17 5 则应输出:19,23,29,31,37。

请勿改动主函数()和写函数()的内容。

( m){i;(2<)(m % 0) 0;1;}( []){ 0;(1>0)((m)) { []; ;}}。

题目2已知数据文件中存有200个四位数,并已调用读函数()把这些数存入数组a中,请考生编制一函数(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数,并把这些四位数按从大到小的顺序存入数组b中。

最后( )函数调用写函数()把结果以与数组b中符合条件的四位数输出到文件中。

(){ ;(0<){ [i]/1000; [i]/100%10;[i]%100/10; [i]%10;(20202020) b[][i];}(0<1)(1<)(b[i]<b[j]) { [i]; b[i][j]; b[j];}}***************************************************************************** *★题目3(字符型题)函数( )实现从文件中读取一篇英文文章存入到字符串数组中;请编制函数( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组中。

最后()函数调用函数()把结果输出到文件5中(){ ;[80];(0<)(([i])-1>=0){ 0;(,0,80);([i][j]'o'){;(1<([i]))[][i][s];(0<)([i][s]'o')[][i][s];([i]);};}}。

计算方法练习题与答案

计算方法练习题与答案

计算方法练习题与答案一、加减乘除练习1. 计算下列数的和并简化:a) 2 + 3 + 4 + 5b) 10 + 20 + 30 + 402.计算下列数的差:a) 100 - 50b) 75 - 253.计算下列数的积:a) 6 × 8b) 12 × 54.计算下列数的商:a) 100 ÷ 10b) 36 ÷ 6二、百分数计算练习1.计算以下百分数的值:a) 50% × 200b) 25% × 802.将以下分数转换为百分数:a) 1/4b) 3/53.将以下小数转换为百分数:a) 0.6b) 0.75三、比例计算练习1.解决以下比例问题:a) 如果一个长方形的长度为8cm,宽度为4cm,求其长宽比。

b) 假设一辆汽车每小时行驶50千米,行驶3小时,求行驶的总距离。

2.解决以下反比例问题:a) 如果一个鸟笼里有24只鸟,如果再加入6只鸟,那么所有鸟将平均得到多少空间?b) 一个机器能够在10小时内完成一项工作,那么如果再增加一倍的机器,需要多少小时才能完成同样的工作?四、平均值计算练习1.计算以下一组数的平均值:a) 5, 7, 9, 11, 13b) 16, 20, 24, 28, 322.已知某商品的销售数据如下,计算其平均销售量:月份销售量一月 120二月 150三月 170四月 140答案:一、加减乘除练习1.a) 2 + 3 + 4 + 5 = 14b) 10 + 20 + 30 + 40 = 1002.a) 100 - 50 = 50b) 75 - 25 = 503.a) 6 × 8 = 48b) 12 × 5 = 604.a) 100 ÷ 10 = 10b) 36 ÷ 6 = 6二、百分数计算练习1.a) 50% × 200 = 100b) 25% × 80 = 202.a) 1/4 = 25%b) 3/5 = 60%3.a) 0.6 = 60%b) 0.75 = 75%三、比例计算练习1.a) 长宽比为 8:4,简化为 2:1b) 汽车行驶总距离为 50km/h × 3h = 150km2.a) 初始鸟笼中每只鸟占据空间为 1/24,加入鸟后每只鸟占据空间为 1/30,所以平均空间为 30 / (24 + 6) = 1/2b) 原机器完成工作速率为 1/10,加入一倍机器后速率变为 1/20,完成工作所需时间为 10 × 2 = 20小时四、平均值计算练习1.a) 平均值 = (5 + 7 + 9 + 11 + 13) / 5 = 9b) 平均值 = (16 + 20 + 24 + 28 + 32) / 5 = 242. 平均销售量 = (120 + 150 + 170 + 140) / 4 = 145以上是本篇计算方法练习题与答案的内容。

数值分析上机作业1-1解析

数值分析上机作业1-1解析

数值计算方法上机题目11、实验1. 病态问题实验目的:算法有“优”与“劣”之分,问题也有“好”和“坏”之别。

所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。

希望读者通过本实验对此有一个初步的体会。

数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。

病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。

问题提出:考虑一个高次的代数多项式∏=-=---=201)()20)...(2)(1()(k k x x x x x p (E1-1)显然该多项式的全部根为l ,2,…,20,共计20个,且每个根都是单重的(也称为简单的)。

现考虑该多项式方程的一个扰动0)(19=+xx p ε (E1-2)其中ε是一个非常小的数。

这相当于是对(E1-1)中19x 的系数作一个小的扰动。

我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。

实验内容:为了实现方便,我们先介绍两个 Matlab 函数:“roots ”和“poly ”,输入函数u =roots (a )其中若变量a 存储1+n 维的向量,则该函数的输出u 为一个n 维的向量。

设a 的元素依次为121,...,,+n a a a ,则输出u 的各分量是多项式方程0...1121=++++-n n n n a x a x a x a的全部根,而函数b=poly(v)的输出b 是一个n +1维变量,它是以n 维变量v 的各分量为根的多项式的系数。

可见“roots ”和“Poly ”是两个互逆的运算函数.ve=zeros(1,21); ve(2)=ess;roots(poly(1:20))+ve)上述简单的Matlab 程序便得到(E1-2)的全部根,程序中的“ess ”即是(E1-2)中的ε。

实验要求:(1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。

上机题目--多段绝热床的计算

上机题目--多段绝热床的计算

w1 FA0
XA T k 1/k(1- XA)
0.3067
0
0.3067 1 1 dx A 22.09 dx A 0 rA k 1 x A
0 770.4 1.003 0.997
0.05 779 1.124
0.10 787.6 1.257
0.15 796 1.40 0.84
0.20 804.7 1.558
0.50 803.6 1.537 1.310
0.55 812.1 1.705 1.303
0.60 81 1.333
dxA 0.3067 k (1 xA ) 0.4429
故有:w2=22.09×0.4429=9.782 Kg
第三段T=770.4+171.5(XA-0.6134) k=3.08×104exp(-7960/T)
0.25 813.3 1.729
0.30 821.9 1.915
0.3067 823 1.941
0.9365 0.8839
0.8032 0.7711 0.7459 0.7431
图解(或辛普森) 积分求得:

0.3067
0
dxA 0.2799 k (1 xA )
因此,w1=22.09×0.2799=6.184 Kg
第二段T=770.4+171.5(xA-0.3067) k=3.08×104exp(-7960/T)
XA T k 1/k(1- XA)
0.613
0.3067 770.4 1.003 1.438
0.35 777.8 1.107 1.389
0.40 786.8 1.238 1.247
0.45 794.9 1.378 1.318
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数值计算与FORTRAN》实验讲义基本要求:⑴用C或C++、Java、FORTRAN、Matlab等计算机程序设计语言编写程序。

⑵上机前充分准备,复习相关知识,选用合适的数据结构并详细设计算法,尽量写出具有通用性的程序,反复检查程序。

⑶上机时快速输入程序;首先排除语法错误;然后采用多组数据,详细测试,排除逻辑错误;最后将程序调试成功,运行程序得到准确结果。

⑷完成计算后,反复体会和分析,试着改善计算复杂性,使程序或算法更加完美。

补充内容:C语言绘制图形的主要函数与相关内容如下1.屏幕坐标系坐标原点在屏幕的左上角,x轴水平向右,y轴垂直向下。

2.常用的绘图函数(绘图库函数所在的头文件 graphics.h)初始化图形系统的函数 void initgraph(int *graphdriver,int *graphmode, char *pathtodriver);画点函数 void putpixel(int x,int y,int pixelcolor);移“画笔”函数 void moveto(int x,int y);画直线函数 void line(int x1,int y1,int x2,inty2);void lineto(int x,int y);设置前景颜色函数 void setcolor(int color);设置背景颜色函数 void setbkcolor(int color);设置画线宽度和类型函数 void setlinestyle(int linestyle,unsigned upattern,int thickness);关闭图形系统函数 void closegraph(void);3.绘图程序的设计模式#include "graphics.h"main(){int graphdriver=DETECT,graphmode;initgraph(&graphdriver,&graphmode, "");调用绘图函数进行绘图closegraph(); }实验内容:实验一实验题目:编写程序求多项式0111)(a x a xa x a x p n n nn ++++=--在某一点x 的值。

相关知识:秦九韶算法(递推计算公式)⎩⎨⎧--=+==0,1,,2,1,* n n k a x y y a y k n递推关系的由来:因为)(x p 可以改写为0121)))((()(a x a x a x a x a x p n n n +++++=--此法只用n 次加法和n 次乘法,称此算法为秦九韶(约1202~1261,南宋四川人,著有《数书九章》)算法。

国外称秦九韶算法为Horner(霍纳)规则,其实Horner 于1819年才提出此算法,比秦九韶晚了500多年。

数据结构:一维数组 算法设计:(略) 编写代码:(略) 实验用例:自选实验要求:编写通用程序——能够求任意多项式在任意一点的值。

建议:画出多项式的曲线。

实验二实验题目:Lagrange 插值多项式相关知识:通过n+1个节点的次数不超过n 的Lagrange 插值多项式为:∑==nk k k n x l y x L 0)()(其中,Lagrange 插值基函数∏≠=--=nkj j jk j k x x x x x l 0)(,k=0,1,…,n 。

数据结构:两个一维数组或一个二维数组 算法设计:(略)编写代码:(略)实验用例: 已知函数y=f(x)的一张表:试验要求:利用Lagrange 插值多项式)(x L n 求被插值函数f(x)在点x=65处的近似值。

建议:画出Lagrange 插值多项式)(x L n 的曲线。

实验三实验题目:Newton 插值多项式相关知识:通过n+1个节点的次数不超过n 的Newton 插值多项式为:)())(](,,,[))(](,,[)](,[)()(11010102100100----++--+-+=n n n x x x x x x x x x f x x x x x x x f x x x x f x f x N数据结构:两个一维数组或一个二维数组 算法设计:(略) 编写代码:(略)实验用例: 已知函数y=f(x)的一张表(同实验二)实验要求:利用Newton 插值多项式)(x N n 求被插值函数f(x)在点x=65处的近似值。

建议:画出Newton 插值多项式)(x N n 的曲线。

实验四实验题目:Hermite 插值多项式相关知识:通过n+1个节点的次数不超过2n+1的Hermite 插值多项式为:∑=++=nj j j j jn x m x yx H 012)]()([)(βα其中,Hermite 插值基函数)()]()(21[)(2'x l x l x x x j j j j j --=α)()()(2x l x x x j j j -=β∑≠=-=njk k kj j jx x x l 0'1)(n j ,,1,0 =数据结构:三个一维数组或一个二维数组 算法设计:(略) 编写代码:(略)实验用例: 已知函数y=f(x)的一张表(其中)('x f m =):实验用例:利用Hermite 插值多项式)(12x H n +求被插值函数f(x)在点x=0.55处的近似值。

建议:画出Hermite 插值多项式)(12x H n +的曲线。

实验五实验题目:曲线拟合的最小二乘法相关知识:已知C[a,b]中函数f(x)的一组实验数据(x i ,y i )(i=0,1,…,m ),其中y i =f(x i )。

设);,,1,0)((m n n j x j <= ϕ是C[a,b]上线性无关函数族。

在)}(,),(),({10x x x span n ϕϕϕφ =中找函数f(x) 曲线拟合的最小二乘解∑==nj j jx ax S 0*)()(ϕ,其法方程(组)为:),,1,0(),(0n k d a nj k j j k==∑=ϕϕ其中,∑==mi i k i j ik j x x x0)()()(),(ϕϕωϕϕ∑=≡=mi k i k i ik d x x f xf 0)()()(),(ϕωϕ k=0,1,…,n特别是,求函数f(x) 曲线拟合的线性最小二乘解b ax x S +=)(*的计算公式为:∑∑∑∑∑∑======-+-=mi i mi i mi i i mi i mi i mi ix x m y x x y x b 020202)()1())(())((∑∑∑∑∑=====-+-+=mi i mi i mi i mi i mi i i x x m y x y x m a 0202)()1())(()1(数据结构:两个一维数组或一个二维数组 算法设计:(略) 编写代码:(略)实验用例: 已知函数y=f(x)的一张表:试验要求:利用曲线拟合的线性最小二乘法求被逼近函数f(x)在点x=55处的近似值,并画出实验数据和直线。

实验六实验题目:复化求积公式相关知识:将积分区间[a,b]n 等分,节点x k =a+kh ,k=0,1, …,n,步长na b h -=。

复化梯形公式为:)]()(2)([211b f kh a f a f h T n k n +++=∑-=再将每个小区间二等分,即整个积分区间[a,b]2n 等分,此时复化梯形公式为n T 2。

复化梯形公式的递推关系为 )(212n n n H T T +=其中,∑=-+=ni n hi a f h H 1)2)12((,na b h -=。

数据结构:(略)算法设计: 复化梯形公式的算法如下第一步:n=1,h=b-a ; 第二步:)]()([2b f a f h T n +=;第三步:计算n H ; 第四步:计算n T 2; 第五步:n=2n,h=h/2; 第六步:若ε≥-2nn T T (事先给定的误差精度),则转第三步; 第七步:输出Tn 和等分数n/2,结束算法。

编写代码:(略) 实验用例:⎰=πcos xdx e I x试验要求:利用复化梯形求积公式求⎰=πcos xdx e I x的近似值(积分的精确值I=-12.0703463164, 89793238461415926535.3=π),误差精度610-=ε。

实验七实验题目:Romberg 求积公式相关知识:用两个相邻的近似公式(其中后一个公式是由前一个公式的分半得到的)的线性组合而得到更好的近似公式的方法,就是近代电子计算机上常用的Romberg 求积方法,也叫逐次分半加速(收敛)法。

设以)(0k T 表示二分k 次后求得的梯形值,且以)(j k jT -表示序列{)(0k T }的j 次加速值。

Romberg 求积公式的T 表如下Romberg 求积公式(逐次分半加速公式)如下,2,1,,,2,1,144)]2)12((2[21)]()([2)(1)1(1)(211)1(0)(0)0(01=⎪⎪⎪⎩⎪⎪⎪⎨⎧=--=--+-+=+-=--+---=--∑-k k j T T T a b i a f a b T T b f a f a b T jj k j j k j j j k j i kk k k k 数据结构:一个二维数组算法设计: Romberg 求积公式的算法如下第一步:取k=0,h=b-a ,求)]()([2)0(0b f a f h T +=第二步:令1→k (k 记区间[a,b]的二分次数)⑴求梯形值)(0k T ,按梯形的递推公式;⑵求加速值,按公式逐个求出T 表的第k 行其余各元素)(j k jT -(j=1,2, …,k );⑶若ε≥--)0(1)0(k k T T (预先给定的误差精度),k+1→k ,则转⑴; 第三步:输出)0(kT 和等分数k 2(或二分次数k ),结束算法。

编写代码:(略) 实验用例:dx x I ⎰=1)2cos(π实验要求:利用Romberg 求积公式求上述定积分(636619772.02≈=πI ),误差精度610-=ε。

实验八实验题目:用Gauss 消元法求解线性代数方程组相关知识:在做除法运算时,分母的绝对值越小,舍入误差就越大。

因此,消元的每一步都先选取绝对值比较大的元素(称作主元),用它作分母再消元。

这就是主元素消去法的基本思想。

数据结构:用一个二维数组存储线性代数方程组的增广矩阵;线性代数方程组的解最后存储在增广矩阵的最后一列上。

算法设计:用列主元Gauss 消元法求解线性代数方程组(同时求出系数行列式的值det )的算法为第一步:det ←1;第二步:对于k=1,2,…,n-1⑴按列选取主元,找},,1,{n k k i k +∈,使ik ni k ki a a k ≤≤=max⑵如果0=kik a (最好是ε<k i ka ,ε为预先给定的一个非常小的数),则det=0,计算停止⑶如果k i k >(或k i k ≠),则换行①1,,1,,++=↔n k k j a a j i kj k②det ←-det⑷消元计算,对于i=k+1,k+2,…,n①kkik ik a a a ←②对于j=k+1,k+2,…,n+1 kj ik ij ij a a a a ⨯-← ⑸kk a ⨯←det det第三步:如果0=nn a (最好是ε<nn a ,ε为预先给定的一个非常小的数),则det=0,计算停止,否则,回代求解⑴nnn n n n a a a 1,1,++←⑵对于i=n-1,n-2,…,1① 对于j=i+1,i+2,…,n 1,1,1,+++⨯-←n j ij n i n i a a a a② iin i n i a a a 1,1,++←第四步:nn a ⨯←det det 编写代码:(略)实验用例:线性代数方程组为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----15900001.582012151526099999.23107104321x x x x 实验要求:利用列主元的Gauss 消元法求解上述线性代数方程组(精确解为()T1110-),并同时求出系数行列式的值。

相关文档
最新文档