当前位置:文档之家› 综合实验数值计算

综合实验数值计算

综合实验数值计算
综合实验数值计算

数学与统计学院

班级:2013级数学三班姓名:康萍

数 值 计 算

一、实验目的

本实验通过介绍Mathmatca 的数值计算功能,它的特点是准确计算与数值计算相结合,能够通过可选参数提高计算精度,学习包括数据的拟合及插值、数值积分与方程的近似解、极值问题、最优化与数理统计方面的内容。

二、实验环境

基于Windows 环境下的Mathematica7.0软件与Mathematica9.0软件。

三、实验的基本理论和方法

1、 Mathmatica 提供了进行数据拟合的函数:

Fit[data,funs,vars] 对数据data 用最小二乘法求函数表funs 中各函数的一个线性组合作为所求的近似解析式,其中vars 是自变量或自变量的表。

Fit[data, {

}x ,1, x ] 求形如bx a y +=的近似函数式。 Fit[data, {

}2,,1x x , x ] 求形如2cx bx a y ++=的近似函数式。 Fit[data, {

}xy y x ,,,1, {}y x ,] 求形如dxy cy bx a y +++=的近似函数式。 2、 函数InterpolatingPolynomial 求一个多项式,使给定的数据是准确的函数值,其调用格式如下:

InterpolatingPolynomial[{ ,,21f f },x] 当自变量为1,2,…时的函数值为

,,21f f 。

InterpolatingPolynomial[{ ),,(),,(2211f x f x },x] 当自变量为i x 时的函数值为i f InterpolatingPolynomial[{}}},,,,{,{1111 ddf df f x ,x] 规定点i x 处的函数值。

3、 求定积分的数值解有两种方法:

使用N[Integrate[f,{x,a,b}],n]或使用NIntegrate[f,{x,a,b}]前者首先试图求符号

然后再求近似解,后者使用数值积分的直接求近似解。究竟选用哪一个,这需要首先了解两者各自的特点。前者首先试图求符号解,当然花费更多的时间,但安全可靠。后者使用数值积分的直接求近似解,节约运行时间,但可靠性就差了。

NIntegrate[f,{max min ,,x x x },{ max min ,,y y y },…]是标准形式而且允许积分区间端点是奇异点。如果积分区间内部有奇异点,积分区间内部的奇异点不能被识别,需要明确指出:

NIntegrate[f,{max 21min ,,,,,x x x x x }],其中,,,21 x x 是奇异点。 NIntegrate 有控制计算精度的可选参数:

WorkingPrecision 内部近似计算使用的数字位数(默认值为16,等于系统变量SMachinePrecision 的值)。

AccuracyGoal 计算结果的绝对误差(默认值为Infinity )。

PrecisionGoal 计算结果的相对误差(默认值为Automatic 一般比WorkingPrecision 的值小10)。

这3个参数都可以缺省或重新设置,后两个值之一可以为Infinity ,表示使用该参数,只使用另一个,一般第一个应该大于后两个。

MaxPoints 计算时选取的被积函数的最大样本数(默认值为Automatic )。 MaxRecursion 积分区域递归子划分的最大个数(默认值为6)。 MinRecursion 积分区域递归子划分的最小个数(默认值为0)。

SingularityDepth 积分区间端点处变量变化前使用的递归子划分个数(默认值为4)。

4、 求数值的和、积的函数

NSum[f,{i,imin,imax,di}] 求通项为f 的和的近似值。

NProduct[f, {i,imin,imax,di}] 求通项为f 的积的近似值。

5、 函数Nsolve 用于求代数方程(组)的全部近似解,其调用格式如下: Nsolve[eqns,vars,n] 其中可选参数n 表示结果有n 位的精度。

能解类型广泛的方程(组)的是FindRoot ,大多数情况下它使用牛顿迭代法,无法求出符号导数时用正割法,其调用格式如下:

FindRoot[eqn,{x, 0x }] 从0x 出发求未知量x 的方程eqn 的一个解。

FindRoot[eqn,{x, 0x ,x,min,xmax}] 如果超出区间[xmin,xmax]则停止寻找。

FindRoot[eqn,{x, {0x ,1x }}] 当方程无法求出符号导数时必须给出两个初值

0x ,1x 。

FindRoot[{eqn1,eqn2,…},{x, 0x },{0,y y }, …] 求方程组的一个解。 如果在参数中出现复数,则求复数解。方程的标准形式为方程的右边为0,这时可以输入方程左边的表达式,等号与0都可以省略。

6、 函数FindMinimum 寻找一个函数的极小值点,其调用格式如下:

FindMinimum[},{,0x x f ] 从0x 出发求未知量x 的函数f 的一个极小值点和极小值。 FindMinimum[}}],{,{,10x x x f ] 当函数无法自动求出符号函数时,必须给出两个初值10,x x 。

FindMinimum[ },,{},,{,00y y x x f ] 求多元函数的一个极小值点和一个极小值。

7、 ConstrainedMin[f,{ineqns},{x,y,…}] 在不等式约束的区域上求多元线性函数的最小值。

ConstrainedMax[f,{ineqns},{x,y,…}] 求最大值。

其中约定的所有自变量都非负,不等式可以使用各种不等号和等号。如果系

数都是整数或分数,则答案也是整数或分数。

8、SampleRange[data] 求表data 中数据的极差(最大值减最小值)。 Median[data] 求中值。

Mean[data] 求平均值∑=n

i i x n 1

1。

Variance[data] 求方差(无偏估计)()

2

1

11∑=--n

i i x x n 。 StandardDeviation[data] 求标准差(无偏估计)()

2

1

11∑=--n

i i x x n 。 VarianceMLE[data] 求方差()

2

1

1∑=-n

i i x x n 。

StandardDeviationMLE[data] 求标准差(无偏估计)()

2

1

1∑=-n

i i x x n 。 CentralMoment[data,k] 求k 阶中心矩()

k

n

i i x x n ∑=-1

1。

BinomialDistribution[p] Bernoulli 分布。

BinomialDistribution[n,p] 二项分布。 GeometricDistribution[p] 几何分布。

HypergeometricDistribution[n,M,N] 超几何分布。 PoissonDistribution[λ] Poisson 分布。 NormalDistribution[σμ,] 正态分布。 ChiSquareDistribution[n] 2χ分布。 UniformDistribution[min,max] 均匀分布。 ExponentialDistribution[λ] 指数分布。 StudentTDDistribution[n] t 分布。

FRatioDistribution[21,n n ] F 分布。 GammaDistibution [λ,r ] Γ分布。

9、MeanCI[data,KnowVariance →Var] 已知方差Var,由数据表data 求总体数学期望的置信区间(基于正态分布)。

MeanCI[data] 由数据表data 求总体数学期望的置信区间(方差未知,基于t 分布)。

10、MeanTest[data, μ,KnownVariance →Var ] 已知方差Var ,由数据表data 检验总体数学期望μ,求出P 值。

MeanTest[data, μ] 方差未知,由数据表检验总体数学期望μ,求出P 值。

四、实验的内容和步骤及得到的结果和结果分析

实验一 数据拟合与插值

实验1 数据拟合 1.1、实验内容:

已知一组数据{19.1,76.3}、{25,77.8}、{30.1,79.25}、{36,80.8}、{40,82.35}、{45.1,83.9}、{50,85.1},求其函数解析式,并绘制出图形。 1.2实验步骤

在Mathematica 中输入语句如下

1.3实验结果

1.4结果分析

这组数据的近似函数解析式为y=70.5723 +0.291456 x,通过使用一次函数得到了很理想的拟合。

2.1 实验内容:

{0.1,5.1234},{0.2,5.3057},{0.3,5.5687},{0.4,5.9378},{0.5,6.4337},{0.6,7.0978},{ 0.7,7.9493},{0.8,9.0253},{0.9,10.3627},求其函数解析式,并绘制出图形。

2.2实验步骤

在Mathematica中输入语句如下:

2.3实验结果

2.4结果分析

这组数据的近似函数解析式为y= 5.30661 -1.83196 x+8.17149 x2,通过使用二次函数得到了很理想的拟合。

3.1实验内容:已知数据表

x 0.00 0.15 0.31 0.50 0.60 0.75

y 1.00 1.004 1.031 1.117 1.223 1.422

求4次拟合多项式,并绘图进行比较。

3.2 实验步骤:在Mathematica中输入语句如下

3.3、实验结果:

数值分析实验报告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 姓名:万轩 实验二插值法

数据处理的基本方法

第六节数据处理的基本方法 前面我们已经讨论了测量与误差的基本概念,测量结果的最佳值、误差和不确定度的计算。然而,我们进行实验的最终目的是为了通过数据的获得和处理,从中揭示出有关物理量的关系,或找出事物的内在规律性,或验证某种理论的正确性,或为以后的实验准备依据。因而,需要对所获得的数据进行正确的处理,数据处理贯穿于从获得原始数据到得出结论的整个实验过程。包括数据记录、整理、计算、作图、分析等方面涉及数据运算的处理方法。常用的数据处理方法有:列表法、图示法、图解法、逐差法和最小二乘线性拟合法等,下面分别予以简单讨论。 列表法是将实验所获得的数据用表格的形式进行排列的数据处理方法。列表法的作用有两种:一是记录实验数据,二是能显示出物理量间的对应关系。其优点是,能对大量的杂乱无章的数据进行归纳整理,使之既有条不紊,又简明醒目;既有助于表现物理量之间的关系,又便于及时地检查和发现实验数据是否合理,减少或避免测量错误;同时,也为作图法等处理数据奠定了基础。 用列表的方法记录和处理数据是一种良好的科学工作习惯,要设 计出一个栏目清楚、行列分明的表格,也需要在实验中不断训练,逐步掌握、熟练,并形成习惯。 一般来讲,在用列表法处理数据时,应遵从如下原则:

(1) 栏目条理清楚,简单明了,便于显示有关物理量的关系。 (2) 在栏目中,应给出有关物理量的符号,并标明单位(一般不重复写在每个数据的后面)。 (3) 填入表中的数字应是有效数字。 (4) 必要时需要加以注释说明。 例如,用螺旋测微计测量钢球直径的实验数据列表处理如下。 用螺旋测微计测量钢球直径的数据记录表 从表中,可计算出 D i D = n = 5.9967 ( mm)

数值计算实验课题目

数值实验课试题 本次数值实验课结课作业,请按题目要求内容写一篇文章。按题目要求 人数自由组合,每组所选题目不得相同(有特别注明的题目除外)。试题如下: 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 语言将最速下降法编写成通用的子程序,然后用你编写的程序求解对称

数值计算实验报告

(此文档为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);

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

曲线拟合的数值计算方法实验 【摘要】实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(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 数值计算(2)

实验三 MATLAB 数值计算 一、实验目的: 熟悉MATLA B多项式的运用。 (1)多项式的求值、求根和部分分式展开 (2)多项式的乘除法和微积分 (3)多项式拟合和插值 二、实验内容和步骤: 1. 多项式求值 函数polyval可以用来计算多项式在给定变量时的值,是按数组运算规则进行计算的。 语法: polyval(p,s) 说明:p为多项式, s为给定矩阵。 【例1】计算p(x)= 3x2+2x+1多项式的值。 p = [3 2 1]; polyval(p,2) %计算x=2时多项式的值 ans = 17 x=0:0.5:3; polyval(p,x) %计算x为向量时多项式的值 ans = 1.0000 2.7500 6.0000 10.7500 17.0000 24.7500 34.0000 2. 多项式求根 ?roots用来计算多项式的根。 语法: r=roots(p) 说明:p为多项式;r为计算的多项式的根,以列向量的形式保存。 ?与函数roots相反,根据多项式的根来计算多项式的系数可以用poly函数来实现。 语法: p=poly (r) 【例2】计算多项式p(x)= x3-6x2-72x-27的根以及由多项式的根得出系数。 p = [1 -6 -72 -27] roots(p) %计算多项式的根 ans = 12.1229 -5.7345 -0.3884 poly([ 12.1229;-5.7345;-0.3884]) %计算多项式的系数

ans = 1.0000 -6.0000 -7 2.0000 -27.0011 3. 特征多项式 对于一个方阵s ,可以用函数poly 来计算矩阵的特征多项式的系数。特征多项式的根即为特征值,用roots 函数来计算。 语法: p=poly (s) 说明:s 必须为方阵;p 为特征多项式。 【例3】 根据矩阵来计算的特征多项式系数。 A =[1 2 3;4 5 6;7 8 0] p = poly(A) A = 1 2 3 4 5 6 7 8 0 p = 1.0000 -6.0000 -7 2.0000 -27.0000 r = roots(p) r = 12.1229 -5.7345 -0.3884 程序分析:p= x 3-6x 2-72x-27为矩阵A 的特征多项式,12.1229, -5.7345和-0.3884为矩阵s 的特征根。 4. 部分分式展开 用residue 函数来实现将分式表达式进行多项式的部分分式展开。 k(s)n p s n r 2p s 2r 1p s 1r A(s)B(s)+-++-+-= 语法: [r,p,k]=residue(b,a) 说明:b 和a 分别是分子和分母多项式系数行向量;r 是[r 1 r 2 …r n ]留数行向量;p 为[p 1 p 2 …p n ]极点行向量;k 为直项行向量。 【例4】 将表达式 进行部分分式展开。 b = [ 5 3 -2 7] a = [-4 0 8 3]

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

大学物理实验数据处理基本方法

实验数据处理基本方法 实验必须采集大量数据,数据处理是指从获得数据开始到得出最后结 论的整个加工过程,它包括数据记录、整理、计算与分析等,从而寻找出 测量对象的内在规律,正确地给出实验结果。因此,数据处理是实验工作 不可缺少的一部分。数据处理涉及的内容很多,这里只介绍常用的四种方 法。 1列表法 对一个物理量进行多次测量,或者测量几个量之间的函数关系,往往 借助于列表法把实验数据列成表格。其优点是,使大量数据表达清晰醒目, 条理化,易于检查数据和发现问题,避免差错,同时有助于反映出物理量 之间的对应关系。所以,设计一个简明醒目、合理美观的数据表格,是每 一个同学都要掌握的基本技能。 列表没有统一的格式,但所设计的表格要能充分反映上述优点,应注意以下几点:1.各栏目均应注明所记录的物理量的名称(符号 )和单位; 2.栏目的顺序应充分注意数据间的联系和计算顺序,力求简明、齐全、有条理; 3.表中的原始测量数据应正确反映有效数字,数据不应随便涂改,确实要修改数据时, 应将原来数据画条杠以备随时查验; 4.对于函数关系的数据表格,应按自变量由小到大或由大到小的顺序排列,以便于判 断和处理。 2图解法 图线能够明显地表示出实验数据间的关系,并且通过它可以找出两个 量之间的数学关系,因此图解法是实验数据处理的重要方法之一。图解法 处理数据,首先要画出合乎规范的图线,其要点如下: 1.选择图纸作图纸有直角坐标纸 ( 即毫米方格纸 ) 、对数坐标纸和 极坐标纸等,根据 作图需要选择。在物理实验中比较常用的是毫米方格纸,其规格多为17 25 cm 。 2.曲线改直由于直线最易描绘 , 且直线方程的两个参数 ( 斜率和截距 ) 也较易算得。所以对于两个变量之间的函数关系是非线性的情形,在用图解法时 应尽可能通过变量代换 将非线性的函数曲线转变为线性函数的直线。下面为几种常用的变换方法。 ( 1) xy c ( c 为常数 ) 。 令 z 1,则 y cz,即 y 与 z 为线性关系。 x ( 2) x c y ( c 为常x2,y 1 z ,即 y 与为线性关系。

数值分析实验报告模板

数值分析实验报告模板 篇一:数值分析实验报告(一)(完整) 数值分析实验报告 1 2 3 4 5 篇二:数值分析实验报告 实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。即若x0 偏离所求根较远,Newton法可能发散的结论。并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收

敛,但精度不够。熟悉Matlab语言编程,学习编程要点。体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk) 产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 xk?1?xk?rf(xk) 'f(xk) 其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x);

实验数据处理的几种方法

实验数据处理的几种方法 物理实验中测量得到的许多数据需要处理后才能表示测量的最终结果。对实验数据进行记录、整理、计算、分析、拟合等,从中获得实验结果和寻找物理量变化规律或经验公式的过程就是数据处理。它是实验方法的一个重要组成部分,是实验课的基本训练内容。本章主要介绍列表法、作图法、图解法、逐差法和最小二乘法。 1.4.1 列表法 列表法就是将一组实验数据和计算的中间数据依据一定的形式和顺序列成表格。列表法可以简单明确地表示出物理量之间的对应关系,便于分析和发现资料的规律性,也有助于检查和发现实验中的问题,这就是列表法的优点。设计记录表格时要做到:(1)表格设计要合理,以利于记录、检查、运算和分析。 (2)表格中涉及的各物理量,其符号、单位及量值的数量级均要表示清楚。但不要把单位写在数字后。 (3)表中数据要正确反映测量结果的有效数字和不确定度。列入表中的除原始数据外,计算过程中的一些中间结果和最后结果也可以列入表中。 (4)表格要加上必要的说明。实验室所给的数据或查得的单项数据应列在表格的上部,说明写在表格的下部。 1.4.2 作图法 作图法是在坐标纸上用图线表示物理量之间的关系,揭示物理量之间的联系。作图法既有简明、形象、直观、便于比较研究实验结果等优点,它是一种最常用的数据处理方法。 作图法的基本规则是: (1)根据函数关系选择适当的坐标纸(如直角坐标纸,单对数坐标纸,双对数坐标纸,极坐标纸等)和比例,画出坐标轴,标明物理量符号、单位和刻度值,并写明测试条件。 (2)坐标的原点不一定是变量的零点,可根据测试范围加以选择。,坐标分格最好使最低数字的一个单位可靠数与坐标最小分度相当。纵横坐标比例要恰当,以使图线居中。 (3)描点和连线。根据测量数据,用直尺和笔尖使其函数对应的实验点准确地落在相应的位置。一张图纸上画上几条实验曲线时,每条图线应用不同的标记如“+”、“×”、“·”、“Δ”等符号标出,以免混淆。连线时,要顾及到数据点,使曲线呈光滑曲线(含直线),并使数据点均匀分布在曲线(直线)的两侧,且尽量贴近曲线。个别偏离过大的点要重新审核,属过失误差的应剔去。 (4)标明图名,即做好实验图线后,应在图纸下方或空白的明显位置处,写上图的名称、作者和作图日期,有时还要附上简单的说明,如实验条件等,使读者一目了然。作图时,一般将纵轴代表的物理量写在前面,横轴代表的物理量写在后面,中间用“~”

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

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

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

数值实验题目

数值计算实验重庆大学数理学院 信息与计算科学系 董海云 2009年9月4日

实验一 线性方程组的数值解法 1.实验目的: (1)高斯列主元消去法求解线性方程组的过程 (2)熟悉用迭代法求解线性方程组的过程 (3)设计出相应的算法,编制相应的函数子程序 2.实验内容 分别用高斯列主元消去法 ,Jacobi 迭代法,Gauss--Saidel 迭代法,超松弛迭代法求解线性方程组 ????? ???????-=????????????????????????------7251013914443211312433010 24321x x x x 3、 实验原理 写出本次实验所用算法的算法步骤叙述或画出算法程序框图 4.实验环境及实验文件存档名 写出实验环境及实验文件存档名 3、 实验结果及分析 输出计算结果,结果分析和小结等。 实验二、 求特征值 1实验目的:学会 方法求特征值 2.实验内容: (1)设计古典Jacobi 方法算法,编制并调试相应的函数子程序 (2)运用该程序求下列矩阵的特征值 3.实验原理 写出本次实验所用算法的算法步骤叙述或画出算法程序框图 4.实验环境及实验文件存档名 写出实验环境及实验文件存档名 5.实验结果及分析 输出计算结果,结果分析和小结等。 实验三 插值方法实验目的: (1) 学会拉格朗日插值、牛顿插值等基本方法 (2) 设计出相应的算法,编制相应的函数子程序 (3) 会用这些函数解决实际问题 , 35.05.05.025.05.05.01? ???? ??=A

2.实验内容 (1)设计拉格朗日插值算法,编制并调试相应的函数子程序 (2)设计牛顿插值算法,编制并调试相应的函数子程序 (3)给定函数四个点的数据如下: 试用拉格朗日插值确定函数在x=2.101,4.234处的函数值。 (4)已知, ,,392411===用牛顿插值公式求5的近似值。 3.实验原理 写出本次实验所用算法的算法步骤叙述或画出算法程序框图 4.实验环境及实验文件存档名 写出实验环境及实验文件存档名 5.实验结果及分析 输出计算结果,结果分析和小结等。 实验四 数值微积分 1.实验目的: (1)学会复化梯形、复化辛浦生求积公式的应用 (3)设计出相应的算法,编制相应的函数子程序 (4)会用这些函数解决实际问题 2.实验内容 (1)设计复化梯形公式求积算法,编制并调试相应的函数子程序 (2)设计复化辛浦生求积算法,编制并调试相应的函数子程序 (4)分别用复化梯形公式和复化辛浦生公式计算定积分 ?10 sin dx x x 取n=2,4,8,16,精确解为0.9460831 3、 实验原理 写出本次实验所用算法的算法步骤叙述或画出算法程序框图 4.实验环境及实验文件存档名 写出实验环境及实验文件存档名 5.实验结果及分析 输出计算结果,结果分析和小结等。 实验五 常微分方程的数值解法 1.实验目的: (1)学会四阶龙格-库塔方法的使用 (2)设计出相应的算法,编制相应的函数子程序 (3)会用这些函数解决实际问题 2.实验内容

大学物理实验数据处理方法总结

有效数字 1、有效数字不同的数相加减时,以参加运算各量中有效数字最末一位位数最高的为准,最后结果与它对其,余下的尾数按舍入规则处理。 2、乘除法以参与运算的数值中有效位数最少的那个数为准,但当结果的第1位数较小,比如1、2、3时可以多保留一位(较小:结果的第一位数小于 有效数字最少的结果第一位数)! 例如:n=tg56° θ=56° d θ=1° θθθθθ2cos d d d dtg dn == 为保留) (,带入848.156n 15605.018056cos 1cos 22=?=∴?=??=≈?=?= ?tg n θθπθθ 3、可以数字只出现在最末一位:对函数运算以不损失有效数字为准。 例如:20*lg63.4 可疑最小位变化0.1 Y=20lgx 01.04 .631.010ln 2010ln 20ln 10ln 20≈===x dx dx dx x d dy 04.364.63lg 20=∴ 4、原始数据记录、测量结果最后表示,严格按有效数字规定处理。(中间过程、结果多算几次) 5、4舍5入6凑偶 6、不估计不确定度时,有效数字按相应运算法则取位;计算不确定度时以不确定度的处理结果为准。 真值和误差 1、 误差=测量值-真值 ΔN=N-A 2、 误差既有大小、方向与政府。 3、 通常真值和误差都是未知的。 4、 相对约定真值,误差可以求出。 5、 用相对误差比较测量结果的准确度。 6、 ΔN/A ≈ΔN/N 7、 系统误差、随机误差、粗大误差 8、 随机误差:统计意义下的分布规律。粗大误差:测量错误 9、 系统误差和随机误差在一定条件下相互转化。 不确定度 1、P (x )是概率密度函数 dx P dx x x P p )x (之间的概率是测量结果落在+当x 取遍所有可能的概率值为1. 2、正态分布且消除了系统误差,概率最大的位置是真值A 3、曲线“胖”精密度低“瘦”精密度高。 4、标准误差:无限次测量?∞∞-=-2 )()(dx X P A X x )(σ 有限次测量且真值不知道标准偏

数值计算方法实验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

数值计算实验报告

2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:安元龙 学号:2012060501 成绩:

数值计算方法与算法实验报告 学期: 2014 至___2015 第 1 学期 2014年 10月26日课程名称:__数值计算方法与算法 __ 专业:信息与计算科学 12级5班实验编号: 1实验项目Neton插值多项式指导教师__孙峪怀姓名:安元龙学号: 2012060501 实验成绩: 一、实验目的及要求 实验目的: 掌握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. #include #define MAX_N 20 typedef struct tagPOINT { double x; double y; }POINT; int main() { int n; int i,j; POINT points[MAX_N+1];double diff[MAX_N+1]; double x,tmp,newton=0;

数值分析实验题目及解答

内容包括: 实验题目1:算法的数值稳定性实验 实验题目2:LU分解实验 实验题目3:三次样条插值外推样条实验 实验题目4:第二类Fredholm 积分方程实验实验题目5:M级显式R_K法

实验题目:算法的数值稳定性实验 实验内容:计算积分()1 0()d 1515n x I n x a x ==+? (n=1,2,…,20) 易得到下面递推公式 ()()1 1I n aI n n =--+ 并有估计式 ()() ()() 1 1 111I n a n a n << +++ 计算方法: 算法一:采用下面递推公式计算: ()()1 1I n aI n n =--+ ()1,2,,20 n = 取初值()116 0ln ln 15a I a +== 算法二: 采用下面递推公式计算: ()()111I n I n a n ??-= -+???? ()20,19,,1 n =

结果分析:(分析哪个好哪个不好,原因是什么) 我觉得算法二比较好, 原因一:根据式 ()() ()() 1 1 111I n a n a n << +++得知,I(n)不可能小于 零,而算法一的计算结果有部分结果小于零。原因二:对算法一记初始误差 ε0=/I 0-I(0)/>0; 则εn =/I n -I(n)/=a/I n-1-I(n-1)/=a n *ε0 由此可知,当n=20时, ε20把ε0放大了a 20倍,其结果造成严重的。 而对于算法二^ ^ 11n n a εε-= ,…, ^ ^ 01 n n a εε=,尽管有初始误差^ 20ε,但随着计算的进程,这个误差的影响不断减小。 附:源程序:(把源程序附上) 算法一程序: >> format long >> a=15;I=log(16/15); for n=1:20 n I=-a*I+1/n end 算法二程序: >> format long >> a=15;I=31/10080; >> for n=20:-1:1 n I I=1/a*(-I+1/n); End

数值分析实验报告总结

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

如果 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 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;

现代数值计算方法实验三

实验报告 实验三 插值法与拟合实验 一、实验目的 1、懂得利用数据建模两种方法(插值法和拟合多项式法)对一批数据()11,y x , ()22,y x ,……,()n n y x ,进行处理,学会对数据的结果进行误差分析. 2、比较分析这些方法的优缺点,并且在适合的场合应用相应的方法. 二、实验题目 1. 插值效果的比较 实验题目:将区间][5,5-10等分,对下列函数分别计算插值节点k x 的值,进行不同类型的插值,作出插值函数的图形并与()x f y =的图形进行比较: )2 11x x f += ; ()x x f a r c t a n =; ()4 21x x x f += . (1) 做拉格朗日插值; (2) 做三次样条插值. 2. 拟合多项式实验 实验题目:给定数据点如下表所示: 分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数(i x ,i y )和拟合函数的图形. 三、实验原理 数据建模有两大方法:一类是插值方法,要求所要函数()x ?严格遵守从数 据()11,y x ,()22,y x ,……,()n n y x ,;另一类是拟合方法,允许函数()x ?在数据点上的有误差,但是要求达到某种误差指标的最小化.

第一题 ⑴拉格朗日插值算法原理 %malagr.m function yy=malagr(x,y,xx) %用途:拉格朗日插值法求解 %格式:yy=malagr(x,y,xx), x是节点向量,y是节点对应的函数值向量,% xx是插值点(可以是多个),,yy返回插值结果 m=length(x);n=length(y); if m~=n, error('向量x与y的长度必须一致');end s=0; for i=1:n t=ones(1,length(xx)); for j=1:n if j~=i t=t.*(xx-x(j))/(x(i)-x(j)); end end s=s+t*y(i); end yy=s; end ⑵三次样条插值算法原理: %maspline.m function m=maspline(x,y,dy0,dyn,xx) %用途:三阶样条插值(一阶导数边界条件) %格式:m=maspline(x,y,dy0,dyn,xx), x为节点向量,y为数据, %dy0,dyn为左右两端点的一阶导数如果xx缺省,则输出各节点的 %的一阶导数值,,m为xx的三阶样条插值

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