西安石油大学计算方法实验1--非线性方程的迭代数值解法

西安石油大学计算方法实验1--非线性方程的迭代数值解法
西安石油大学计算方法实验1--非线性方程的迭代数值解法

《计算方法》实验报告

二级学院:计算机学院

专业:计算机科学与技术

指导教师:爨莹

班级学号:201107010122

姓名:张文江

实验一 非线性方程的迭代数值解法

实验目的:

① 通过编程和插值与拟合中的某种具体算法解决具体问题,更深一步的体会计算方法这门课的重要性,同时加深对插值与拟合公式某种具体算法的理解。

② 熟悉编程环境。 2、实验要求:

实现插值与拟合中的某种具体算法编写并执行

3、实验内容:

1)用牛顿法求解01553=-x 的根,取初始值为10。

2) 用弦截法求解数学方程,()^310f x x x =--=在[1,1.5]内的根。

4、题目:

1)用牛顿法求解01553=-x 的根,取初始值为10。

2) 用弦截法求解数学方程,()^310f x x x =--=在[1,1.5]内的根

5、原理:

编程实现牛顿法、弦截法求非线性方程的根。 (1)牛顿法

x1=(x0-f/f1); (2)单点弦截法

x2=x0-f0*(xn-x0)/(fn-f0);

6、设计思想: (1)牛顿法

首先找到初始值,将初始值带入到方程中,计算一次求导和二次求导的值,确定x0和x1的值,然后利用循环x1=(x0-f/f1),条件为(x0-x1)>1e-6,循环一次的x1的值给x0;直到找到符合的x1为止。 (2)单点弦截法

首先找到初始值,将初始值带入到方程中,计算一次求导和二次求导的值,确 定x0和x1的值,然后利用循环x2=x0-f0*(x1-x0)/(f1-f0);,条件为(x0-x1)>1e-6, 循环一次的x2的值给x1;直到找到符合的x2为止。 7、对应程序: (1)牛顿法: #include #include

float f(float a,float b,float c,float d,float x) {

float f;

f=a*x*x*x+b*x*x+c*x+d;

return f;

}

float f1(float a,float b,float c,float x)

{

float f1;

f1=(x*3*a+2*b)*x+c;

return f1;

}

float root(float a,float b,float c,float d)

{

float x0,x1=6;

do

{

x0=x1;

x1=x0-f(a,b,c,d,x0)/f1(a,b,c,x0);

}while(fabs(x1-x0)>=1e-6);

return x0;

}

void main()

{

float a,b,c,d,x;

printf("input four float numbers:\n");

scanf("%f%f%f%f",&a,&b,&c,&d);

x=root(a,b,c,d);

printf("%.1fX^3+%.1fX^2+%.1fX+%.1f=0 its root near x=1.5 is :%.3f\n",a,b,c,d,x);

}

(2)迭代法:

#include

#include

void main()

{

float f(float x);

float root(float x1, float x2);

float xpoint(float x1,float x2);

float x1,x2,f1,f2,x;

do

{

printf("input x1,x2:\n");

scanf("%f,%f",&x1,&x2);

f1=f(x1);

f2=f(x2);

}while(f1*f2>=0);

x=root(x1,x2);

printf("A root of equation is %.3f\n",x);

}

float root(float x1, float x2)

{

float xpoint(float x1,float x2);

float f(float x);

float x,y,y1;

y1=f(x1);

do

{

x=xpoint(x1,x2);

y=f(x);

if(y*y1>0)

{

y1=y;

x1=x;

}else

x2=x;

}while(fabs(y)>=0.0001);

return (x);

}

float f(float x)

{

float y;

y=x*x*x-x-1;

return (y);

}

float xpoint(float x1,float x2)

{

float y;

y=(x1*f(x2)-x2*f(x1)) / (f(x2) - f(x1));

return (y) ;

}

8、实验结果:

(1)牛顿法结果:

X=5.372

(2)迭代法结果

X=1.325

9、图形

(1)

(2)

10、实验体会:

通过编程,切身感到计算方法这门课绝不仅仅是数学,是图形的观察和实际计算方法的应用,从而解决一些复杂的数值问题。

第二章 线性方程组的数值解法

第二章 线性方程组的数值解法 在科技、工程技术、社会经济等各个领域中很多问题常常归结到求解线性方程组。例如电学中的网络问题,样条函数问题,构造求解微分方程的差分格式和工程力学中用有限元方法解连续介质力学问题,以及经济学中求解投入产出模型等都导致求解线性方程组。 n 阶线性方程组的一般形式为 ?? ???? ?=+++=+++=+++n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a L K K K K L L 22112 222212********* (1.1) 其矩阵形式为 b Ax = (1.2) 其中 ????? ???????=??? ?????????=? ? ????? ?????= n n nn n n n n b b b b x x x x a a a a a a a a a A M M L K K K K L L 2121212222111211 ),,2,1,(n j i a ij L =,),,2,1(n i b i L =均为实数,i b 不全为0,且A 为非奇异。 关于线性方程组的数值解法一般分为两类: 1.直接法 就是不考虑计算机过程中的舍入误差时,经有限次的四则运算得到方程组准确解的方法。 而实际中由于计算机字长的限制,舍入误差的存在和影响,这种算法也只能求得线性方程组的近似解。本章将阐述这类算法中最基本的消去法及其某些变形。这些方法主要用于求解低阶稠密系数矩阵方程组。 2.迭代法 从某个解的近似值出发,通过构造一个无穷序列,用某种极限过程去逐步逼近线性方程组的精确解的方法。本章主要介绍迭代法与迭代法。迭代法是解大型稀疏矩阵(矩阵阶数高而且零元素较多)的线性方程组的重要方法。 §1 高斯)(Gauss 消去法 1.1 Gauss 消去法 Gauss 消去法是将线性方程组化成等价的三角形方程组求解。首先举例说明Gauss

非线性方程数值解法及其应用

非线性方程数值解法及其应用 摘要:数值计算方法主要研究如何运用计算机去获得数学问题的数值解的理论和算法。 本文主要介绍非线性方程的数值解法以及它在各个领域的应用。是直接从方程出发,逐步缩小根的存在区间,或逐步将根的近似值精确化,直到满足问题对精度的要求。我将从二分法、Steffensen 加速收敛法、Newton 迭代法、弦截法来分析非线性方程的解法及应用。 关键字:非线性方程;二分法;Steffensen 加速收敛法;代数Newton 法;弦截法 一、前言 随着科技技术的飞速发展,科学计算越来越显示出其重要性。科学计算的应用之广已遍及各行各业,例如气象资料的分析图像,飞机、汽车及轮船的外形设计,高科技研究等都离不开科学计算。因此经常需要求非线性方程 f(x) = O 的根。方程f(x) = O 的根叫做函数f(x)的零点。由连续函数的特性知:若f(x)在闭区间[a ,b]上连续,且f(a)·f(b)

数值计算实验课题目

数值实验课试题 本次数值实验课结课作业,请按题目要求内容写一篇文章。按题目要求 人数自由组合,每组所选题目不得相同(有特别注明的题目除外)。试题如下: 1)解线性方程组的Gauss 消去法和列主元Gauss 消去法(2人)/*张思珍,巩艳华*/ 用C 语言将不选主元和列主元Gauss 消去法编写成通用的子程序,然后用你编写的程序求解下列84阶的方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 1681684 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 2)解线性方程组的平方根法(4人)/*朱春成、黄锐奇、张重威、章杰*/ 用C 语言将平方根法和改进的平方根法编写成通用的子程序,然后用你编写的程序求解对称正定方程组b Ax =,其中 (1)b 随机的选取,系数矩阵为100阶矩阵 ?????? ???? ? ? ?101 1101 1101 1101 1101110 ; (2)系数矩阵为40阶的Hilbert 矩阵,即系数矩阵A 的第i 行第j 列元素为 1 1-+= j i a ij ,向量b 的第i 个分量为∑=-+ = n j i j i b 1 1 1. 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编

3.《数值分析简明教程》,王能超编 3)三对角线方程组的追赶法(3人)/*黄佳礼、唐伟、韦锡倍*/ 用C 语言将三对角线方程组的追赶法法编写成通用的子程序,然后用你编写的程序求解如下84阶三对角线方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 16816 84 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值分析简明教程》,王能超编 4)线性方程组的Jacobi 迭代法(3人)/*周桂宇、杨飞、李文军*/ 用C 语言将Jacobi 迭代法编写成独立的子程序,并用此求解下列方程组, 精确到小数点后5位 ???? ? ??=????? ??????? ? ?-149012 2111221 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 5)线性方程组的Gauss-Seidel 迭代法(3人)/*张玉超、范守平、周红春*/ 用C 语言将Gauss-Seidel 迭代法编写成独立的子程序,并用此求解下列方程组,精确到小数点后5位 ???? ? ??=????? ??????? ? ?--39721 1111112 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 6)解线性方程组的最速下降法法(2人)/*赵育辉、阿热孜古丽*/ 用C 语言将最速下降法编写成通用的子程序,然后用你编写的程序求解对称

测井解释复习资料(西安石油大学)

测井资料在油气勘探开发中的应用: 1.地层评价 以单井裸眼井地层评价形式完成,包括两个层次: (1)单井油气解释:对单井作初步解释与油气分析,划分岩性与储集层,确定油、气、水层及油水分界面,初步估算油气层的产能,尽快为随后的完井与射孔决策提供依据。 (2)储集层精细描述:对储集层的精细描述与油气评价,主要内容有岩性分析,计算地层泥质含量和主要矿物成分;计算储集层参数(孔隙度、渗透率、含油气饱和度和含水饱和度、已开发油层(水淹层)的剩余油饱和度和残余油饱和度,油气层有效厚度等)等,综合评价油、气层及其产能,为油气储量计算提供可靠的基础数据。 2.油藏静态描述与综合地质研究 以多井测井评价形式完成。以油气藏评价为目标,将多井测井资料同地质、地震、开发等资料结合,做综合分析评价。提高了对油气藏的三维描述能力,重现了储集体的时空分布原貌与模拟。 主要内容有: 进行测井、地质、地震等资料相互深度匹配与刻度 进行地层和油气层的对比 研究地层的岩性、储集性、含油气性等在纵、横向的变化规律 研究地区地质构造、断层和沉积相以及生、储、盖层 研究地下储集体几何形态与储集参数的空间分布 研究油气藏和油气水布规律 计算油气储量,为制定油田开发方案提供详实基础地质参数 3.油井检测与油藏动态描述 在油气田开发过程中: a.研究产层的静态和动态参数(包括孔隙度、渗透率、温度、压力、流赌量、油气饱和度、油气水比等)的变化规律; b.确定油气层的水淹级别及剩余油气分布; c.确定生产井产液剖面和吸水剖面及它们随时间的变化情况; d.监测产层油水运动及水淹状况及其采出程度; 确定挖潜部位、对油气藏进行动态描述、为单井动态模拟和全油田的油藏模拟提供基础数据,以制定最优开发调整方案、达到最大限度地提高最终采收率的目的。 4.钻井采油工程 (1)在钻井工程中 测量井眼的井斜、方位和井径等几何形态的变化 估算地层的孔隙流体压力和岩石的破裂压力、压裂梯度 确定下套管的深度和水泥上返高度 检查固井质量 确定井下落物位置等 (2)在采油工程中 进行油气井射孔 检查射孔质量、酸化和压裂效果 确定出水、出砂和串槽层以及压力枯竭层位等等。 储集层的基本参数 在储集层评价中,由测井资料确定的基本参数包括:岩性判别参数的泥质含量;反映储集层物性的孔隙度和渗透率;反映储集层含油性的含油气饱和度、含水饱和度、束缚水饱和度等;储集层的厚度等。 泥质含量的计算方法:

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

线性方程组的数值解法实验

线性方程组的数值解法 实验 题目 用Gauss消元法和Seidel迭代法求线性方程组的解。 实验目的 通过本次实验了解Gauss消元法和Seidel迭代法的基本原理,掌握其算法,学会用Matlab编程进行计算,并能用这些方法解决实际问题。 Gauss 顺序消元法的基本原理算法: (1)输入:,. A b (2)对1,2,,1 k n =???-做 1)if0 kk a=then输出算法失败信息,停机; 2)对1,, i k n =+???做 1/; ik ik ik kk a l a a ←= 2; i i ik k b b l b =- 3对1,, j k n =+???做; ij ij ik kj a a l a =- (3)if0 nn a=then输出算法失败信息,并停机else做 1)/; n n n nn b x b a ←= 2)对1,,2,1 i n =-???做 1 ()/; n i i i ij j ii j i b x b a x a =+ ←=-∑ (4)输出方程组的解.X

流程图见附页 Seidel 迭代法的基本原理算法: (1)输入:,; A b (2)输入:初始解向量 ;x (3)对1,2,, i n =???做 1) 1 ()/; n i i ij j ii j j i y b a x a = ≠ =-∑ 2); i i i e y x =- 3); i i x y = (4)if 1 {||} max i i n eε ≤≤ 时方程组无解,当RB RA n ==时方程组有唯一解,当RB RA n =<时,方程组有无穷多解; ②根据公式 (1)()() (1)()() (,1,,) (1,,) k k k ij ij ik kj k k k i i ik k a a l a i j k n b b l b i k n + + =-=+??? =-=+??? 将增广矩阵[,] B A b =化为上三角形矩阵; (2)建立. backsub m文件; (3)调用. backsub m文件,在Matlab命令窗口输入,A b矩阵,再输入[,,,](,) RA RB n X gaus A b =,进行Matlab实现得出方程的解。

曲线拟合的数值计算方法实验

曲线拟合的数值计算方法实验 【摘要】实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。常用的曲线拟合有最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束。 关键词曲线拟合、最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束 一、实验目的 1.掌握曲线拟合方式及其常用函数指数函数、幂函数、对数函数的拟合。 2.掌握最小二乘法、线性插值、三次样条插值、端点约束等。 3.掌握实现曲线拟合的编程技巧。 二、实验原理 1.曲线拟合 曲线拟合是平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。用解析表达式逼近离散数据的一种方法。在科学实验或社会活动中,通过 实验或观测得到量x与y的一组数据对(X i ,Y i )(i=1,2,...m),其中各X i 是彼此不同的。人们希望用一类与数据的背景材料规律相适应的解析表达式,y=f(x,c)来反映量x与y之间的依赖关系,即在一定意义下“最佳”地逼近或 拟合已知数据。f(x,c)常称作拟合模型,式中c=(c 1,c 2 ,…c n )是一些待定参 数。当c在f中线性出现时,称为线性模型,否则称为非线性模型。有许多衡量拟合优度的标准,最常用的一种做法是选择参数c使得拟合模型与实际观测值在

西安石油大学MATLAB期末试卷

实用文档 标准文案 一、填空题。(30分,每小空1分) 1. MATLAB 变量命名,需要满足3条规则,分别是 、 、 2. 将变量值进行最小整数比的有理格式命令: 3. 标点符号_______可以使命令行不显示运算结果, 用来表示该行为注释行。 4. x 为0~π,步长为0.1π的向量,创建x 语句为 。 5. 输入矩阵A=[1 2 3 4;-2 -3 -4 -5;0 6 7 8],使用全下标方式用 取出元素“-5”,使用单下标方式用_______取出元素“-5”。 6. 对多行进行注释的快捷键为 对多行去掉注释的快捷键为 7. 设x 是一维数组,x 的倒数第3个元素表示为_______; 8. 设y 为二维数组,要删除y 的第34行和48列,可使用命令_______;_______; 9. 在while 表达式, 语句体, end 循环语句中,表达式的值为____时表示循环条件为真,语句体将被执行,否则跳出该循环语句; 10. 要从键盘读入一个字符串并赋值给变量x ,且给出提示“What is your name?”,应使用命令_________; 11.已知A 、B 和C 均为n*n 矩阵,且存在于WorkSpace 中,要产生矩阵 () 1 ()C A C D A B B --= ,可用命令________ _,计算 12. 已知A=[123;450;789];B=[103;150;012];写出下列各指令运行的结果。A+B ;A.*B ;A==B ; 13. 已知A 是矩阵,求A 的对角矩阵B 的命令是_______,求A 的下三角矩阵C 的命令是_______。 14. 生成正态分布4?6随机矩阵A 的命令是 ,删除矩阵A 的第一列和第三列命令是 __________________ 15. 已知A=[1 5 3;4 2 6; 11 1 0]; A(7)=__________。

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

西安石油大学计算机基础理论题题库

理论题部分(共20 分) 一、选择题(每道题1分,共20分) 1、CPU主要由运算器与控制器组成,下列说法中正确的是() A、运算器主要负责分析指令,并根据指令要求作相应的运算 B、运算器主要完成对数据的运算,包括算术运算和逻辑运算 C、控制器主要负责分析指令,并根据指令要求作相应的运算 D、控制器直接控制计算机系统的输入与输出操作 2、下列叙述正确的是() A、计算机病毒只能传染给可执行文件 B、计算机软件是指存储在软盘中的程序 C、计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失 D、硬盘虽然装在主机箱内,但它属于外存 3、一个字长的二进制位数是() A、8 B、16 C、32 D、随计算机系统而不同的 4、下列叙述中正确的是() A、将数字信号变换成便于在模拟通信线路中传输的信号称为调制 B、以原封不动的形式将来自终端的信息送入通信线路称为调制解调 C、在计算机网络中,一种传输介质不能传送多路信号 D、在计算机局域中,只能共享软件资源,而不能共享硬件资源 5、使用超大规模集成电路制造的计算机应该归属于() A、第一代 B、第二代 C、第三代 D、** 6、一片存储容量是1.44MB的软盘,可以存储大约140万个() A、ASCII字符 B、中文字符 C、磁盘文件 D、子目录 7、磁盘处于写保护状态,那么磁盘中的数据() A、不能读出,不能删改,也不能写入新数据 B、可以读出,不能删改,也不能写入新数据 C、可以读出,可以删改,但不能写入新数据 D、可以读出,不能删改,但可以写入新数据 8、CD-ROM属于() A、感觉媒体 B、表示媒体 C、表现媒体 D、存储媒体 9、在因特网(Internet)中,电子公告板的缩写是() A、FTP B、WWW C、BBS D、E-mail 10、Windows中,将一个应用程序窗口最小化之后,该应用程序() A、仍在后台运行 B、暂时停止运行 C、完全停止运行 D、出错 11、CPU处理的数据基本单位为字,一个字的字长() A、为8个二进制位 B、为16个二进制位 C、为32个二进制位 D、与CPU芯片的型号有关 12、打印当前屏幕内容应使用的控制键是() A、Scroll-Lock B、Num-Lock C、Pgdn D、PrtSc(Print Scorccn) 13、3.5英寸软盘片的一个角上有一个滑动块,若移动该滑动块露出一个小孔,则该软盘() A、不能读但能写 B、不能读出不能写 C、只能读不能写 D、能读写 14、控制键^C的功能为() A、终止当前操作 B、系统复位 C、暂停标准输出设备的输出 D、结束命令行 15、按通信距离划分,计算机网络可以分为局域网和广域网。下列网络中属于局域网的是()

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

数值计算方法实验5

实验报告 学院(系)名称: 主程序部分列选主元部分

实验结果: 一.列主元消去法 输入各个数据,最终使用列选主元法,得到结果为:x1=x2=x3=1二.高斯-赛德尔迭代法 输入各个数据,输出每一步迭代数据,最终结果为:x1=0.285716,附录(源程序及运行结果) 一.列主元高斯消去法 #include #include void print(double a[3][3],int n,double b[3]){ printf("输出矩阵:\n"); for(int i=0;ifabs(d)){ d=a[i][k]; l=i; } i++; } printf("选出主元:%lf\n",d); if(d==0) printf("矩阵奇异!\n"); else if(l!=k){ for(int j=k;j

非线性方程组数值解法

非线性方程组数值解法 n个变量n个方程(n >1)的方程组表示为 (1) 式中?i(x1,x2,…,x n)是定义在n维欧氏空间R n的开域D上的实函数。若?i中至少有一个非 线性函数,则称(1)为非线性方程组。在R n中记?= 则(1)简写为?(尣)=0。若存在尣*∈D,使?(尣*)=0,则称尣*为非线性方程组的解。方程组(1)可能有一个解或多个解,也可能有无穷多解或无解。对非线性方程组解的存在性的研究远不如线性方程组那样成熟,现有的解法也不象线性方程组那样有效。除极特殊的方程外,一般不能用直接方法求得精确解,目前主要采用迭代法求近似解。根据不同思想构造收敛于解尣*的迭代序列{尣k}(k=0,1,…),即可得到求解非线性方程组的各种迭代法,其中最著名的是牛顿法。 牛顿法及其变形牛顿法基本思想是将非线性问题逐步线性化而形成如下迭代程序: (2) 式中

是?(尣k)的雅可比矩阵,尣0是方程(1)的解尣*的初始近似。 这个程序至少具有2阶收敛速度。由尣k算到尣k+的步骤为:①由尣k算出?(尣k)及 ;②用直接法求线性方程组的解Δ尣k;③求 。 由此看到迭代一次需计算n个分量函数值和n2个分量偏导数值,并求解一次n阶线性方程组。 为了评价非线性方程组不同迭代法的优劣,通常用效率作为衡量标准,其中P 为迭代法的收敛阶,W为每迭代步计算函数值?i及偏导数值的总个数(每迭代步中求一次逆的工作量相同,均不算在W内)。效率e越大表示此迭代法花费代价越小,根据效率定 义,牛顿法(2)的效率为。 牛顿法有很多变形,如当奇异或严重病态时,可引进阻尼因子λk,得到阻尼牛顿法,即

西安石油大学《输油管道设计与管理》问答题重点

西安石油大学《输油管道设计与管理》期末复习问答题重点 1、长输管道由哪两部分组成?P2 答:输油站和线路 2、长输管道分为哪两类?P2 答:原油管道和成品油管道 3、长距离输油管道的设计阶段一般分为哪三个阶段?P13 答:可行性研究、初步设计、施工图设计三个阶段 4、热含蜡原油管道、大直径轻质成品油管道,小直径轻质成品油管道,高粘原油和燃料油管道分别处于哪个流态? 答:热含蜡原油管道、大直径轻质成品油管道:水力光滑区。小直径轻质成品油管道:混合摩擦区。高粘原油和燃料油管道:层流区 5、旁接油罐输油方式的工作特点有哪些?P42 答:(1)各泵站的排量在短时间内可能不相等;(2)各泵站的进出口压力在短时间内相互没有直接影响。课件:●每个泵站与其相应的站间管路各自构成独立的水力系统; ●上下游站输量可以不等(由旁接罐调节);●各站的进出站压力没有直接联系;●站间输量的求法与一个泵站的管道相同: 6、密闭输油方式的工作特点有哪些?P43 答:(1)各站的输油量必然相等;(2)各站的进、出站压力相互直接影响。 课件:●全线为一个统一的水力系统,全线各站流量相同;●输量由全线所有泵站和全线管路总特性决定; 7、管道纵断面图的横坐标和纵坐标分别表示什么?P46 答:横坐标表示管道的实际长度,常用的比例为1:10 000~1:100 000。 纵坐标为线路的海拔高程,常用的比例为1:500~1:1 000。 8、管道起点与翻越点之间的距离称为管道的计算长度。不存在翻越点时,管线计算长度等于管线全长。存在翻越点时,计算长度为起点到翻越点的距离,计算高差为翻越点高程与起点高程之差。P48 9、当长输管道某中间站突然停运时,管道运行参数如何变化?P68(P70) 答:在较短时间内,全线运行参数随时间剧烈变化,属于不稳定流动。(间站停运后流量减少;停运站前面各站的进、出站压力均上升;停运站后面各站的进、出压力均下降。) 课件:① c 站停运后,其前面一站(c-1站)的进站压力上升。停运站愈靠近末站( c 越大),其前面一站的进站压力变化愈大。 ②c站停运后,其前面各站的进站压力均上升。距停运站越远,变化幅度越小。 ③停运站前面各站的出站压力均升高,距停运站越远,变化幅度越小 ④c 站后面一站的进站压力下降,且停运站愈靠近首站(c越小),其后面一站的进站压力变化愈大。 ⑤c站停运后,c站后面各站的进站压力均下降,且距停运站愈远,其变化幅度愈小。 ⑥停运站后面一站的出站压力下降。同理可得出停运站后各站的出站压力均下降,且变化趋势与进站压力相同 全线水力坡降线的变化 ①某站停运后,输量下降,因而水力坡降变小,水力坡降线变平,但停运站前后水力坡降仍然相同,即水力坡降线平行。 ②停运站前各站的进出站压力升高,因而停运站前各站的水力坡降线的起点和终点均比原来高(且出站压力升高幅度比进站压力大),且距停运站越近,高得越多。 ③停运站后各站的进出站压力下降,因此停运站后各站间的水力坡降线的起点和终点均比原来低(且出站压力下降幅度比进站压力小) ,且距停运站越近,低得越多。 10、当管道某处发生泄漏时,管道运行参数如何变化?P72 答:漏油后,漏点后面的各站的进出站压力都下降。漏油后全线工况变化情况如图2-27所示。 课件:漏油后,漏点前面各站的进出站压力均下降,且距漏点越远的站变化幅度越小。漏点距首站

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

数值分析实验报告1

实验一 误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对(1.1)中19x 的系数作一个小的扰动。我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b = 的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve =

相关文档
最新文档