Matlab统计工具箱.ppt

上传人:牧羊曲112 文档编号:5575710 上传时间:2023-07-29 格式:PPT 页数:69 大小:309.49KB
返回 下载 相关 举报
Matlab统计工具箱.ppt_第1页
第1页 / 共69页
Matlab统计工具箱.ppt_第2页
第2页 / 共69页
Matlab统计工具箱.ppt_第3页
第3页 / 共69页
Matlab统计工具箱.ppt_第4页
第4页 / 共69页
Matlab统计工具箱.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《Matlab统计工具箱.ppt》由会员分享,可在线阅读,更多相关《Matlab统计工具箱.ppt(69页珍藏版)》请在三一办公上搜索。

1、1,Matlab统计工具箱,一:统计工具箱简介二:概率分布三:参数估计四:描述性统计五:假设检验六:统计绘图,2,一.matlab统计工具箱(statistics toolbox)简介,统计学是处理数据的艺术和科学,通过收集,分析,解释和表达数据来探索事物中蕴含的规律.随着科技水平的迅猛发展,知识经济的时代来临,海量的数据需要人们处理.matlab统计工具箱为人们提供了一个强有力的统计分析工具.统计工具箱基于matlab数值计算环境,支持范围广泛的统计计算任务.它包括200多个处理函数(m文件)主要应用于以下几方面:,3,1.1 统计工具箱的几大功能,*概率分布*参数估计*描述性统计*假设检验

2、*统计绘图,4,统计工具箱提供了20种概率分布类型,其中包括离散型分布:(如binomial二项分布,即n次贝努里试验中出现k次成功的概率.poisson 分布,和 分布等).,1.1.1概率分布-离散型,5,1.1.2 概率分布连续型,连续型分布如正态分布F(x)=beta分布,uniform平均分布等.每种分布提供5类函数:1 概率密度 2(累积)分布函数 3 逆累积分布函数 4 随机数产生器 5 均值和方差函数.,6,1.1.3另外4大功能,*参数估计-依据原始数据计算参数估计值置信区域.*描述性统计-方差,期望等数字特征.*假设检验-提供最通用的假设检验函数t-检验,z-检验.*统计绘

3、图-box图函数,正态概率图函数等.注意:统计工具箱中的说有函数都可用 type function_name语句查看其代码,也可进行修改,从而变为己用,加入到工具箱中.,7,二 概率分布,随机变量的统计行为取决于其概率分布,而分布函数常用连续和离散型分布。统计工具箱提供20种分布。每种分布有五类函数。1:概率密度(pdf);2:累积分布函数(cdf);3:逆累积分布函数(icdf);4:随机数产生器 5:均值和方差函数;一:离散型概率密度函数:为观察到的特定值的概率。连续型概率密度函数定义为:如存在非负函数p(x)0,使对任意ba,X 在(a,b)上取值概率为paXb=;则称p(x)为随机变量

4、X的概率密度函数。二:累积分布(cdf):它取决于pdf.表达式为F(x)=.逆累积分布(icdf):实际上是cdf的逆,它返回给定显著概率条件下假设检验的 临界值。,8,2.1,三:随机数产生器 所有随机数产生方法都派生于均匀分布随机数。产生方法有:直接法、反演法、拒绝法。四:均值和方差 均值和方差是分布函数的简单函数。在Matlab里用“stat”结尾的函数可计算得到给定参数的分布的均值和方差。以下以正态分布为例说明在Matlab里的实现。一:概率密度函数 X=-3:0.5:3;f=normpdf(x,0,1);(其中normpdf为正态分布的Matlab分布实现函数,可由以下介绍的函数代

5、替。),9,功能:可选分布的概率密度函数。格式:Y=pdf(name,X,A1,A2,A3)说明:name为特定分布的名称,如Normal,Gamma等。X为分布函数的自变量X的取值矩阵,而A1,A2,A3分别为相应的分布参数值。Y给出结果,为概率密度值矩阵。举例:p=pdf(Normal,-2:2,0,1)给出标准正态分布在-2到2的分布函数值。而p=pdf(Poisson,0:4,1:5)给出Poisson分布函数。,2.2,10,累积分布函数与逆累积分布函数同样地,累积分布和逆累积分布对每个分布都有特定地Matlab实现函数,这里只介绍通用的cdf,icdf.-cdf,icdf功能:计算

6、可选分布的累积分布函数和逆累积分布函数。格式:P=cdf(name,X,A1,A2,A3)X=icdf(name,X,A1,A2,A3)说明:cdf和icdf中的参数使用和pdf中的相同。只是计算结果不同。举例:p=cdf(Normal,0:5,1:6)X=icdf(Normal,0.1:0.2:0.9,0,1),2.3,11,随机数产生器在Matlab里和pdf,cdf与icdf一样,随机数的产生也有通用函数random.-random功能:产生可选分布的随机数。格式:y=random(name,A1,A2,A3,m,n)说明:random函数产生统计工具箱中任一分布的随机数。name为相应

7、分布的名称。A1,A2,A3为分布参数,意义同pdf参数。m,n确定了结果y的数量,如果分布参数A1,A2,A3为矢量,则m,n是可选的,但应注意,它们给出的长度或矩阵行列数必须与分布参数的长度相匹配。举例:rn=random(Normal,0,1,2,4),2.4,12,均值和方差和以上其他函数不同的是均值和方差的运算没有通用的函数,只能用各个分布的函数计算。对应于正态分布的计算函数为normstat();它返回两个参数的向量,分别为均值和方差。举例:m,n=normstat(mu,sigma),2.5,13,三.参数估计,参数估计:某分布的数学形式已知,应用子样信息来估计其有限个参数的值本

8、节主要介绍 3.1 最大似然估计(Maximum likelihood estimation)3.2 对数似然函数,14,3.1最大似然估计,基本思想:已知一组观测值,给定这组值出自的某类分布中,求 得最有可能出现这组值的一个分布.调用方法:phat,pci=mlsdist,data,alpha phat为参数估计结果,pci为置信区间计算结果dist为用户给定的分布名称,data为数据列表,(1-alpha)置信区域.,15,3.1.1 最大似然估计(mls)举例,例:rv=binornd(20,0.75)rv=17 p,pci=mle(binomial,rv,0.05,20)p=0.800

9、0 pci=0.5634 0.9427,16,3.2 对数似然函数,统计工具箱提供了分布,分布,正态分布和威布尔分布的负对数似然函数值的求取函数.正态分布的负对数似然函数调用方法 L=normlike(params,data)Params为正态分布参数:params(1)为,params(2)为,17,3.2.1其他负对数似然函数,分布的负对数似然函数 logL=betalike(params,data)分布的负对数似然函数 logL=gamlike(params,data)威布尔分布的负对数似然函数 logL=weiblike(params,data)参数设置与正态分布的负对数似然函数类似,

10、不加冗述.,18,四 描述性统计,概述:人们希望用少数样本来体现样本总体的规律。描述性统计就是收集、整理、加工和分析统计数据,使之系统化、条理化,以显示出数据资料的趋势、特征和数量关系。根据统计量特征性质的不同,工具箱提供了位置度量、散布度量、自助法以及在缺失数据情况下处理方法等方面的描述性统计工具函数。,19,4.1中心趋势(位置)度量,数据样本中心度量的目的在于对数据样本的数据分布线上分布的中心予以定位,即中心位置的度量。均值是对位置的简单和通常的估计量。但野值的存在往往影响位置的确定。而中位数和修正的均值则受野值的干扰很小。中位数是样本的50%分位点。而修正的均值所蕴涵的思想则是剔除样本

11、中最高值和最低值来确定样本的中心位置。几何均值和调和均值对野值都较敏感。当样本服从对数正态分布或偏斜程度很大时,它们也都是有效的方法。以下介绍位置度量有关函数。,20,4.2.1:几何平均数(geomean),功能:样本的几何均值。格式:m=geomean(X)说明:几何均值的定义为 m=(1.4.1)geomean 函数计算样本的几何均值。X若为矢量,它返回X中元素的几何均值;X若为矩阵,它的结果为一个行矢量,每个元素为X对应列元素的几何均值。举例:x=exprnd(1,10,6);geometric=geomean(X);average=mean(X);,21,4.2.2:(调和均值)ha

12、rmmean,功能:样本数据的调和均值。格式:m=harmmean(X)说明:调和均值定义为举例:样本均值大于或等于调和均值。X=exprnd(1,10,6);harmonic=harmmean(X)average=mean(X),22,(平均值)mean,功能:样本数据的平均值。说明:平均值定义为举例:x=normrnd(0,1,100,5);xbar=mean(X),23,4.2.4:median,功能:样本数据的中值。说明:中值即数据样本的50%中位数。中位数对野值出现的影响较小。举例:xodd=1:5;modd=median(xodd)meven=median(xeven),24,4.

13、2.5:trimmean,功能:剔除极端数据的样本均值。格式:m=trimmean(X,percent)说明:函数计算剔除观测量中最高百分比和最低百分比数据后的均值。函数中percent代表百分比。举例:X=normrnd(0,1,100,100);m=mean(X)trim=trimmean(X,10)sm=std(m)strim=std(trim)efficiency=(sm/strim).2,25,4.3散布度量,散布度量可以理解为样本中的数据偏离其数值中心的程度,也称离差。极差,定义为样本最大观测值与最小观测值之差。标准差和方差为常用的散布度量,对正态分布的样本描述是最优的。但抗野值干

14、扰能力较小。平均绝对值偏差对野值也敏感。四分位数间距为随机变量的上四分位数 和下四分位之差。,26,在Matlab里,有关散布度量计算的函数为:1:计算样本的内四分位数间距的 iqr(X).2:求样本数据的平均绝对偏差的 mad(X).3:计算样本极差的 range(X).4:计算样本方差的 var(X,w).5:求样本的标准差的 std(X).6:求协方差矩阵的cov(X).这些函数的详细说明可以参见Matlab的帮助文档。,4.4 Matlab里有关散布度量计算的函数,27,4.5处理缺失数据的函数,在对大量的数据样本进行处理分析时,常会遇到一些数据无法找到或不能确定的情况。这时可用NaN

15、标注这个数据。而工具箱中有一些函数自动处理它们。如:忽视NaN,求其他数据的最大值的nanmax.格式:m=nanmax(X)举例:m=magic(3);m(1 6 8)=NaN NaN NaN nmax,maxidx=nanmax(m),28,4.6中心矩,中心矩是关于数学期望的矩。对于任意的r 0,称 为随机变量X的r阶中心矩。一阶中心矩为0,二阶中心矩为方差:函数moment计算任意阶中心矩。格式:m=moment(X,order)说明:order确定阶。,29,4.7相关系数,相关系数是两个随机变量间线性相依程度的度量。可用函数corrcoef计算它。格式:R=corrcoef(X)说

16、明:输入矩阵X的行元素为观测值,列元素为变量,R=corrcoef(X)返回相关系数矩阵R.,30,五.假设检验,假设检验 是统计的基本问题.旨在应用得到的少量信息,判断整体是否满足给定条件或达到给定的标准.回顾一下我们以前在统计学中所学的假设检验.其步骤为:,31,5.1 假设检验步骤,1.设:零假设.(成立则h=0,否则h=1).2.取得一组观测值(子样).3.给定显著型水平(一般取0.05).4.应用子样的某些统计量特征.5.在 成立前提下,若出现已知观测值的概率小于5%,则拒绝,否则认为观测值与假设无显著差别.,32,5.2 ranksum函数,调用方法:p,h=ranksum(x,y

17、,alpha)p返回x,y的母体一致的显著性水平,h为假设检验的返回值.x,y为两组观测值,alpha为显著性水平.请参考下面例子,33,5.2.1 Ranksum函数举例,例:检验两组服从poisson分布的随机数样本的均值是否相同.x=poissrnd(5,10,1);y=poissrnd(2,10,1);p,h=ranksum(x,y,0.05)p=0.0028 h=1,34,5.3 signrank函数,调用方法:p,h=signrank(x,y,alpha)参数与ranksum函数类似.例:检验两个正态分布的样本子样均值是否相等.x=normrnd(0,1,20,1);y=normr

18、nd(0,2,20,1);p,h=signrank(x,y,0.05)p=0.2568 h=0,35,5.4 ttest-t检验,调用方法:h,sig,ci=ttest(x,m,alpha)h为假设检验的返回值.sig与T统计量有关,T=.ci为均值的(1-alpha)置信区域.m为假设的样本均值.,36,5.4.1 ttest函数举例,例:给出理论均值为0、标准差为1的100个正态随机数样本。当然,观测样本的均值和标准差与理论值不同的,但假设检验的结果却还原其本质规律。x=normrnd(0,1,1,100);h,sig,ci=ttest(x,0);h=0 sig=0.4474 ci=-0.

19、1165 0.2620 结果h=0,意味着我们不能拒绝零假设。,37,5.5 ztest函数,已知方差的单样本均值的检验假设.调用方法:h,sig,ci=ztest(x,m,sigma,alpha,tail)ztest(x,m,sigma)是在0.05显著性水平下检验正态分布的样本是否具有均值m和标准差sigma.h=ztest(x,m,sigma,alpha)则可由您确定显著性水平alpha值,并返回检验结果h。Sig、ci与ttest函数中相应的意义相同。,38,函数ztest举例,例:x=normrnd(0,1,100,1);m=mean(x);m=0.0727 h,sig,ci=zte

20、st(x,0,1);h=0 sig=0.4669 ci=-0.1232 0.2687,39,六 统计绘图,概述统计工具箱在Matlab丰富的绘图功能上又添加了图形表现函数,box图用于展现样本及其统计量的内在规律,也用于通过图形来比较多个样本的均值。正态概率图是确定样本是否为正态分布的图形。分位数-分位数图用于比较两个样本的分布。,40,6.1 Box图,-boxplot功能:数据样本的box图。格式:boxplot(X)boxplot(X,notch,sym,vert,whis)举例:x1=normrnd(5,1,100,1);x2=normrnd(6,1,100,1);x=x1 x2;bo

21、xplot(x,1),41,6.2误差条图,-errorbar功能:误差条图。格式:errorbar(X,Y,L,U,symbol)举例:lambda=(0.1:0.2:0.5);r=poissrnd(lambda(ones(50,1),:));p,pci=poissfit(r,0.001);L=p-pci(1,:)U=pci(2,:)-p errorbar(1:3,p,L,U,+),42,还有其他函数:1:fsurfht 画交互轮廓图2:gline 绘制交互3:gname 用实例名称或实例号来标记图中的点4:lsline 绘制数据的最小二乘拟合线5:normplot 图形化正态检验的正态概率

22、图6:pareto 帕累托图7:qqplot 两个样本的分位数-分位数图8:rcoplot 回归残差图9:refcurve 在当前图形中给出多项式拟合曲线,6.3,43,几个统计绘图的例子,画正态概率图Normplot(x)画数据的正态概率图X=normrnd(0,1,50,1)H=normplot(x);,44,pareto图,Pareto(y,names)defects=pits;cracks;holes;dents;quantify5,3,19,25;quantity=5,3,19,25;,45,用实例名来标记图中的点,Gname(case)功能:用实例名来标记图中的点Load citi

23、esEduation=rating(:,6);arts=ratings(:,7);Plot(eduation,artsk,+)Gname(names),46,第四章 最优工具箱(Optimization Toolbox Ver 5.0),优化工具箱简介 Matlab 的优化工具箱提供了对各种优化问题的一个完整的解决方案,其内容涵盖线性规划,二次规划,非线性规划,最小二成问题,非线性方程求解,多目标决策,最小最大问题,以及半无限问题等的优化问题。,一个简单的例子:例一,考虑如下优化问题目标函数:minf(x)x=x1(4x12+2x22+4x1x2+2x2+1)约束方程:x1x2x1x2+1.5

24、0 x1x210,47,为了求解该优化问题,必须先编写一个能够返回函数值的M文件,将函数表达式写入,然后调用有约束非线性优化函数constr,由于优化函数要求约束方程具有G(x)0的形式,因此必须将约束方程规范化,进行与处理。,规范化后约束方程变为x1x2x1x2+1.50 x1x2100,求解过程第一步:为目标函数及约束方程编写M文件fun.mfunction f,g=fun(x)f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);g(1,1)=1.5+x(1)*x(2)x(1)x(2);%约束g(2,1)=(1)*x(2)10;第二步:在命令

25、窗口调用有约束非线性优化函数 constrx0=-1,1;%设置初始解向量x=constr(fun,x0)经过次函数调用后,得出如下结果:x=9.5474 1.0474极值点处的函数值和约束条件的值为:f,g=fun(x),48,f=0.0236g=0e 15*.8882 可见,使用Matlab的优化工具箱解决优化问题简洁,明了。用户应该将精力集中于需要解决的问题,而不需要考虑各种算法的具体实现。,4.2.2 约束方程的规范化 由于Matlab的优化工具箱仅支持形如G(x)0的约束方程以及变量的上下界约束。因此,对于非规范型的约束方程,必须进行变换。将其变 换为形如 g(x)0 对于等式约束,

26、Matlab 要求必须将等式约束方程置于约束变量g 的前几个元素中,并在优化参数设置选项 options 相两种设置 options(13)为等式约束方程的个数。以例一的优化问题为例,加入一个等式约束:x1+x2=1 将其改为规范等式约束:x1+x2 1=0 并在第二步中加入:options(13)=1;%有一个等式约束 对于上下界约,Matlab 通过优化函数的有界语法调用来实现。例如,对于 constr函数,其有界语法调用格式为:x=constr(fun,x0,options,vlb,vub);该调用将x 限制在 vlbxvub,49,4.2.3 参数设置与附加参数传递优化问题求解时常常要

27、对相对误差,使用算法等进行设置,Matlab 提供了 options 向量来对优化函数进行参数设置。如果没有使用 options 向量或者 options 向量唯为空向量,则回自动生成一个 options 向量并使用一组缺省值。如果要对 options 向量中的某些元素重新赋值,则可首先通过 foptions 函数来产生一个 options 向量,然后对有需要的元素赋值,其他仍然为空缺值。,foptions 功能:设置优化参数,显示参数值 格式:help foptions options=foptions需要注意的是,附加参数不能超过 10 个。,4.2.4 表达式优化直接对由表达式描述的简单

28、函数进行优化注意,当书写这种表达式时,自变量必须以小写字母 x 表示。例3 表达式优化的例子:x=fminu(sin(x),1)%求sin(x)的最小值,初始值为1x=fxolve(x*x*x 1,2;3,4,ones(2,2)%矩阵方程求解x=leastsq(x*x 3 5;9 10,eye(2,2)%最小方差问题,50,4.3 线性规划目标函数:minc1x1+c2x2+cnxn 约束:a11x1+a12x2+a1nxn=b1 a21x1+a22x2+a2nxn=b2 am1x1+am2x2+amnxn=bm xi0,i=1,2,n,注意,所有的决策变量xi 均假定为非负,否则可用 xi

29、xi 取代它,xi0,xi0,如果有不等式约束,则对含的约束,在左边加上一个非负变量使其成为等式约束;对含的约束,在左边减去一个非负变量使其成为等式约束。,4.3.2 lp函数lp 功能:求解线性规划问题 格式:x=lp(c,A,b)x=lp(c,A,b,vlb)x=lp(c,A,b,vlb,vub)%设置解向量的上下界 x=lp(c,A,b,vlb,vub,x0)%设置初始解向量 x0 x=lp(c,A,b,vlb,vub,x0,neqcstr)%设置在约束中的等式约束的个数 x,lambda,how=lp(c,A,b,)%同时返回拉格朗日乘子,51,例子 求下面线性规划问题:目标函数:f(

30、x)=5x1 4x2 6x3 约束方程:x1-x2+x320 3x1+2x2+4x342 3x1+2x230 0 x1,0 x2,0 x3,第一步:输入系数 c=-4,-5,-6 a=1 1 1 3 2 4 3 2 0;b=20;42;30;第二步:求解 x,lambda=lp(c,a,b,zeros(3,1)解为:x=0 15.0000 3.000lambda=0 1.5000 0.5000 1.0000 0 0,A 为约束方程系数矩阵 c 为目标方程系数 b 为约束方程系数向量,52,例子:求无约束非线性问题f(x)=100(x2 x12)2+(1 x1)2初始解向量:x=-1.2 1 第

31、一步:编写文件function f=fun(x)f=100*(x(2)x(1)2)2+(1 x(1)2;第二步:求解x=-1.2,1 x=fminu(fun,x)x=1.0000 1.0000 fun(x)=8.8348e-11,4.4 非线性规划4.4.1 无约束规划fminu,fmins 功能:求解无约束非线性最优化问题 格式:x=fminu(fun,x0)%求函数fun的最小值,并设置初始值向量为x0 x=fminu(fun,x0,options)%可选参数在options向量中设置 x=fminu(fun,x0,options,grad)x=fminu(fun,x0,options,g

32、rad,p1,p2,)x,options=fminu(fun,x0,)=fmins(fun,x0,)options(2)控制x的精度 options(3)控制目标函数f的精度,53,fmins 线性搜索算法的控制:缺省 options(7)=0,使用一种二次和三次多项式插值的混合算法 options(7)=1时,使用三次多项式插值算法。目标函数大于阶,一般用fminu函数;但对于非常不连续的函数则用fmuns函数,4.4.2二次规划4.4.3有约束规划 fmin函数 标量最优求解标量最优问题的一般描述:目标函数:mina f(a)区域约束单变量问题:目标函数:minaf(a)约束条件:a1a

33、a2,fminu函数优化算法的控制:缺省options(6)=0 时,用拟牛顿方法 options(6)=1 时,用DFP公式来逼近Hessian矩阵options(6)=2 时,用最速下降法,54,例子:求下面标量函数在(0,5)区间的最小值 目标函数:f=(a-3)2 1 第一步:编写M函数 function f=fun(a)f=(a-3)2 1;第二步:求解 a=fmin(fun,0,5)a=3 The value at the minimum is Y=f(a)Y=1,fmin 功能:求解区域约束单变量问题。格式:a=fmin(fun,a1,a2)a=fmin(fun,a1,a2,op

34、tions)a=fmin(fun,a1,a2,options,p1,p2,.)a,options=fmin(function,a1,a2,)说明:options(2)控制x的精度 options(14)控制函数的计算次数,55,constr 功能:多变量非线性约束最优问题求解 格式:x=constr(fun,x0)%求解非线性约束最优化问题,初始向量为x0 x=constr(fun,x0,options)x=constr(fun,x0,options,vlb,vub,grad,)%设置解向量上下界 x=constr(fun,x0,options,vlb,vub,grad,p1,p2,)x,op

35、tions=constr(fun.X0,)x,options,lambda=constr(fun,x0,)x,options,lambda,hess=constr(fun,x0,)options(4)控制对约束的越限程度,3 constr函数多变量非线性约束最优化问题的一般描述目标函数:minx f(x)约束条件:G(x)0,56,目标函数:f(x)=-x1*x2*x3约束条件:-x1 2x2 2x30;x1+2x2+2x372初始解向量:x=10 10 10 第一步:编写M文件function f,g=fun(x)f=-x(1)*x(2)*x(3);g(1)=-x(1)2*x(2)2*x(3

36、);g(2)=x(1)+2*x(2)+2*x(3)72;第二步:求解x0=10,10,10;x=constr(fun,x0)经过次运算后,结果为x=24.0000 12.0000 12.0000 f,g=fun(x)f=3.4560e+03g=72 0,例子,57,4.5最小最大(minmax)问题一般描述:目标函数:约束条件:G(x)0,minimax 功能:求解最小最大问题 格式:x=minimax(fun,x0)%求解最小最大问题,初始解向量为x0 x=minimax(fun,x0,options)x=minimax(fun,x0,options,vlb,vub,grad)x=minim

37、ax(fun,x0,options,vlb,vub,grad,p1,p2,)x,options=minimax(fun,x0,),minimax 功能:求解最小最大问题 格式:x=minimax(fun,x0)%求解最小最大问题,初始解向量为x0 x=minimax(fun,x0,options)x=minimax(fun,x0,options,vlb,vub,grad)x=minimax(fun,x0,options,vlb,vub,grad,p1,p2,)x,options=minimax(fun,x0,),58,举例:(1)求下述最小最大问题:f1(x),f2(x),f3(x),f4(x

38、),f5(x)其中 f1=2x12+x22 48x1 40 x2+304 f2=-x12 3x22 f3=x1+3x2 18 f4=-x1 x2 f5=x1+x2 8,第一步:编写M文件function f,g=fun(x)f(1)=2*x(1)2+x(2)2 48*x(1)40*x(2)+304;f(2)=x(1)2 3*x(2);f(3)=x(1)+3*x(2)18;f(4)=-x(1)x(2);f(5)=x(1)+x(2)8;g=;%无约束第二步:求解x0=0.1,0.1;x=minimax(fun,x0)经过29次运算后,结果为:,59,x=4.0000 4.0000fun(x)ans

39、=0.0000-16.0000-2.0000-8.0000 0.0000,(2)求上述问题的绝对值最小最大问题:即目标函数为:abs(f1(x),abs(f2(x),abs(f3(x),abs(f4(x),abs(f5(x)第一步:编写M文件(与例一相同)第二步:求解x0=0.1,0.1;options(15)=5;%全部为绝对值最小最大分量x=minimax(fun,x0,options)经过39次运算,解为:x=8.7769 0.6613fun(x)ans=10.7609-7.2391-9.4382 1.4382,60,4.8最小二乘最优nnls函数非负线性最小二乘求解非负线性最小二乘问题

40、的一般形式目标函数:minxAx-b22约束条件:x0,nnls 功能:求解非负最小二乘问题 格式:nnls(A,b)%求解上述非负最小二乘问题 nnls(A,b,tol)%定义x的容许误差,缺省:tol=max(size(A)*norm(A,l)*esp x,w=nnls(A,b)x,w=nnls(A,b,tol),举例:一个最小二成问题的无约束与非负约束解法的比较 第一步:输入系数 a=0.0372 0.2869 0.6861 0.7071 0.6233 0.6245 0.6344 0.6170 b=0.8587 0.1781 0.0747 0.8405,61,第二步:求解a b,nnls

41、(a,b)=-2.5625 0 1.1106 0.6929norm(a*(ab)b),norm(a*nnls(a,b)b)=0.6677 0.9119,conls函数约束线性最小二乘求解线性约束最小二乘问题的一般描述:目标函数:minAx-b22约束条件:Cxd,conls 功能:线性约束最小二乘问题求解格式:x=conls(A,b,C,d)%求解在约束c*xd下方程A*x=b的最小二乘解 x=conls(A,b,C,d,vlb)x=conls(A,b,C,d,vlb,vub)%设置上下界 x=conls(A,b,C,d,vlb,vub,x0)%设置初始解向量x0 x=conls(A,b,C,

42、d,vlb,vub,x0,neqcstr)x=conls(A,b,C,d,vlb,vub,x0,neqcstr,display)x,lambda,how=conls(A,b,C,d,)%同时返回拉格朗日乘子其中,A,b 为线性系统的系数 C,d 为线性约束的系数,62,举例:求解如下系统的最小二乘解 系统:Ax=b 约束:Cxb;vlbxvub第一步:输入系统系数第二步:求解 x,lambda=conls(A,b,C,d,vlb,vub),4.8.4 leastsq函数非线性最小二乘求解非线性最小二成问题的一般描述minxF(x)22=if i(x)2,leastsq 功能:求解非线性最小二乘

43、(非线性数据拟合)问题格式:x=leastsq(fun,x0)%求解返回解向量x,初始解向量为x0 x=leastsq(fun,x0,options)x=leastsq(fun,x0,options,grad)x=leastsq(fun,x0,options,grad,p1,p2,)x,options=leastsq(fun,x0,)x,options,funval=leastsq(fun,x0,)x,options,funval,Jacob=leastsq(fun,x0,)options(2)控制x的精度options(3)控制目标函数f的精度,63,举例:求下述非线性最小二乘问题(2+2k

44、 ekx1 ekx2)k=1,2,10 初始解向量为x=0.3 0.4 由于leastsq函数要求传递的函数为向量形式且不具有平方和形式,因此对函数作以下变换:Fx(x)=2+2k ekx1 ekx2 k=1,2,10第一步:编写M文件function f=fun(x)k=1:10;f=2+2*k exp(k*x(1)exp(k*x(2);第二步:求解x0=0.3 0.4x=leastsq(fun,x0)经过42次运算,得到以下结果x=0.25783 0.25783sum(fun(x).*fun(x)%求目标函数ans=124.3622,64,fzero 功能:求解单变量函数 格式:z=fze

45、ro(fun,x0)%单变量函数fun求解,并设置初始搜索点为x0 z=fzero(fun,x0,tol)%设置解的精度 z=fzero(fun,x0,tol,trace)z=fzero(fun,x0tol,trace,p1,p1,)tol为相对容许误差,1.9方程求解 fzero 采用数值解法求解非线性方程;fsolve函数则采用非线性最小二乘法求解线性方程组,65,举例:对下述函数求解:f(x)=x3 2x 5第一步:编写M文件function y=f(x)y=x.3 2*x 5;第二步:求解z=fzero(f,2)z=2,0946,1.fsolve 功能:非线性方程求解非线性方程的一般描

46、述:F(x)=0 其中x为向量,F(x)为一个函数向量,格式:x=fsolve(fun,x0)%非线性方程fun求根x=fsolve(fun,x0,opntions)x=fsolve(fun,x0,opntions,grad)x=fsolve(fun,x0,opntions,grad,p1,p2,)x,options=fsolve(fun,x0,),66,举例:(1)求下述系统的根 2x1 x2=e-x1-x1+2x2=ex2 即解下述方程 2x1 x2=e-x1-x1+2x2=ex2并设初始解向量为x0=-5,-5,第一步:编写M文件function F=fun(x)F=2*x(1)x(2)

47、exp(-x(1);x(1)+2*x(2)exp(-x(2)第二步:求解x0=-5*ones(2,1);options=foptions;options(1)=1;%设置显示输出中间结果x=fsolve(fun,x0,options)f=fun(x)经过25次迭代后,得到一个零点f-count RESID STEP-SIZE GRAD/SD3 47071.2 1-9.41e+048 966.828 1-1.81e+0315 1.99465 3.85 5.620 0.000632051 0.895-0.086725 1.39647e?5 0.998 0.98e?9解及解处的函数值为:x=0.56

48、71 0.5671f=1.0e 7*0.2642 0.2642,67,(2)求矩阵x使其满足方程x*x*x=1 2并使初始解向量为:x=1,1;1,1第一步:编写M文件function F=fun(x)F=x*x*x 1,2,;3,4;第二步:求解x0=ones(2,2);x=fsolve(fun,x0)经过44次迭代后,解为:x=0.1291 0.86021.2903 1.1612F=x*x*x 1,2,;3,4F=0e 05*0.0350 0.12680.0721-0.1293sum(sum(F.*F)ans=3.9218e 12,68,关于MATLAB,分三讲来讲述只是讲了一些最基本的东西还有许多我不知道的内容希望同学们课后都练习,69,我的联系方式,中心教学楼823房间或者820房间找李炳照老师即可(68913152)大家有什么不会的问题我们可以一起探讨谢谢大家!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号