大学数学实验基础知识整理_第1页
大学数学实验基础知识整理_第2页
大学数学实验基础知识整理_第3页
大学数学实验基础知识整理_第4页
大学数学实验基础知识整理_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习好资料欢迎下载Contents差分方程和数值微分实验31.1 差分方程的基本定义31.2 一阶线性常系数差分方程41.3 高阶线性常系数差分方程41.4 线性常系数差分方程组41.5 非线性差分方程52数值微分5播值与数值积分51.6 与拟合61.1 插值与拟合的基本概念61.2 三种插值方法62数值积分82.1 数值积分的基本思路82.2 三种常用数值积分方法8常微分方程数值9常微分方程的初值问题102.初值问题的数值解法102.1 欧拉方法102.2 龙格-库塔方法10常微分方程组和高阶方程初值问题的数值方法112.3 龙格-库塔方法的MATLAB实现112.4 算法的收敛性、稳定性分

2、析12刚性现象与刚性方程12线性代数方程组数值解法|12线性代数方程组的一般形式和解法122 .求解线性代数方程组的直接法132.1 高斯消元法132.2 LU分解132.3 解的误差分析P95143 .求解线性代数方程组的迭代法143.1 雅可比迭代法143.2 高斯-赛德尔迭代法153.3 迭代法的收敛性和收敛速度153.4 超松弛迭代154 .超定线性代数方程组的最小二乘解154.1 超定线性方程组的概念154.2 最小二乘准则164.3 最小二乘解164.4 基函数的选取16MATLAB实现16非线性方程求解171非线性方程(组)的定义及特点172非线性方程的基本解法174.5 图形法

3、和二分法174.6 迭代法184.7 牛顿法183非线性方程组的牛顿法、拟牛顿法194用MATLAB工具箱解非线性方程(组)204.8 fzero的基本用法204.9 fsolve的基本用法214.10 roots的基本用法22无约束优化|221 .无约束优化的基本原理、解法221.1 无约束优化的一般形式221.2 最优性条件221.3 下降法的基本思想221.4 用MATLAB优化工具箱解无约束优化问题232 .非线性最小二乘拟合的基本原理、解法242.1 非线性最小二乘拟合问题242.2 非线性最小二乘拟合问题的解法252.3 用MATLAB优化工具箱解非线性最小二乘拟合问题25约束优化

4、|2711.线性规划的基本原理、解法271.1 线性规划的图解法271.2 线性规划的标准形271.3 基本可行解271.4 线性规划的基本性质271.5 单纯形法的基本思路281.6 线性规划解的几种可能281.7 用MATLAB优化工具包解线性规划282.非线性规划的基本原理、解法302.1 非线性规划的一般形式302.2 可行方向与下降方向302.3 最优解的必要条件302.4 二次规划的一般形式312.5 二次规划的有效集方法312.6 用MATLAB优化工具包解二次规划322.7 非线性规划的解法332.8 用MATLAB优化工具包解非线性规划33数据的统计与分犷351统计的基本概念

5、352频数表和直方图353统计量364统计中几个重要的概率分布364.1 分布函数、密度函数和分位数364.2 统计中几个重要的概率分布374.3 MATLAB统计工具箱(ToolboxStats)中的概率分布P246375正态总体统计量的分布386.用随机模拟计算数值积分386.1 两种方法386.2 重积分的计算396.3 MATLAB实现39统计推断391、参数估计39概述391.1 点估计391.2 点估计的评价标准401.3 总体均值的区间估计411.4 总体方差的区间估计421.5 参数估计的MATLAB实现432、假设检验43概述432.1 均值的假设检验432.2 方差(或标准

6、差)的假设检验442.3 两总体的假设检验452.4 0-1分布总体均值的假设检验452.5 总体分布正态性检验462.6 假设检验与Matlab命令汇总47差分方程和数值微分实验1.1 差分方程的基本定义差分方程是在离散时段上描述现实世界中变化过程的数学模型。学习好资料欢迎下载现实中的问题通常是连续变化的,但我们常常只能在离散的时间点上对其进行观测和描述。为了表述这一类的数学模型,我们引入了差分方程的方法。1.2 一阶线性常系数差分方程一阶线性常系数差分方程的一般形式=窃+b*Jr0*1,2-差分方程的平衡点代数方程忑=ax+占的根工=1-a差分方程的解A-4+b-*=Q121an海=cak

7、H,化=0,1,2,1-a其中白=%七由初始值而和烝8确定1 -a平衡点稳定的条件若上Too时/T*则平衡点X稳定,否则平衡点了不稳定*平衡点稳定的充要条件是同打1.3 高阶线性常系数差分方程高阶线性常系数差分方程的一般形式地U二瓦太=12,特征方程/T+的兄*1十一十”“JI+%=0特征根4,4,4平衡点bX=阳十%十+气_1+2差分方程的解无=qg+勺游+%上=L2其中q,/由初始值句,阳确定平衡点稳定的条件所有特征值的模均小于1(用roots(c)-c:多项式的系数(降哥)P125)1.4 线性常系数差分方程组当我们研究的对象是若干变量构成的一个向量的离散动态过程时,就需要引入差分方程组

8、来描述,详见前面对一阶或高阶线性常系数差分方程的描述。平衡点X=Ax+b学习好资料欢迎下载稳定条件:A的所有特征根小于1(Rg51.5 非线性差分方程对于非线性差分方程;熊十1=)第=0,12平衡点即为代数方血=的才耐对/在y*点作的Wb展开,保留线性项,可得近似线性方程,A+i=/<(?,*)(A-/)+/%=OJ2若|尸(")|<1/对近似线性方程和原非线性方程都是稳定平衡点若/1(/)>1/对近似线性方程和原非线性方程都不是稳定平衡点2数值微分数值微分是用离散方法近似地计算函数y=f(x)在某点x=a的导数值。常用公式有:前差公式尸工误差为5枪中点公式43)三

9、误差为。解)/三2h误差为8好)二点公式函数y二/色)在等间距近的分点皿<一父马上用离散数值表示为此,尸卜,八在中间点知产“1/氏)三泡二2r=12,月-12桶在两个端点的了比维)=2hZa-2-4y+3yx2h情值与数值积分学习好资料欢迎下载1插值与拟合1.6 插值与拟合的基本概念插值与插值函数:已知由gl)(可能未知或非常复杂)产生的一批离散数据(可,为),=。,1/一”,且科+1个互异插值节点”瓦。1=b,在插值区间内寻找一个相对简单的函数/(1),使其满足下列插值条件:制二xi二QL4再利用已求得的了(%)计算任一非插值节点丁的近似值y),这就是插值。其中心)称为插值函数,g(x

10、)称为被插函数。最小二乘拟合:已知一批离散的数据=&互不相同,寻求一个拟合函数/W,使/(4)与N的误差平方和在最小二乘意义下最小。在最小二乘意义下确定的称为最小二乘拟合函数。1.7 三种插值方法1)Lagrange插值法a.待定系数法:假设插值多项式4(1)二%/+%/+的了+。,利用待定系数法即可求得满足插值条件4二/=04/,n的插值函数。关键在于确定待定系数外,k*a。b.利用基函数的构造方法首先构造科+1个满足条件:4(叮)二%的火次插值基函数i(羽,再将其线性组合即可得如下的Lagrange插值多项式:j-o(再一3其中一.;1c.Lagrange插值余项(M+1)gH凡=

11、式"。)=g%)w6+1)1旬注:上述两种构造方法所得的Lagrange插值多项式是一样的,即满足插值条件4(石)二810,L'',加的Lagrange插值多项式是唯一的。Lagrange插值会发生Runge现象。2)分段线性插值作分段线性插值的目的在于克服Lagrange插值方法可能发生的不收敛性缺点。所谓分段线性插值就是利用每两个相邻插值节点作线性插值,即可得如下分段线性插值函数:j-0其中当演7<x<为时,且i=0时舍去当不工夫£看+1时,且。=界时舍去特点:插值函数序列4W)具有一致收敛性,克服了高次Lagrange插值方法的缺点,故可通

12、过增加插值节点的方法提高其插值精度。但存在于 节点处不光滑、插值精度低 的缺点。其它3)三次样条插值三次样条插值的目的在于克服Lagrange插值的不收敛性和提高分段线性插值函数在节点处的光滑性。所谓三次样条插值方法就是在满足下列条件:a.二b.$在每个子区间L-1通=12濯上是三次多项式的三次样条函数中寻找满足如下插值条件:鼠%)=力工十一及形如S(/)=S(工J=。等边界条件的插值函数S(X)的方法。特点:三次样条插值函数序列5(了)一致收敛于被插函数,因此可通过增加节点的方法提高插值的精度。4)插值方法的Matlab实现a.对于Lagrange插值必须自编程序b.低次插值的Matlab命

13、令分段线性插值:y=interp1(x0,y0,x),其中输入离散数据x0、y0、x,输出对应x的插值y。三次样条插值:y=interp1(x0,y0,'spline')或y=spline(x0,y0,x)其中,x0、y0、x和y的意义同上。2数值积分2.1 数值积分的基本思路我们先来回忆定积分的定义I=I冰=的&4=v/(),工A0jin此处,当曾充分大时4就是1的数值积分本章中各种数值积分方法研究的是盘如何取值,区间/峨晌划分,使得既菖缩证求解的精度,又能使计算量较小。以后介绍的各种数值积分方法都基于我们在引入撒积分时所采用的矩形公式法,2.2 三种常用数值积分方法

14、1)梯形公式梯形公式筹=宓十(左+人),其中为=三为积分步长.k12n梯形公式和矩形公式的区别在于工它在计算面积时不是单纯地取左端点或右端点的函数值,而是将每个小区间段端点的函数值取平均。因此和矩形公式檄,它有更好的精度,进一步的分析表明,梯形公式q的误差为层阶.2)辛普森公式为了进一步提高精度,可以用分段二次插值函数代蜀(X)。由于每段要用到相邻两个小区间端点的3个函数值,所以小区间的数目必须是偶数,记扉=2陶代=Q12/对于第上段的两个小区间,我们用三个节点0耻&M叫+i,加1M盯J,A+衣构造二次插值函数外0),积分可得I*奴+4&+1+fk+2)°,X”5求明

15、段之和就得到辛普森公式:朝-1w-1ha尺=”/+4+4±&+*Jh=-3ji-oJt-i2附进一步的分析表明,辛普森公式工的误差是阶的。3)高斯求积公式代数精度用慕函数作为被积函数A以近似积分与精确值是否相等作为精度的度量指标,有如下定义;设用4=E4/(散计算二(理以若对于上=oj-,耀都有乙=上而当上二阳+1JUl'a时乙父,则称4的代数精度为快例如模形公式的代数精度切=L因为上=1时力=("-),看=三6+而,二者相等d22而上=2时1元%#=-内n=出/必+/二者不等。"32类似地,我们可以证明辛普森公式的代数精度为九高斯公式高斯公式取梢

16、了对节点的限制,按照代数精度最大的原则,同时确定节点力和系数4,对于=八工班,构造求积公式5=4Jg)+小以时)。按照定义,我们要求:J1对于加)=1,小的=4六勺)+均六初都成立,将/。)代入计算可得4+也=2j41Kl+4与=0,24町+$君=+$勾=0解出=-专,勺=爰,4=4=1.即得高斯公式乌=人-爰)+/(爰),代数精度为3,用越个节点,色的代数精度可达2月-1,但是需要斛复杂的非线性方程组,实用价值不大.Gauss-Lobatto公式P604)数值积分的Matlab实现trapz(x)用梯形公式计算(h=1),输入数组x为各区间端点的函数值。trapz(x,y)用梯形公式计算,输

17、入x,y为同长度的数组,输出y对x的积分(步长可不相等)。quad('fun',a,b,tol)用自适应辛普森公式计算,输入被积函数fun可以自定义如exp(-x.A2),也可以是fun.m命名的函数M文件,积分区间(a,b),绝对误差tol,输出积分值。quadl('fun',a,b,tol)用自适应的Gauss-Lobatto公式计算,其余同上。常微分方程数值解常微分方程的初值问题常微分方程初值问题是指设有1/(两)=%其中已知函数穴芯y)对1y满足Lipschitw条件,即存在常数上使|丁(阳乃再乃)|W上回->/以保证方程组的瞰=武彳)存在且喳一。

18、在满足Lipschit工条件下求解方程组称为一阶常微分方程的初值问题。所谓求方程组的数值解,就是计算伴青确)解X。)在一系列离散点叫C/式父与C的近似值,通常我们选取相等的计算步长也于是/=/+“(差=12)。2.初值问题的数值解法2.1 欧拉方法欧拉方法的基本思想欧拉方法的基本思想是在小区间区,%J上用差商生城二拉2代替J,丽(工双初中的X取h的某一点,于是“41)"&)+/("(砌工£瓦"1。取值,/+/内不同的点,可以得到不同的计算公式。向前欧拉公式若中的工取区间0,的左端点N且次&MX)。将1K演)的近似值记为几,即居”。J居+i

19、阳则得到向前欧拉公式为+1二八+/(.小)向前欧拉公式为显式公式,具有一阶精度。向后欧拉公式苟(工尸(初中的#取区间区的右端点/门类似可得向后欧拉公式心+i=乂+研/+i,%1卜向后欧拉公式实际上是从小】,丁龄涧后算出当函数大兀对y非线性时,通常只能用迭代法求解方程,故为隐式公式,计算量比向前欧拉公式大得多,它的精度也为一阶。改进的欧拉公式将前面两种公式平衡一下,即可得到梯形公式)居+39必)+/(6/鹏),显然悌形公式也为隈式公式。但我们不妨用工+1=八+”区,乂)来预测等式右边的?1】,就可以油画改进的欧拉公式,它具有两阶精度口改进的欧拉公式:乂+*/(/.乂)+精度归纳:向前1阶向后1阶

20、梯形2阶改进欧拉2阶O5午+1)p阶精度2.2 龙格-库塔方法龙格-库塔方法的基本思想在前面的欧拉公式中向前向后欧拉公式各自只用了区间区,%+J一个端点的导数,而在梯形公式和改进欧拉公式中,我们把/,/+/上的两个导数取平均,得到了最高的精度。这就启发我们用上,小+上若干个点的导数,对它们作线性组合得到平均斜率,就可能得到更高阶的精度,这就是龙格-库塔方法的基本思想。龙格-库塔方法一般形式龙格-库塔方法的一般形式:rX%+1=M+吃站%=/(%+八+e抖J1-1用=/C/+/融入+£*),=工4工IA1其中4内和%为待定参数,在满足士4=1,0三占三1,:%.=1的条件下使上式的局部

21、截断误差方+首项中牺嘉i-1/-I次尽量高,若丁2=鼠小、则栋上式为£级前龙格-库塔公式.经典的龙格-库塔方法经典的龙格-库塔方法(4级4阶龙格-库塔公式)如下,它具有4阶精度,但收敛速度比较慢,%1=”+5密+3+2网+汽):必),后=(/+:,“+守)与=妆+/+争)氐&=x+瓦乂+%)常微分方程组和高阶方程初值问题的数值方法P7374高阶方程,需要先降阶化为一阶常微分方程组2.3 龙格-库塔方法的MATLAB实现对于救分方程(组的初值问题/«)二.:&#),工二公,五),-f=1',工)Hg)=砧:x0=龙格一库塔方法可用如下Matl那命令实现

22、其计算:t,工=dde23(£ts,kOjoptions)tfi=ode45(*fftSj工options)其中口du23用的是3级2阶龙格-库塔公式.nd国5用的是以Rungc-Kutta-FEhber吕命名的5阶4阶公式。命令的输入更符解方程写成的函数值件:functiondx=f(t,x)dx=fl;f2p.;fn;若输入t与二tO,tl,.,tf,则输出在指定时刻tO,tl,璃,tf的函数值;若输入ts=tO:k:tf则输出在R口J打内以k为间隔的等分点处的函数值,工0为函数初值(槐向量),options可用于设定误差限ption黑猛时设定相对误差1TM绝时误差10"

23、;),命令为:options=adeset('reltol',rt/abstol',at)其中ft,近分别为设定的相时误差和绝对误差.命令的输出t为由输入指定的也,工为相应的函数值演向量).注意:计算步长h是根据设定误差限自动调整的,并不是输入中指定的输出“步长”k.2.4 算法的收敛性、稳定性分析收敛性分析P81当计算步长力7时,数值解无限接近微分方程初值问题的解析解向前向后欧拉公式、改进欧拉公式.4阶龙格-库塔公式都是收敛的,它们的整体误差分别为。箭),0短卜稳定性分析P81稳定性是讨论计算中舍入误差是否随步数的增加无限增大*对于一种数值算法.若居的误差7同“|引n

24、算法稳定时于一阶微分方程/1=/0,尸若在某一点作二元泰勒展开.略去2阶及2阶以上项得/=)+£。,尸”)"一个)+方,,丁再经过简单的代换,可化成如下的方程进行讨论:=-Ay,A>0它的解析解走y=%“,其中。是初始条件决定的常数,鼻>0保证微分方程本身的稳定性,向前欧拉公式=以+也/)=(1-网应=/+1=。-助此|1|笄/=|1-砌M1=4工:A向后欧拉公式居+i=入-励M+i=>%=:J=8取任意值均可1+经典龙格-库塔公式羟证明,稳定性条件是位名学向后欧拉公式无条件稳定刚性现象与刚性方程精度一一慢稳态解的特征根决定步长一一快稳态解快慢稳态解衰减速

25、度(两个特征根)相差悬殊一一刚性现象一一刚性方程求解ode23s,ode15s线性代数方程组数值解法线性代数方程组的一般形式和解法含n个未知数、由n个方程组成的线性方程组可表示为%n瓦+铝9+“+%/=%口乳国+曰挣勺+=场aF*i/+%勺+-+金柳/二九记=焉,“风山。&=也孔则线性方程组也可表示为Ax=b的形式,其中A为系数矩阵”求解线性方程组的方法一般有两类直接法和迭代法.直接法名强寸都艮次算术运算能求出精确解(不考虑舍入误差)或者判定解不存在的方法.主要包括高斯消元法和LU分解.迭代法从某个初始近似解出发,通过逐次得到的近似解去逼近推瑛解的方法,主要包括雅可比方法和高斯-赛德尔

26、方法.2 .求解线性代数方程组的直接法2.1 高斯消元法高斯消元法高斯消元法分消元和回代两个步既,先依次梢元将原方程组版4的系数矢转化成上三角矩阵,再依次回代求出方程组的所有解。高斯港元法的第一次造元过程如下的1与十%向+-十%/=”,%十蜷昆十+%;%;媾,3/十为内+十%=,盘曷+*/=妒.产Ml+%必+,-1+%/=4碳/+十点/=碍L类似如上步骤,依次进行消元(每次消元过程相当于在方程组两边左乘了一个对角线为1的下三角矩阵),最后可以得到这样的形式工城与+咽均+或k=中,理.+项工=皆,解该方程组中第n个方程,得到/的值,再依次向上回代即可解出方程组的所有解。值得注意的是在消元过程中要

27、保证磁,h口供=12.冷等价于H的所有顺序主子式不为0,列主元消去法实际上,在用高斯悄元法解线性方程组的过程中,即使或0体=12E),但是其绝对值很小时,用它作除数也会导致较大的舍入误差。所以在进行第k步消元时,不论是否为0,若陈第k列选择展。=总,用最大的一个作为主元(称为列主元),将其所在行与第k行交换后再按上述方法进行下去,称为列主元消去法.2.2 LU分解LU分解和Cholesky分解由上面对高斯消元法的讨论知,若A可逆且顺序主子式不为0,则A可分解为一个单位下三角阵L和一个上三角阵U的积,BPA-LU.这种分解是唯一的,称为矩阵的1吩解.对应地,若A可逆,则存在交换阵P使PA=LU,

28、其中L为单位下三角阵,U为上三角阵。对于某些特殊矩阵,例如正定对称矩阵A,它可分解成对角元素为正下三角阵L与它的转置矩阵之枳,即A=Ll7或A=LDL)其中L是单位下三窗阵,D是元素为正的对角阵.这种分解称为三角分解或Chmsky分解。求解三对角线性方程组的追赶法学习好资料欢迎下载学习好资料欢迎下载在三次样条插值和其他一些计算中,露各函正羲后丽值看三对角的形式,这种矩阵的L吩解可表示为:F-=4其中L和口的计算公式为%=a7=2,3,k4=a-kj-it=2.%,界线性方程组A由f可通过等价的两个三角形线性方程组L尸f和取可求解如下:乃工z:=Z4招.卜工=2户号二内一白Ez,J=w_l,.i

29、这种方法称为求解三对角线性方程组的追赶法,2.3 解的误差分析P95病态是解的固有性质,与解法无关。由实际问题导出的线性方程组4走=瓦系数矩阵W和右端向量力住柱带有误差。解的误差分析是讨论工或溯微小变化对解x的影响.一般地,若线性方程组系数矩阵或右端顶的撒小扰动引起解的很大变化,就称之为病态线性方程组,系数矩阵称为病态矩阵。反之,称为良态线性方程组和良态支解。在具体计算时,工对白扰动的敏感程度取决于卜-,同,定义cmdU)二MT|M|,称加4的条件数。条件数反映了线性方程组的性态,力的条件数越大,解x对右端项方和系数矩阵上扰动的敏感程度越大,即解的相对误差就可能越大。向量范数和矩阵范数P96相

30、容性条件3 .求解线性代数方程组的迭代法3.1 雅可比迭代法将月分解为刃=D-L-Uf其中。二血班再卜如二,)05a2100.:z=.21.,u=-.-%-Ijt_*i5-A1°Jo设对角阵。非奇异(即/wO,"LAx-b=Dx-(L+U)x=b=x=D"L(Z4-C7)z4-Dlb记4二zr】(£+P),工=。-4得雅各比迭代式铲t二名”)+工力3.2 高斯-赛德尔迭代法将为分解为为二口一£一5其中。二嬴igl/i,町0_%0L-二上.J.41Aa设对角阵。非奇异(即为=0尸=1/)/工=石=(D-L)x-Ux=b=x=(D-LY1Ux+(D

31、-Ly1b记“二D飞+U)Ti=h%,得高斯-赛德尔迭代式氏i)=N+条高斯赛德尔收敛快于雅可比3.3 迭代法的收敛性和收敛速度本节介绍的两种送代法在求解线性方程组时,都能写成形式铲期二取网+3有-丁=4(工网-)曷知有以下结果.1t00时序歹此”)收敛于£Q炉趋于0O3的所有特征根的模小于1,即以3尸max(4)l其中两个最常用的结论如下若力是严格对角占优的,即|叫£耳|g=l,则雅可比迭代和高斯-赛德尔迭代均收敛.若不对称正定,则高斯赛德尔迭代法收敛,迭代公式U敛一一B的谱半径P(B)1。谱半径不超过任一种范数p(B)|B|3.4 超松弛迭代超松弛迭代(SOR)迭代法是

32、对高斯-赛德尔迭代的一脚改进,它把高斯-赛德尔迭代计算出的铲科作为中间结果#卬匕再和原有的#刖作加权平均得出铲叫即节理=Q-1(上铲理+U阴)+M声理=G评相+。-劝朋其中W为加权因子,GA1时称为超松弛迭代,时称为低松弛迭代,6=1时退化为高斯赛德尔迭代.so嗨代法可以看做是带参数的高斯-赛德尔迭代法,是解大型稀疏矩阵方程组的有效方法之一。它的收敛性和上面讨论的两种迭代法类似。关于£0磁代法收敛性的一个很有用的结论是;若谢称正定,则迭代公式收敛的充要条件是0厘2,4.超定线性代数方程组的最小二乘解4.1 超定线性方程组的概念方程个数超过了未知数个数的方程组称为超定线性方程组。一般来

33、说,超定线性方程组在普通意义下是无解的,只能在新设定的准则下定义它的解。求解超定线性方程组的一个重要实际应用背景是数据拟合,我们下面的讨论也将就这个问题展开学习好资料欢迎下载4.2最小二乘准则数据拟合问题的提法是,已知一组数据为j&=12寻求一个函数y使将再代入得到领区)在某种准则下与屏最为接近g几何上看可以看作是找一条曲线y=(现与平面上已知的n个点®2)在某种准则下最为接近,称为曲线拟合口一般的拟合函数y=/(用具有如下形式:=一(篮)+凡的"+乩”其中用5),仍。);式#)是事先选定的一组函数,称为基函数,用照,一,耳是待定系数,而且待定系数个数n件1小于数据

34、容量m若我们强令*不)=MG=12,就有自物(近)+4*1。1)+凡稣(瓦)二71,A孰)g)+瓦仍X)+耳科式/)=乂(利5)-巴氏4记中=:":产=(自应一,乩)尸=5J*)r阿3)%(/)L战川则上述方程可写为中产=y,它在一般意义下无解*数据拟合不要求汽/)=乂(1=12-:M,而是确定一个/1)与用最为接近的准则,最常用的港则是使丁(&)与乂(1.2刘之差的平方和最小,称为最小二乘准则。4.3 最小二乘解当用回(。,见a港性无关射,中列满秩,中可逆,可得到拟合问题在最小二乘准则下的最小二乘解为的力尸4.4 基函数的选取数据拟合时常用的曲线:直线"母十公2,

35、3次曲线丁二片+同茶+方湘双曲线的一支小=扁+民X指数曲线7=MATLABx=Ab;%求解方程Ax=b。若A为可逆方阵,输出原方程组的解;若A列多于行,输出最小二乘解n=norm(x,1);n=norm(x);n=norm(x,inf);%输出x的1、2、无穷范数c=cond(x,1);c=cond(x);c=cond(x,inf);%输出x的1、2、无穷条件数r=rank(x);%输出向量x的秩e=eig(x);%输出矩阵x的全部特征值v=diag(x);v=diag(diag(x);%提取对角矩阵v=triu(x);v=tril(x);%输出矩阵x的上三角阵、下三角阵v=triu(x,1)

36、;v=tril(x,-1);%输出矩阵x的上三角阵、下三角阵,对角元素为0学习好资料欢迎下载h=hilb(n);p=pascal(n);%n阶希尔伯特矩阵、Pascal矩阵S=sparse(i,j,s,m,n)%稀疏矩阵,在第i行,第j列输入s,矩阵共m行,n列SS=full(S);%输出S的满矩阵tic;x=ab;t1=toc;%计算求解时间a=eye(3)%矩阵Ia=inv(b)%矩阵求逆a=polyfit(x,y,m);%完全多项式拟合,x,y要拟合的数据,m多项式的次数,a为拟合系数(降哥排列)y=polyval(a,x);%计算上述多项式在x处的值关键是列出Ax巾的式子,其中x为包含

37、要求量的矩阵,即列出方程后把包含要求量的项挪到一边,把其系数整理成A,剩下的部分就是bo通常需要用稀疏矩阵整理A:A=sparse(i,j,s,m,n)%稀疏矩阵,在第i行,第j列输入s,矩阵共m行,n列x=Ab即可求解实验考点是雅可比迭代法和高斯-赛德尔迭代法的相关理论和迭代范围等非线性方程求解1非线性方程(组)的定义及特点n(2)次代数方程(a0xn+a1xn-1+an=0)和超越方程(包含超越函数(如sinx,lnx)的方程)通称为非线性方程。方程中的未知数也称为变量或变元,只含一个未知数的方程(即一元方程或单变量方程)可以记作JW二°,该方程的解也称为方程的根(或函数/W的零

38、点)。n次代数方程有且只有n个根(包括复根、重根);5次以上的代数方程无求根公式;超越方程有无根,有几个根通常难以判断。这里仅讨论方程的实根。包含n个未知数的m个方程称为方程组,可以记作=。,其中工二(为,/)是一个向量,5/式或是一个向量值函数。当中至少有一个非线性函数时,尸称为非线性方程组。多数情况下,方程组中包含的方程的个数等于未知数的个数(即m=n)。求解非线性方程(组)的一般方法是迭代法,会出现分岔一一混沌现象。2非线性方程的基本解法2.1图形法和二分法解方程/(城二°的第一步通常是确定根的近似位置或大致范围。有两种方法:图形法和二分法。图形法是利用MATLAB勺函数图形功

39、能作f(x)的图形,观察f(x)与x轴的交点,确定根的个数和范围。二分法是基于连续函数/的零点存在定理,通过试探,,确定函数值异号的区间(巴力)后,可以用简单的二分法海区间缩小,具体步骤如下:取的中点天二(",若弥二。,%)'/)0,令4=入,4=6。在口也)内至少有一个根,且(%也) , - '1,": 如此进行下去,包含根的区间的长度每次缩小一半 (n=1,2,再取的中点),n足够大时即可达则丁即是根。否则,如/(办/(幻°,令飞二°,二七;如到满意的精度。图形法和二分法都可提供迭代法的初始迭代点。学习好资料欢迎下载2.2迭代法迭代法

40、的基本思想是将原方程/(1)=0改写成等价形式工二观了),选择适当的初值丁,按照迭代公式二姒醺h上二。工计算,若迭代序列卜J收敛到八则工满足了、3(7),称为迭代函数3的不动点,即为原方程f(x)=0的根。迭代法的关键在于如何构造迭代函数伊,使迭代序列以较快速度收敛。迭代法是否收敛取决于曲线妍电的斜率。(P118)关于迭代法的收敛性,理论上有如下的所谓局部收敛性定理:设3(1)在工的一个邻域内连续、可微,且阿。则对于该邻域内的任意初值Z,序列xn收敛于XOf'Um-7”=c>C对迭代序列苗J,记/=h-工,若E*11%II,P为一个正数,其中|表示某种范数(对实数可以认为就是绝对

41、值),则称序列工J为P阶收敛。特别地,1阶收敛称线性收敛,二阶收敛称平方收敛;若p=1,c=0,则称O为超线性收敛。P越大收敛越快。利用认R在/的泰勒展开:双乙)=观/)+必/)阮-/)+-川可得若/(1)h。,则为i阶收敛(线性收敛);若)=严)=0.炉"(工”口,则由)为P阶收敛。2.3牛顿法将一(X)在Z作泰勒展开,去掉2阶及2阶以上项(即线性化)后得/区寸8)+/功(工-4)。设/8)=。,_他)z*/令上面的匚二,用代替右端的x,就得到迭代公式YX河。对应的迭代函数为始)二彳有,其几何意义是过(4,/(4)点的曲线/二的切线与X轴的交点即为工W(点击看图1),称为牛顿切线法

42、。由研工')=公知,若?是/二。的单根,即少/ JMnQ,:租二1,这时牛顿切线法2阶收敛。当?是图2割线法的几何意义/W=o的重根时,炉(/)工o,牛顿切线法只是i阶收敛,并且重数越高收敛越慢/(一)-/(5)、=x_八一)(一I用差商入工1代替/E),迭代公式变为”L1,其几何意义是用割线代替了收敛速度比切线法稍慢(对于单根其收敛阶数是1.618 ),原来的切线(点击看图2),称为割线法(或称弦截法)其且需要两个初值X0,x1开始迭代。3非线性方程组的牛顿法、拟牛顿法将求解非线性方程的牛顿切线法推广到解方程组F(x)=0,其中工一仇而。设产二(甲,壮是第E步近似解,在”作泰勒展开,

43、线性化后用/制代替工可得巴册项)二也吗+以声)(*忆泗),其中(产)为F的雅可比(Jacobi)矩阵-组叟在工处的值。若尸(了)可逆,则可得求解方程组F(x)=o的牛顿迭代公式父刚二”)一/(”)】打了的)实际计算中,在计算过程的第k步,通常是先计算打了闾)和(朋),再解线性方程组尸WW=-网舟得到A产后,令产忡二产十加尚即可。牛顿迭代公式是超线性收敛的(即收敛阶不小于1),稍加条件就至少是平方收敛的。当函数F比较复杂时计算雅可比矩阵尸(X)很不方便,所以希望能用较简单的矩阵a近似,即M_(4)A-A仿照割线法中用差商W代替/(d)的作法,使胖满足型(严一产")=/(严)一/(严)和

44、工阚二川口)+.(同计算之。这种方法称为拟牛顿法。至于如何确定A4出,又有不同的构造方法,例如DFRBFGS4用MATLABEL具箱解非线性方程(组)4.1 fzero的基本用法fzero命令用于求单变量方程的根,所采用的算法主要是二分法、割线法和逆二次插值法等的混合方法。其最简单的调用方式为x=fzero(f,x0)函数简单可以用句柄形式:fzero(inline('xA3-2*x-5'),0)%初值取0或fzero(inline('xA3-2*x-5'),1,3)%有根区间取1,3或fzero(x)xA3-2*x-5,0)fzero求的可能只是变号点而不是零

45、点:连续函数近似零点,不连续函数,间断点;连续没变号找不到其最一般的调用方式为x,fv,ef,out=fzero(f,x0,opt,P1,P2,)输出参数输入参数注意事项(控件)4.1.1 命令的输出参数其中fzero命令输出参数的含义为:x:变号点的近似值fv:x点所对应的函数值ef:程序停止时的状态l1:找到异号点1-1:没有找到异号点Out:包含以下数据的一个结构变量lIterations:迭代次数lfuncCount:函数被调用的次数lalgorithm:实际使用的算法4.1.2 命令的输入参数其中fzero命令输出参数的含义为:1. f函数名(必须输入的参数)2. x0迭代初值(或有

46、根区间)(必须输入的参数)3. opt控制参数的结构变量,设定(或显示)控制参数的命令为Optimset(参见约束优化实验),用户不指定或指定为口时将采用缺省值。对fzero命令可选择的参数只有Display和TolX(含义见约束优化实验)4. P1,P2,.是传给f函数的参数(如果需要的话)4.1.3 命令注意事项1 .对简单函数f(x)可直接用MATLAB提供的inline函数输入(inline函数返回一个字符串表示的函数的句柄)2 .fzero实际上求得的不一定是函数的零点,而只是函数值发生变号的点。对于连续函数,这个点就是近似零点;但对于不连续的函数,这个点很可能只是一个间断点(且在该

47、点两边,函数值异号)。4.2 fsolve的基本用法fsolve命令用于非线性方程组的求解(当然也可以用于方程求根,但效果一般不如fzero程序),最一般的调用方式是:x,fv,ef,out,jac=fsolve(F,x0,opt,P1,P2,.)输出参数输入参数(控件)4.2.1 命令的输出参数其中fsolve命令输出参数的含义为:1. x:方程组的解2. fv:解所对应的向量函数值3. ef:程序停止时的状态l1:收敛l-1:不收敛l0:达到了迭代或函数调用的最大次数4. out:包含以下数据的一个结构变量lIterations:迭代次数lfuncCount:函数被调用的次数lalgori

48、thm:实际使用的算法lfirstorderopt:结果处梯度向量的1-范数5. jac:x点所对应的雅可比矩阵4.2.2 命令的输入参数其中输入参数的含义为:1. f函数名(必须输入的参数)2. x0迭代初值(必须输入的参数)3. opt控制参数的结构变量,设定(或显示)控制参数的命令为Optimset,有以下一些用法:Optimset/显示控制参数optimsetoptfun/显示程序'optfun的控制参数opt=optimset/控制参数设为(即缺省值opt=optimset(optfun)/设定为程序'optfun的控制参数缺省值Opt=optimset('p

49、ar1',val1,'par2',val2,.)Opt=optimset(oldopts,'pan',val1,)opt=optimset(oldopts,newopts)对fsolve命令可选择的常用参数有Diagnostics是否显示诊断信息(on'或'off)Display显示信息的级别('off1,'iter','final,'notify)LargeScale是否采用大规模算法('on'或'off)缺省值为offMaxIter最大迭代次数TolFun函数计算的误差限

50、TolX决策变量的误差限Jacobian目标函数是否采用分析Jacobi矩阵(on','off)MaxFunEvals目标函数最大调用次数4. P1,P2,是传给f函数的参数(如果需要的话)4.3 roots的基本用法Roots命令用于一元多项式求根。两个相关的命令是:lr=roots(c)输入多项式的系数c(按降哥排列),输出r为/0)二°的全部根(包括复根);lc=poly(r)输入J(1)二口的全部根r,输出c为多项式的系数(按降哥排列)。无约束优化1 .无约束优化的基本原理、解法1.1 无约束优化的一般形式无约束非线性规划问题为训八球葭二工厂无出J.其最优解通

51、常都是局部最优解,寻找全局最优解需要对局部最优解进行比较以后得到(如果能够求出所有局部最优解的话)。1.2 最优性条件X二工'是最优解的必要条件为)二。;充分条件为)二°,且"底)正定。1.3 下降法的基本思想在迭代的第k步,确定一个搜索方向和一个步长,使沿此方向、按此步长走一步到达下一点时,函数值1)下降。其基本步骤为1)选初始解1°112)对于第攵次迭代解工,确定搜索方向d£&i并在此方向确定搜索步长a£凡令”二工'+a广,使I.*川3)若支符合给定的迭代终止原则,停止迭代,最优解I=1;否则,转2。学习好资料欢迎下

52、载搜索方向婕的选择(不同方向产生不同的算法):1)最速下降法(梯度法)匚:二:2)牛顿法屋=一(/(力弓)(P142)牛顿法的优点是在接近最优解时具有2阶收敛性局部收敛性3)拟牛顿法:利用第尢和上+1步得到的犬,丁川W河(产),用BFG镂式,DFP公式,G必式等迭代公式构造正定矩阵G阴近似代替或直接构造中期近似代替(丁/(/),从而由y小二-演产),1得到下降方向dk+1。搜索步长的确定一一线性搜索:用二分法、黄金分割法(即0.618法)、Fibonacci法,牛顿切线法和割线法,插值方法等近似方法求一维优化问题:面17(犬+曲')来确定步长al1.4用MATLAB优化工具箱解无约束优

53、化问题用MATLA就化工具包求解无约束非线性规划时必须先化为如下形式:Minf(x)(NLP)求解程序名为fminunc,其最简单的调用格式为:x=fminunc('fun',x0)其最复杂的调用格式为:x,fval,exitflag,output,grad,hessian=fminunc(f,x0,options,P1,P2,)输出参数输入参数注意事项1.4.1 程序fminunc输出变量其中输出变量的含义为:1) x:最优解2) fval:最优解处的函数值3) exitflag:程序结束时的状态指示: >0:收敛 0:函数调用次数或迭代次数达到最大值(该值在optio

54、ns中指定) <0:不收敛4) Output:包含以下数据的一个结构变量 funcCount函数调用次数 iterations实际迭代次数 cgiterations实际PCG迭代次数(大规模计算用) algorithm实际使用的算法 stepsize最后迭代步长(中等规模计算用)5) grad:目标函数梯度6) hessian:目标函数的hessian矩阵1.4.2 程序fminunc输入参数其中输入变量的含义为: x0为初始解(缺省时程序自动取x0=0) fun.m给出目标函数,当GradObj='on时必须给出其梯度,当Hessian='on时还必须给出其Jacobi

55、矩阵,一般形式为 functionf,g,H=fun(x)学习好资料欢迎下载f = . % objective function value ifnargout>1 g=.%gradientofthefunction ifnargout>2 H=.%Hessianofthefunction end options:包含算法控制参数的结构设定(或显示)控制参数的命令为Optimset,有以下一些用法:Optimset/显示控制参数optimsetoptfun/显示程序'optfun的控制参数opt=optimset/控制参数设为(即缺省值opt=optimset(optfun)/设定为程序'optfun的控制参数缺省值Opt=optimset('par1',val1,'par2',val2,.)Opt=optimset(oldopts,'par1',val1,.)opt=optimset(oldopts,newopts)可以设定的参数比较多,对fminunc,常用的有以下一些参数:Diagnostics是否显示诊断信息('on'或'off)Displa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论