当前位置:文档之家› 数值分析实验指导-7积分

数值分析实验指导-7积分

数值分析实验指导-7积分
数值分析实验指导-7积分

数值分析实验指导潘志斌

2014年3月

实验七数值积分

数值实验综述:通过数值积分实验掌握数值积分的实现,理解各种数值积分公式的特性,并能用数值积分求解积分方程和微分方程。

基础实验

7.1 Newton-cotes型求积公式

实验目的:学会Newton-cotes型求积公式,并应用该算法于实际问题.

实验内容:求定积分

实验要求:选择等分份数,用复化Simpson求积公式求上述定积分的误差不超过的近似值,用MATLAB中的内部函数int求此定积分的准确值,与利用复化Simpson求积公式计算的近似值进行比较。

7.2 Romberg算法

实验目的:学会数值求积的Romberg算法,并应用该算法于实际问题.

实验内容:求定积分

实验要求:

(1)要求程序不断加密对积分区间的等分,自动地控制Romberg算法中的加速收敛过程,直到定积分近似值的误差不超过为止,输出求得的定积分近似值。

(2)可用MATLAB中的内部函数int求得此定积分的准确值与Romberg算法计算的近似值进行比较。

7.3 Gauss型求积公式

实验目的:学会Gauss型求积公式,并应用该算法于实际问题.

实验内容:求定积分

实验要求:

(1)把Gauss点的表格存入计算机,以Gauss-Legendre求积公式作为本实验的例子,要求程序可以根据不同的阶数,自动地用阶Gauss-Legendre求积公式计算上述定积分的近似值.体会Gauss型求积公式是具有尽可能高的代数精度的数值求积公式。

(2)可用MATLAB中的内部函数int求得此定积分的准确值与Gauss型求积公式求得的值进行比较。

相关MATLAB函数提示:

diff(x) 如果x是向量,返回向量x的差分;如果x是矩阵,则按各列作差分

diff(x,k) k阶差分

q=polyder(p) 求得由向量p表示的多项式导函数的向量表示q

Fx=gradient(F,x) 返回向量F表示的一元函数沿x方向的导函数F'(x),其中x是与F同维数的向量

z=trapz(x,y) x表示积分区间的离散化向量;y是与x同维数的向量,表示被积函数;z返回积分的近似值

z=guad(fun,a,b,tol) 自适应步长Simpson积分法求得Fun在区间[a,b]上的定积分,Fun为M 文件函数句柄,tol为积分精度

z=dblquad(fun,a,b,c,d,tol,method) 求得二元函数Fun(x,y)的重积分

z=triplequad(fun,a,b,c,d,e,f,tol,method) 求得三元函数Fun(x,y,z)的重积分

Matlab作业3(数值分析)答案

Matlab作业3(数值分析) 机电工程学院(院、系)专业班组 学号姓名实验日期教师评定 1.计算多项式乘法(x2+2x+2)(x2+5x+4)。 答: 2. (1)将(x-6)(x-3)(x-8)展开为系数多项式的形式。(2)求解在x=8时多项 式(x-1)(x-2) (x-3)(x-4)的值。 答:(1) (2)

3. y=sin(x),x从0到2π,?x=0.02π,求y的最大值、最小值、均值和标准差。 4.设x=[0.00.30.8 1.1 1.6 2.3]',y=[0.500.82 1.14 1.25 1.35 1.40]',试求二次多项式拟合系数,并据此计算x1=[0.9 1.2]时对应的y1。解:x=[0.0 0.3 0.8 1.1 1.6 2.3]'; %输入变量数据x y=[0.50 0.82 1.14 1.25 1.35 1.40]'; %输入变量数据y p=polyfit(x,y,2) %对x,y用二次多项式拟合,得到系数p x1=[0.9 1.2]; %输入点x1 y1=polyval(p,x1) %估计x1处对应的y1 p = -0.2387 0.9191 0.5318 y1 = a) 1.2909

5.实验数据处理:已知某压力传感器的测试数据如下表 p为压力值,u为电压值,试用多项式 d cp bp ap p u+ + + =2 3 ) ( 来拟 合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。解: >> p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9]; u=[10,11,13,14,17,18,22,24,29,34,39]; x=polyfit(p,u,3) %得多项式系数 t=linspace(0,10,100); y=polyval(x,t); %求多项式得值 plot(p,u,'*',t,y,'r') %画拟和曲线 x = 0.0195 -0.0412 1.4469 9.8267

SAS软件运用实验指导书

数据分析 实验指导书 理学院实验中心数学专业实验室编写

实验一SAS系统的使用 【实验类型】(验证性) 【实验学时】2学时 【实验目的】使学生了解SAS系统,熟练掌握SAS数据集的建立及一些必要的SAS语句。 【实验内容】 1. 启动SAS系统,熟悉各个菜单的内容;在编辑窗口、日志窗口、输出窗口之间切换。 2. 建立数据集 表1 Name Sex Math Chinese English Alice f908591 Tom m958784 Jenny f939083 Mike m808580 Fred m848589 Kate f978382 Alex m929091 Cook m757876 Bennie f827984 Hellen f857484 Wincelet f908287 Butt m778179 Geoge m868582 Tod m898484 Chris f898487 Janet f866587 1)通过编辑程序将表1读入数据集sasuser.score; 2)将下面记事本中的数据读入SAS数据集,变量名为code name scale share price: 000096 广聚能源8500 0.059 1000 13.27 000099 中信海直6000 0.028 2000 14.2 000150 ST麦科特12600 -0.003 1500 7.12 000151 中成股份10500 0.026 1300 10.08 000153 新力药业2500 0.056 2000 22.75

3)将下面Excel表格中的数据导入SAS数据集work.gnp; name x1 x2 x3 x4 x5 x6 北京190.33 43.77 7.93 60.54 49.01 90.4 天津135.2 36.4 10.47 44.16 36.49 3.94 河北95.21 22.83 9.3 22.44 22.81 2.8 山西104.78 25.11 6.46 9.89 18.17 3.25 内蒙古128.41 27.63 8.94 12.58 23.99 3.27 辽宁145.68 32.83 17.79 27.29 39.09 3.47 吉林159.37 33.38 18.37 11.81 25.29 5.22 黑龙江116.22 29.57 13.24 13.76 21.75 6.04 上海221.11 38.64 12.53 115.65 50.82 5.89 江苏144.98 29.12 11.67 42.6 27.3 5.74 浙江169.92 32.75 21.72 47.12 34.35 5 安徽153.11 23.09 15.62 23.54 18.18 6.39 福建144.92 21.26 16.96 19.52 21.75 6.73 江西140.54 21.59 17.64 19.19 15.97 4.94 山东115.84 30.76 12.2 33.1 33.77 3.85 河南101.18 23.26 8.46 20.2 20.5 4.3 湖北140.64 28.26 12.35 18.53 20.95 6.23 湖南164.02 24.74 13.63 22.2 18.06 6.04 广东182.55 20.52 18.32 42.4 36.97 11.68 广西139.08 18.47 14.68 13.41 20.66 3.85 四川137.8 20.74 11.07 17.74 16.49 4.39 贵州121.67 21.53 12.58 14.49 12.18 4.57 云南124.27 19.81 8.89 14.22 15.53 3.03 陕西106.02 20.56 10.94 10.11 18 3.29 甘肃95.65 16.82 5.7 6.03 12.36 4.49 青海107.12 16.45 8.98 5.4 8.78 5.93 宁夏113.74 24.11 6.46 9.61 22.92 2.53 新疆123.24 38 13.72 4.64 17.77 5.75 4)使用VIEWTABLE格式新建数据集earn,输入如表所示数据Year earn 1981 125000 1982 136000 1983 122350 1984 65200 1985 844600 1986 255000 1987 265000 1988 280000 1989 136000

数值分析实验报告176453

实验报告 插值法 数学实验室 数值逼近 算法设计 级 ____________________________ 号 ____________________________ 名 _____________________________ 实验项目名称 实验室 所属课程名称 实验类型 实验日期

实验概述: 【实验目的及要求】 本次实验的目的是熟练《数值分析》第二章“插值法”的相关内容,掌握三种插 多项式插值,三次样条插值,拉格朗日插值,并比较三种插值方法的 优劣。 本次试验要求编写牛顿多项式插值,三次样条插值,拉格朗日插值的程序编码,并 去实现。 【实验原理】 《数值分析》第二章“插值法”的相关内容,包括:牛顿多项式插值,三次样条插值, 拉格朗日 插值的相应算法和相关性质。 【实验环境】(使用的软硬件) 软件: MATLAB 2012a 硬件: 电脑型号:联想 Lenovo 昭阳E46A 笔记本电脑 操作系统: Win dows 8专业版 处理器:In tel ( R Core ( TM i3 CPU M 350 @2.27GHz 2.27GHz 实验内容: 【实验方案设计】 第一步,将书上关于三种插值方法的内容转化成程序语言,用 MATLA B 现; 第二步,分别用牛顿多项式插值,三次样条插值,拉格朗日插值求解不同的问题。 【实验过程】(实验步骤、记录、数据、分析) 实验的主要步骤是:首先分析问题,根据分析设计 MATLA 程序,利用程序算出 问题答案,分析所得答案结果,再得出最后结论。 实验一: 已知函数在下列各点的值为 试用4次牛顿插值多项式 P 4( x )及三次样条函数 S ( x )(自然边界条件)对数据进行插值。 用图给出{( X i , y i ), X i =0.2+0.08i , i=0 , 1, 11, 10 } , P 4 ( x )及 S ( x )。 值方法:牛顿 在MATLAB 件中

数值分析实验报告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 的帮助。

数值分析实验指导 - 7 积分

数值分析实验指导 潘志斌 2014年3月

实验七 数值积分 数值实验综述:通过数值积分实验掌握数值积分的实现,理解各种数值积分公式的特性,并能用数值积分求解积分方程和微分方程。 基础实验 7.1 Newton-cotes 型求积公式 实验目的:学会Newton-cotes 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? π cos xdx e x 实验要求:选择等分份数n ,用复化Simpson 求积公式求上述定积分的误差不超过810-的近似值,用MATLAB 中的内部函数int 求此定积分的准确值,与利用复化Simpson 求积公式计算的近似值进行比较。 7.2 Romberg 算法 实验目的:学会数值求积的Romberg 算法,并应用该算法于实际问题. 实验内容:求定积分 ? 1 5 .0dx x 实验要求: (1)要求程序不断加密对积分区间的等分,自动地控制Romberg 算法中的加速收敛过程,直到定积分近似值的误差不超过610-为止,输出求得的定积分近似值。 (2)可用MATLAB 中的内部函数int 求得此定积分的准确值与Romberg 算法计算的近似值进行比较。 7.3 Gauss 型求积公式 实验目的:学会Gauss 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? -+4 42 1x dx 实验要求: (1)把Gauss 点的表格存入计算机,以Gauss-Legendre 求积公式作为本实验的例子,要求程序可以根据不同的阶数n ,自动地用n 阶Gauss-Legendre 求积

公式计算上述定积分的近似值.体会Gauss型求积公式是具有尽可能高的代数精度的数值求积公式。 (2)可用MATLAB中的内部函数int求得此定积分的准确值与Gauss型求积公式求得的值进行比较。

数值分析实验报告

数值分析实验报告 姓名:周茹 学号: 912113850115 专业:数学与应用数学 指导老师:李建良

线性方程组的数值实验 一、课题名字:求解双对角线性方程组 二、问题描述 考虑一种特殊的对角线元素不为零的双对角线性方程组(以n=7为例) ?????????? ?????? ? ???? ?d a d a d a d a d a d a d 766 55 44 3 32 211??????????????????????x x x x x x x 7654321=?????????? ? ???????????b b b b b b b 7654321 写出一般的n (奇数)阶方程组程序(不要用消元法,因为不用它可以十分方便的解出这个方程组) 。 三、摘要 本文提出解三对角矩阵的一种十分简便的方法——追赶法,该算法适用于任意三对角方程组的求解。 四、引言 对于一般给定的d Ax =,我们可以用高斯消去法求解。但是高斯消去法过程复杂繁琐。对于特殊的三对角矩阵,如果A 是不可约的弱对角占优矩阵,可以将A 分解为UL ,再运用追赶法求解。

五、计算公式(数学模型) 对于形如????? ?? ????? ??? ?---b a c b a c b a c b n n n n n 111 2 2 2 11... ... ...的三对角矩阵UL A =,容易验证U 、L 具有如下形式: ??????? ????? ??? ?=u a u a u a u n n U ...... 3 3 22 1 , ?? ????? ? ?? ??????=1 (1) 1132 1l l l L 比较UL A =两边元素,可以得到 ? ?? ??-== = l a b u u c l b u i i i i i i 111 i=2, 3, ... ,n 考虑三对角线系数矩阵的线性方程组 f Ax = 这里()T n x x x x ... 2 1 = ,()T n f f f f ... 2 1 = 令y Lx =,则有 f Uy = 于是有 ()?????-== --u y a f y u f y i i i i i 1 1 11 1 * i=2, 3, ... ,n 再根据y Lx =可得到

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

数值分析实验题

实验2.1 多项式插值的振荡现象 问题提出:考虑在一个固定的区间上用插值逼近一个函数。显然Lagrange 插值中的使用节点越多,插值多项式的次数就越高.我们自然就关心插值多项式的次数增加时,()n L x 是否也更加靠近被逼近的函数.Runge 给出的一个例子就是极著名并富有启发性的.设区间[-1,1]上的函数 ()2 1 125f x x = +. 实验内容:考虑区间[-1,1]的一个等距划分,分点为 21,0,1,2,,,i i x i n n =-+ = 则拉格朗日插值多项式为 ()()201 125n n i i i L x l x x ==+∑ . 其中,(),0,1,2,,i l x i n =是n 次Lagrange 插值基函数. 实验要求: (1) 选择不断增大的分点数目2,3, n =,画出原函数()f x 及插值多项式()n L x 在 [-1,1]上的图像,并比较分析实验结果. (2) 选择其他的函数,例如定义在区间[-5,5]上的函数 ()()4 ,arctan ,1x h x g x x x = =+ 重复上面的实验看结果如何. 解:matlab 程序代码

实验结果: f(x)结果如下

h(x)结果如下 g(x)结果如下

结果分析:适当提高插值多项式的次数,可以提高逼近的精度,但次数太高反而会产生不良效果。主要是次数越高,计算工作量大,积累的误差也大;在整个区间上做高次多项式,但局部插值节点处的值有微笑偏差时,可能会影响整个区间上函数值的很大变化,使计算很不稳定。从上图可以看出,高次插值不准确。 实验3.1 编制以函数{} n k k x =为基的多项式最小拟合程序,并对表3.11中的数据作3次多项式最小二 乘拟合. 表3.11 取权数1i w ≡,求拟合曲线0 n k k k x ?α * *== ∑中的参数{}k α、平方误差2δ,并作离散数据 {},i i x y 的拟合函数()y x ?*=的图形. 解:matlab 程序代码 实验结果:

matlab上机实验指导书

MATLAB应用基础实验指导书

第一章 MATLAB及其工作环境介绍 (1) 1.1 MATLAB简介 (1) 1.2 MATLAB的工作环境介绍 (1) 1.3 MATLAB的基本管理命令 (4) 第二章 MATLAB的数值计算功能 (5) 2.1 变量与赋值语句 (5) 2.2 MATLAB矩阵 (5) 2.3 MATLAB表达式 (10) 2.4 MATLAB常用数学函数 (11) 2.5 矩阵的基本运算 (12) 2.6 数组运算 (16) 2.7 多项式及其运算 (17) 第三章 MATLAB程序设计入门 (19) 3.1 M文件 (19) 3.2 数据的输入输出 (21) 3.3 全局变量和局部变量 (23) 3.4 程序流程控制 (23) 第四章 MATLAB的符号运算功能 (28) 4.1 建立符号对象 (28) 4.2 符号算术运算 (29) 4.3 符号微积分运算 (32) 4.4 符号函数的可视化 (34) 第五章 MATLAB的可视化功能 (37) 5.1 二维图形 (37) 5.2绘制三维图形 (42) 5.3 特殊坐标图形 (44) 5.4 图形句柄 (45)

第一章 MATLAB及其工作环境介绍 1.1 MATLAB简介 MATLAB是matrix和laboratory前三个字母的缩写,意思是实验室矩阵。MATLAB 语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,经过十多年的发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图象处理系统、MATLAB数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的体系。MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱组成。 MATLAB具有以下基本功能: ●数值计算功能 ●符号计算功能 ●图形处理及可视化功能 ●可视化建模及动态仿真功能 MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学。其指令格式与数学表达式非常相近,用MATLAB编写程序犹如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高效率,其程序编译和执行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB 编写程序,往往可以达到事半功倍的效果。在图形处理方面,MATLAB可以给数据以二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使技术人员对大量原始数据的分析变得轻松和得心应手。 MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前MATLAB已成为国际上公认的最优秀的科技应用软件。 1.2 MATLAB的工作环境介绍 一、MATLAB的工作环境

数值分析实验报告7..

实验七、QR 算法 一、实验目的 1、熟悉matlab 编程并学习QR 算法原理及计算机实现; 2、学习用matlab 内置函数eig 和QR 算法求矩阵的特征值,并比对二者差异。 二、实验题目 1、课本第277页第1题 已知矩阵1 126 1112 3 761 116 7 112 34561107 87445677 565,,.0 367886109002897 59100 0010A B H ?? ???? ? ? ? ? ? ? ?=== ? ? ? ? ? ????? ?? ? (1)用MATLAB 函数“eig ”求矩阵全部特征值; (2)用基本QR 算法求全部特征值(可用MA TLAB 函数“qr ”实现矩阵的QR 分解)。 2、用QR 算法求矩阵特征值: ??????????=111132126)(i ??? ???? ? ????????=010******* 8763076544 65432)(ii 根据QR 算法原理编制求(i )及(ii )中矩阵全部特征值的程序并输出计算结果(要求误差 <10 -5). 三、实验原理与理论基础 QR 方法是一种变换方法,是计算一般矩阵(中小型矩阵)全部特征值问题的最有效方法之一。目前QR 方法主要用来计算上海森伯格矩阵和对称三对角矩阵的全部特征值问题,且QR 方法具有收敛快、算法稳定等特点。对于一般矩阵n n A ?∈ (或对称矩阵),首先用 豪斯霍尔德方法将A 化为上海森伯格矩阵B (或对称三对角矩阵),然后再用QR 方法计算 B 的全部特征值。 1、矩阵的QR 分解 设n n A ?∈ 非奇异,则存在正交矩阵P ,使PA=R ,其中R 为上三角矩阵。用Householder 变换构造正交矩阵P ,记(0) A A =,它的第一列记为(0)1a ,不妨设(0) 10a ≠,可按公式(3.2) (Th14,约化定理 设12(,, ,)0,T n x x x x =≠则存在初等反射矩阵H 使1Hx e σ=-,其中) 112121122 , sgn(), , (). T H I uu x x u x e u x βσσβσσ-?=-? =?? =+??==+? 找到矩阵111111,,n n T H H I u u β?-∈=-使

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

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和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);

数值分析丛书

作者:李庆扬,王能超,易大义编 出版社:清华大学出版社 出版时间:2008年12月 本书是为理工科大学各专业普遍开设 的“数值分析”课程编写的教材。其内容包 括插值与逼近,数值微分与数值积分,非 线性方程与线性方程组的数值解法,矩阵 的特征值与特征向量计算,常微分方程数 值解法。每章附有习题并在书末给出了部 分答案,每章还附有复习与思考题和计算 实习题。全书阐述严谨,脉络分明,深入 浅出,便于教学。 本书也可作为理工科大学各专业研究 生学位课程的教材,并可供从事科学计算 的科技工作者参考。 作者:徐萃薇,孙绳武编著 出版社:高等教育出版社 本书为普通高等教育“十一五”国家 级规划教材。本书从服务于多层次、多 专业、多学科的教学需要出发,在选材 上考虑普适性,涉及现代数字电子计算 机上适用的各类数学问题的数值解法以 及必要的基础理论,在材料组织安排上 给讲授者根据教学要求和学生情况适当 剪裁的自由,一些内容还可作为阅读材 料。 新版全书经过整理、润色,多处内容有 所修改,乃至重写。考虑到代数计算在 应用中所占份额较大,是比较活跃的领 域,六至十章改动较大;新增共轭斜量 法、预善共轭斜量法、拟Newton法等;改进了例题设置,增加数量,加强例题间联系;新 增习题参考答案;参考文献收集了国内外内容结构与本书相近的、有影响的、包括新近面世 的一些书籍,并按大学生教材和研究生教材或专著分列,可供读者加深理解和进一步提高使 用。有些对研究工作亦不无裨益。 本书算法描述不拘一格,或用自然语言,或用某种形式语言(以描述某些细节),便于理解, 也便于编程。本书可作为工科非计算数学专业本科生学习“计算方法”课程的教材。

数值分析实验报告记录

数值分析实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

数值分析实验报告 (第二章) 实验题目: 分别用二分法、牛顿迭代法、割线法、史蒂芬森迭代法求方程 的根,观察不同初始值下的收敛性,并给出结论。 问题分析: 题目有以下几点要求: 1.不同的迭代法计算根,并比较收敛性。 2.选定不同的初始值,比较收敛性。 实验原理: 各个迭代法简述 二分法:取有根区间的重点,确定新的有根区间的区间长度仅为区间长度的一版。对压缩了的有根区间重复以上过程,又得到新的有根区间,其区间长度为的一半,如此反复,……,可得一系列有根区间,区间收敛到一个点即为根。 牛顿迭代法:不动点迭代法的一种特例,具有局部二次收敛的特性。迭代格式为 割线法:是牛顿法的改进,具有超线性收敛的特性,收敛阶为1.618. 迭代格式为 史蒂芬森迭代法:采用不动点迭代进行预估校正。至少是平方收敛的。迭代格式为 这里可采用牛顿迭代法的迭代函数。 实验内容:

1.写出该问题的函数代码如下: function py= f(x) syms k; y=(k^2+1)*(k-1)^5; yy=diff(y,k); py(1)=subs(y,k,x); py(2)=subs(yy,k,x); end 2.分别写出各个迭代法的迭代函数代码如下: 二分法: function y=dichotomie(a,b,e) i=2; m(1)=a; while abs(a-b)>e t=(a+b)/2; s1=f(a); s2=f(b); s3=f(t); if s1(1)*s3(1)<=0 b=t; else a=t; end m(i)=t; i=i+1; end y=[t,i+1,m]; end 牛顿迭代法: function y=NewtonIterative(x,e) i=2; en=2*e;m(1)=x; while abs(en)>=e s=f(x); t=x-s(1)/s(2); en=t-x; x=t; m(i)=t; i=i+1; end y=[x,i+1,m]; end 牛顿割线法: function y=Secant(x1,x2,e) i=3; m(1)=x1,m(2)=x2; while abs(x2-x1)>=e s1=f(x1); s2=f(x2); t=x2-(x2-x1)*s2(1)/(s2(1)-s1( 1)); x1=x2; x2=t; m(i)=t; i=i+1; end

数值分析实验报告模板

数值分析实验报告模板 篇一:数值分析实验报告(一)(完整) 数值分析实验报告 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:算法的数值稳定性实验 实验题目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

数值分析(计算方法)实验一

《数值分析》 课程实验指导书 实验一 函数插值方法 一、问题提出 对于给定的一元函数)(x f y =的n+1个节点值(),0,1,,j j y f x j n == 。试用Lagrange 公式求其插值多项式或分段二次Lagrange 插值多项式。 数据如下: (1) j x 0.4 0.55 0.65 0.80 0.95 1.05 j y 0.41075 0.57815 0.69675 0.90 1.00 1.25382 求五次Lagrange 多项式5L ()x ,和分段三次插值多项式,计算(0.596)f ,(0.99)f 的值。(提示:结果为(0.596)0.625732f ≈, (0.99) 1.05423f ≈ ) (2) j x 1 2 3 4 5 6 7 j y 0.368 0.135 0.050 0.018 0.007 0.002 0.001 试构造Lagrange 多项式6L ()x ,计算的(1.8)f ,(6.15)f 值。(提示:结果为(1.8)0.164762f ≈, (6.15)0.001266f ≈ ) 二、要求 1、 利用Lagrange 插值公式 00,()n n i n k k i i k k i x x L x y x x ==≠??-= ?-??∑∏编写出插值多项式程序; 2、 给出插值多项式或分段三次插值多项式的表达式; 3、 根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何; 4、 对此插值问题用Newton 插值多项式其结果如何。

四、实验分析: Lagrange 插值多项式的表达式: 1,,2,1,)()()(, )()(1111+=--==∏∑+≠=+=n i x x x x x l x l y x L n i j j j i j i n i i i 。 其中)(x l i 被称为插值基函数,实际上是一个n 次多项式。)(x l i 的这种表示具有较好的对称性。公式具有两大优点:(1)求插值多项式,不需要求解线性方程组,当已知数据点较多时,此公式更能显示出优越性。(2)函数值可以用符号形式表示,数据点未确定的纵坐标可用多项式表示。 Newton 插值多项式如下: 10010,()()[,,]()k n n j k k j j k N x f x f x x x x -==≠=+?-∑∏ 其中: 00,0()()[,,]k i k i i j j j i k f x x x f x x ==≠-=∑∏ Newton 插值多项式的优点是:当每增加一个节点时,只增加一项多项式。 三、实验程序及注释 1、m 程序: function [c,l]=lagran(x,y) % x 为n 个节点的横坐标组成的向量,y 为纵坐标所组成的向量 % c 为所得插值函数的系数所组成的向量 w=length(x); n=w-1; l=zeros(w,w); for k=1:n+1 v=1; for j=1:n+1 if k~=j v=conv(v,poly(x(j)))/(x(k)-x(j)); end end l(k,:)=v; end c=y*l; function fi=Lagran_(x,f,xi) fi=zeros(size(xi)); n=length(f); for i=1:n

数值分析实验报告

实验一、误差分析 一、实验目的 1.通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; 2.通过上机计算,了解误差、绝对误差、误差界、相对误差界的有关概念; 3.通过上机计算,了解舍入误差所引起的数值不稳定性。 二.实验原理 误差问题是数值分析的基础,又是数值分析中一个困难的课题。在实际计算中,如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。因此,选取算法时注重分析舍入误差的影响,在实际计算中是十分重要的。同时,由于在数值求解过程中用有限的过程代替无限的过程会产生截断误差,因此算法的好坏会影响到数值结果的精度。 三.实验内容 对20,,2,1,0 =n ,计算定积分 ?+=10 5dx x x y n n . 算法1:利用递推公式 151--=n n y n y , 20,,2,1 =n , 取 ?≈-=+=1 00182322.05ln 6ln 51dx x y . 算法2:利用递推公式 n n y n y 51511-= - 1,,19,20 =n . 注意到 ???=≤+≤=10 10202010201051515611261dx x dx x x dx x , 取 008730.0)12611051(20120≈+≈y .: 四.实验程序及运行结果 程序一: t=log(6)-log(5);

n=1; y(1)=t; for k=2:1:20 y(k)=1/k-5*y(k-1); n=n+1; end y y =0.0884 y =0.0581 y =0.0431 y =0.0346 y =0.0271 y =0.0313 y =-0.0134 y =0.1920 y =-0.8487 y =4.3436 y =-21.6268 y =108.2176 y =-541.0110 y =2.7051e+003 y =-1.3526e+004 y =6.7628e+004 y =-3.3814e+005 y =1.6907e+006 y =-8.4535e+006 y =4.2267e+007 程序2: y=zeros(20,1); n=1; y1=(1/105+1/126)/2;y(20)=y1; for k=20:-1:2 y(k-1)=1/(5*k)-(1/5)*y(k); n=n+1; end 运行结果:y = 0.0884 0.0580 0.0431 0.0343 0.0285 0.0212 0.0188 0.0169

数值分析实验报告总结

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

如果 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 ,那 外,还规定其必须满足相容性: 所以

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