Matlab統(tǒng)計工具箱.ppt_第1頁
Matlab統(tǒng)計工具箱.ppt_第2頁
Matlab統(tǒng)計工具箱.ppt_第3頁
Matlab統(tǒng)計工具箱.ppt_第4頁
Matlab統(tǒng)計工具箱.ppt_第5頁
免費預覽已結束,剩余64頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1,Matlab統(tǒng)計工具箱,一:統(tǒng)計工具箱簡介 二:概率分布 三:參數(shù)估計 四:描述性統(tǒng)計 五:假設檢驗 六:統(tǒng)計繪圖,2,一.matlab統(tǒng)計工具箱(statistics toolbox)簡介,統(tǒng)計學是處理數(shù)據(jù)的藝術和科學,通過收集,分析,解釋和表達數(shù)據(jù)來探索事物中蘊含的規(guī)律.隨著科技水平的迅猛發(fā)展,知識經濟的時代來臨,海量的數(shù)據(jù)需要人們處理.matlab統(tǒng)計工具箱為人們提供了一個強有力的統(tǒng)計分析工具. 統(tǒng)計工具箱基于matlab數(shù)值計算環(huán)境,支持范圍廣泛的統(tǒng)計計算任務.它包括200多個處理函數(shù)(m文件)主要應用于以下幾方面:,3,1.1 統(tǒng)計工具箱的幾大功能,*概率分布 *參數(shù)估計 *描述

2、性統(tǒng)計 *假設檢驗 *統(tǒng)計繪圖,4,統(tǒng)計工具箱提供了20種概率分布類型,其中包括 離散型分布: (如binomial二項分布, 即n次貝努里試驗中出現(xiàn)k次成功的概率.poisson 分布, 和 分布等).,1.1.1概率分布-離散型,5,1.1.2 概率分布連續(xù)型,連續(xù)型分布 如正態(tài)分布F(x)= beta分布,uniform平均分布等. 每種分布提供5類函數(shù): 1 概率密度 2 (累積)分布函數(shù) 3 逆累積分布函數(shù) 4 隨機數(shù)產生器 5 均值和方差函數(shù).,6,1.1.3另外4大功能,*參數(shù)估計-依據(jù)原始數(shù)據(jù)計算參數(shù)估計值置信區(qū)域. *描述性統(tǒng)計-方差,期望等數(shù)字特征. *假設檢驗-提供最通用

3、的假設檢驗函數(shù)t-檢驗,z-檢驗. *統(tǒng)計繪圖- box圖函數(shù),正態(tài)概率圖函數(shù)等. 注意:統(tǒng)計工具箱中的說有函數(shù)都可用 type function_name語句查看其代碼,也可進行修改,從而變?yōu)榧河?加入到工具箱中.,7,二 概率分布,隨機變量的統(tǒng)計行為取決于其概率分布,而分布函數(shù)常用連續(xù)和離散型分布。統(tǒng)計工具箱提供20種分布。每種分布有五類函數(shù)。 1: 概率密度(pdf) ; 2: 累積分布函數(shù)(cdf); 3:逆累積分布函數(shù)(icdf);4: 隨機數(shù)產生器 5: 均值和方差函數(shù); 一:離散型概率密度函數(shù):為觀察到的特定值的概率。 連續(xù)型概率密度函數(shù)定義為:如存在非負函數(shù)p(x) 0,使對任

4、意ba, X 在(a,b)上取值概率為paXb= ;則稱p(x)為隨機變量X的概率密度函數(shù)。 二:累積分布 (cdf):它取決于pdf. 表達式為F(x)= . 逆累積分布(icdf):實際上是cdf的逆,它返回給定顯著概率條件下假設檢驗的 臨界值。,8,2.1,三:隨機數(shù)產生器 所有隨機數(shù)產生方法都派生于均勻分布隨機數(shù)。產生方法有:直接法、反演法、拒絕法。 四:均值和方差 均值和方差是分布函數(shù)的簡單函數(shù)。在Matlab里用“stat”結尾的函數(shù)可計算得到給定參數(shù)的分布的均值和方差。 以下以正態(tài)分布為例說明在Matlab里的實現(xiàn)。 一:概率密度函數(shù) X=-3:0.5:3; f=normpdf(

5、x,0,1); (其中normpdf為正態(tài)分布的Matlab分布實現(xiàn)函數(shù),可由以下介紹的函數(shù)代替。),9,功能:可選分布的概率密度函數(shù)。 格式:Y=pdf(name,X,A1,A2,A3) 說明:name為特定分布的名稱,如Normal,Gamma等。X為分布函數(shù)的自變量X的取值矩陣,而A1,A2,A3分別為相應的分布參數(shù)值。Y給出結果,為概率密度值矩陣。 舉例:p=pdf(Normal,-2:2,0,1) 給出標準正態(tài)分布在-2到2的分布函數(shù)值。 而p=pdf(Poisson,0:4,1:5)給出Poisson分布函數(shù)。,2.2,10,累積分布函數(shù)與逆累積分布函數(shù) 同樣地,累積分布和逆累積分

6、布對每個分布都有特定地Matlab實現(xiàn)函數(shù),這里只介紹通用的cdf,icdf. - cdf, icdf 功能:計算可選分布的累積分布函數(shù)和逆累積分布函數(shù)。 格式:P=cdf(name,X,A1,A2,A3) X=icdf(name,X,A1,A2,A3) 說明:cdf和icdf中的參數(shù)使用和pdf中的相同。只是計算結果不同。 舉例:p=cdf(Normal,0:5,1:6) X=icdf(Normal,0.1:0.2:0.9,0,1),2.3,11,隨機數(shù)產生器 在Matlab里和pdf,cdf與icdf一樣,隨機數(shù)的產生也有通用函數(shù)random. - random 功能:產生可選分布的隨機數(shù)

7、。 格式:y=random(name,A1,A2,A3,m,n) 說明:random函數(shù)產生統(tǒng)計工具箱中任一分布的隨機數(shù)。name為相應分布的名稱。A1,A2,A3為分布參數(shù),意義同pdf參數(shù)。m,n確定了結果y的數(shù)量,如果分布參數(shù)A1,A2,A3為矢量,則m,n是可選的,但應注意,它們給出的長度或矩陣行列數(shù)必須與分布參數(shù)的長度相匹配。 舉例:rn=random(Normal,0,1,2,4),2.4,12,均值和方差 和以上其他函數(shù)不同的是均值和方差的運算沒有通用的函數(shù),只能用各個分布的函數(shù)計算。對應于正態(tài)分布的計算函數(shù)為normstat(); 它返回兩個參數(shù)的向量,分別為均值和方差。 舉例

8、:m,n=normstat(mu,sigma),2.5,13,三.參數(shù)估計,參數(shù)估計: 某分布的數(shù)學形式已知,應用子樣信息來估計其有限個參數(shù)的值 本節(jié)主要介紹 3.1 最大似然估計(Maximum likelihood estimation) 3.2 對數(shù)似然函數(shù),14,3.1最大似然估計,基本思想: 已知一組觀測值,給定這組值出自的某類分布中,求 得最有可能出現(xiàn)這組值的一個分布. 調用方法: phat,pci=mlsdist,data,alpha phat為參數(shù)估計結果,pci為置信區(qū)間計算結果dist為用戶給定的分布名稱,data為數(shù)據(jù)列表,(1-alpha)置信區(qū)域.,15,3.1.1

9、最大似然估計(mls)舉例,例: rv=binornd(20,0.75) rv= 17 p,pci=mle(binomial,rv,0.05,20) p= 0.8000 pci= 0.5634 0.9427,16,3.2 對數(shù)似然函數(shù),統(tǒng)計工具箱提供了分布,分布,正態(tài)分布和威布爾分布的負對數(shù)似然函數(shù)值的求取函數(shù). 正態(tài)分布的負對數(shù)似然函數(shù) 調用方法 L=normlike(params,data) Params為正態(tài)分布參數(shù):params(1)為,params(2)為,17,3.2.1其他負對數(shù)似然函數(shù),分布的負對數(shù)似然函數(shù) logL=betalike(params,data) 分布的負對數(shù)似然

10、函數(shù) logL=gamlike(params,data) 威布爾分布的負對數(shù)似然函數(shù) logL=weiblike(params,data) 參數(shù)設置與正態(tài)分布的負對數(shù)似然函數(shù)類似,不加冗述.,18,四 描述性統(tǒng)計,概述: 人們希望用少數(shù)樣本來體現(xiàn)樣本總體的規(guī)律。 描述性統(tǒng)計就是收集、整理、加工和分析統(tǒng)計數(shù)據(jù),使之系統(tǒng)化、條理化,以顯示出數(shù)據(jù)資料的趨勢、特征和數(shù)量關系。 根據(jù)統(tǒng)計量特征性質的不同,工具箱提供了位置度量、散布度量、自助法以及在缺失數(shù)據(jù)情況下處理方法等方面的描述性統(tǒng)計工具函數(shù)。,19,4.1中心趨勢(位置)度量,數(shù)據(jù)樣本中心度量的目的在于對數(shù)據(jù)樣本的數(shù)據(jù)分布線上分布的中心予以定位,即

11、中心位置的度量。 均值是對位置的簡單和通常的估計量。但野值的存在往往影響位置的確定。而中位數(shù)和修正的均值則受野值的干擾很小。中位數(shù)是樣本的50%分位點。而修正的均值所蘊涵的思想則是剔除樣本中最高值和最低值來確定樣本的中心位置。 幾何均值和調和均值對野值都較敏感。當樣本服從對數(shù)正態(tài)分布或偏斜程度很大時,它們也都是有效的方法。 以下介紹位置度量有關函數(shù)。,20,4.2.1: 幾何平均數(shù)(geomean),功能:樣本的幾何均值。 格式:m=geomean(X) 說明:幾何均值的定義為 m= (1.4.1) geomean 函數(shù)計算樣本的幾何均值 。X若為矢量,它返回X中元素的幾何均值;X若為矩陣,它

12、的結果為一個行矢量,每個元素為X對應列元素的幾何均值。 舉例:x=exprnd(1,10,6); geometric=geomean(X); average=mean(X);,21,4.2.2: (調和均值)harmmean,功能:樣本數(shù)據(jù)的調和均值。 格式:m=harmmean(X) 說明:調和均值定義為 舉例:樣本均值大于或等于調和均值。 X=exprnd(1,10,6); harmonic=harmmean(X) average=mean(X),22,4.2.3(平均值)mean,功能:樣本數(shù)據(jù)的平均值。 說明:平均值定義為 舉例:x=normrnd(0,1,100,5); xbar=m

13、ean(X),23,4.2.4:median,功能:樣本數(shù)據(jù)的中值。 說明:中值即數(shù)據(jù)樣本的50%中位數(shù)。中位數(shù)對野值出現(xiàn)的影響較小。 舉例:xodd=1:5; modd=median(xodd) meven=median(xeven),24,4.2.5:trimmean,功能:剔除極端數(shù)據(jù)的樣本均值。 格式:m=trimmean(X,percent) 說明:函數(shù)計算剔除觀測量中最高百分比和最低百分比數(shù)據(jù)后的均值。 函數(shù)中percent代表百分比。 舉例:X=normrnd(0,1,100,100); m=mean(X) trim=trimmean(X,10) sm=std(m) strim=

14、std(trim) efficiency=(sm/strim).2,25,4.3散布度量,散布度量可以理解為樣本中的數(shù)據(jù)偏離其數(shù)值中心的程度,也稱離差。 極差,定義為樣本最大觀測值與最小觀測值之差。 標準差和方差為常用的散布度量,對正態(tài)分布的樣本描述是最優(yōu)的。但抗野值干擾能力較小。 平均絕對值偏差對野值也敏感。 四分位數(shù)間距為隨機變量的上四分位數(shù) 和下四分位之差。,26,在Matlab里,有關散布度量計算的函數(shù)為: 1:計算樣本的內四分位數(shù)間距的 iqr(X). 2:求樣本數(shù)據(jù)的平均絕對偏差的 mad(X). 3:計算樣本極差的 range(X). 4: 計算樣本方差的 var(X,w). 5

15、: 求樣本的標準差的 std(X). 6: 求協(xié)方差矩陣的cov(X). 這些函數(shù)的詳細說明可以參見Matlab的幫助文檔。,4.4 Matlab里有關散布度量計算的函數(shù),27,4.5處理缺失數(shù)據(jù)的函數(shù),在對大量的數(shù)據(jù)樣本進行處理分析時,常會遇到一些數(shù)據(jù)無法找到或不能確定的情況。這時可用NaN標注這個數(shù)據(jù)。而工具箱中有一些函數(shù)自動處理它們。 如 :忽視NaN, 求其他數(shù)據(jù)的最大值的nanmax. 格式:m=nanmax(X) 舉例:m=magic(3); m(1 6 8)=NaN NaN NaN nmax,maxidx=nanmax(m),28,4.6中心矩,中心矩是關于數(shù)學期望的矩。對于任意

16、的r 0,稱 為隨機變量X的r階中心矩。一階中心矩為0,二階中心矩為方差: 函數(shù)moment計算任意階中心矩。 格式:m=moment(X,order) 說明:order確定階。,29,4.7相關系數(shù),相關系數(shù)是兩個隨機變量間線性相依程度的度量。 可用函數(shù)corrcoef計算它。 格式:R=corrcoef(X) 說明:輸入矩陣X的行元素為觀測值,列元素為變量,R=corrcoef(X)返回相關系數(shù)矩陣R.,30,五.假設檢驗,假設檢驗 是統(tǒng)計的基本問題.旨在應用得到的少量信息,判斷整體是否滿足給定條件或達到給定的標準. 回顧一下我們以前在統(tǒng)計學中所學的假設檢驗. 其步驟為:,31,5.1 假

17、設檢驗步驟,1.設: 零假設.(成立則h=0,否則h=1). 2.取得一組觀測值(子樣). 3.給定顯著型水平(一般取0.05). 4.應用子樣的某些統(tǒng)計量特征. 5.在 成立前提下,若出現(xiàn)已知觀測值的概率小于5%,則拒絕,否則認為觀測值與假設無顯著差別.,32,5.2 ranksum函數(shù),調用方法: p,h=ranksum(x,y,alpha) p返回x,y的母體一致的顯著性水平,h為假設檢驗的返回值.x,y為兩組觀測值,alpha為顯著性水平. 請參考下面例子,33,5.2.1 Ranksum函數(shù)舉例,例:檢驗兩組服從poisson分布的隨機數(shù)樣本的均值是否相同. x=poissrnd(5

18、,10,1); y=poissrnd(2,10,1); p,h=ranksum(x,y,0.05) p= 0.0028 h= 1,34,5.3 signrank函數(shù),調用方法: p,h=signrank(x,y,alpha) 參數(shù)與ranksum函數(shù)類似. 例:檢驗兩個正態(tài)分布的樣本子樣均值是否相等. x=normrnd(0,1,20,1); y=normrnd(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ǒng)計量

19、有 關,T= . ci為均值的(1-alpha)置信區(qū) 域.m為假設的樣本均值.,36,5.4.1 ttest函數(shù)舉例,例:給出理論均值為0、標準差為1的100個正態(tài)隨機數(shù)樣本。當然,觀測樣本的均值和標準差與理論值不同的,但假設檢驗的結果卻還原其本質規(guī)律。 x=normrnd(0,1,1,100); h,sig,ci=ttest(x,0); h= 0 sig= 0.4474 ci= -0.1165 0.2620 結果h=0,意味著我們不能拒絕零假設。,37,5.5 ztest函數(shù),已知方差的單樣本均值的檢驗假設. 調用方法: h,sig,ci=ztest(x,m,sigma,alpha,tai

20、l) ztest(x,m,sigma)是在0.05顯著性水平下檢驗正態(tài)分布的樣本是否具有均值m和標準差sigma. h=ztest(x,m,sigma,alpha)則可由您確定顯著性水平alpha值,并返回檢驗結果h。 Sig、ci與ttest函數(shù)中相應的意義相同。,38,5.5.1函數(shù)ztest舉例,例: x=normrnd(0,1,100,1); m=mean(x); m=0.0727 h,sig,ci=ztest(x,0,1); h= 0 sig= 0.4669 ci= -0.1232 0.2687,39,六 統(tǒng)計繪圖,概述 統(tǒng)計工具箱在Matlab豐富的繪圖功能上又添加了圖形表現(xiàn)函數(shù),

21、box圖用于展現(xiàn)樣本及其統(tǒng)計量的內在規(guī)律,也用于通過圖形來比較多個樣本的均值。正態(tài)概率圖是確定樣本是否為正態(tài)分布的圖形。分位數(shù)-分位數(shù)圖用于比較兩個樣本的分布。,40,6.1 Box圖,-boxplot 功能:數(shù)據(jù)樣本的box圖。 格式:boxplot(X) boxplot(X,notch,sym,vert,whis) 舉例:x1=normrnd(5,1,100,1); x2=normrnd(6,1,100,1); x=x1 x2; boxplot(x,1),41,6.2誤差條圖,-errorbar 功能:誤差條圖。 格式:errorbar(X,Y,L,U,symbol) 舉例:lambda=

22、(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,還有其他函數(shù): 1: fsurfht 畫交互輪廓圖 2: gline 繪制交互 3:gname 用實例名稱或實例號來標記圖中的點 4: lsline 繪制數(shù)據(jù)的最小二乘擬合線 5: normplot 圖形化正態(tài)檢驗的正態(tài)概率圖 6: pareto 帕累托圖 7: qqplot 兩個樣本的分位數(shù)-分位數(shù)圖 8 :rcoplot 回歸殘差圖 9:

23、refcurve 在當前圖形中給出多項式擬合曲線,6.3,43,幾個統(tǒng)計繪圖的例子,畫正態(tài)概率圖 Normplot(x) 畫數(shù)據(jù)的正態(tài)概率圖 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 cities Eduation=rating(:,6);arts=ratings(:,7)

24、; Plot(eduation,artsk,+) Gname(names),46,第四章 最優(yōu)工具箱(Optimization Toolbox Ver 5.0),優(yōu)化工具箱簡介 Matlab 的優(yōu)化工具箱提供了對各種優(yōu)化問題的一個完整的解決方案,其內容涵蓋線性規(guī)劃,二次規(guī)劃,非線性規(guī)劃,最小二成問題,非線性方程求解,多目標決策,最小最大問題,以及半無限問題等的優(yōu)化問題。,一個簡單的例子: 例一 ,考慮如下優(yōu)化問題 目標函數(shù): minf(x)x=x1(4x12+2x22+4x1x2+2x2+1) 約束方程: x1x2x1x2+1.50 x1x210,47,為了求解該優(yōu)化問題,必須先編寫一個能夠返

25、回函數(shù)值的M文件,將函數(shù)表達式寫入,然后調用有約束非線性優(yōu)化函數(shù)constr,由于優(yōu)化函數(shù)要求約束方程具有G(x)0的形式,因此必須將約束方程規(guī)范化,進行與處理。,規(guī)范化后約束方程變?yōu)?x1x2x1x2+1.50 x1x2100,求解過程 第一步:為目標函數(shù)及約束方程編寫M文件fun.m function 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 ; 第二步:在命令窗口調用有約束非線性

26、優(yōu)化函數(shù) constr x0 = -1,1 ; % 設置初始解向量 x = constr (fun, x0) 經過次函數(shù)調用后,得出如下結果: x = 9.5474 1.0474 極值點處的函數(shù)值和約束條件的值為: f,g = fun(x),48,f =0.0236g = 0e 15* .8882 可見,使用Matlab的優(yōu)化工具箱解決優(yōu)化問題簡潔,明了。用戶應該將精力集中于需要解決的問題,而不需要考慮各種算法的具體實現(xiàn)。,4.2.2 約束方程的規(guī)范化 由于Matlab的優(yōu)化工具箱僅支持形如G(x)0的約束方程以及變量的上下界約束。因此,對于非規(guī)范型的約束方程,必須進行變換。將其變 換為形如

27、g(x)0 對于等式約束,Matlab 要求必須將等式約束方程置于約束變量g 的前幾個元素中,并在優(yōu)化參數(shù)設置選項 options 相兩種設置 options(13) 為等式約束方程的個數(shù)。 以例一的優(yōu)化問題為例,加入一個等式約束: x1+x2 = 1 將其改為規(guī)范等式約束: x1+x2 1= 0 并在第二步中加入: options(13) = 1 ; %有一個等式約束 對于上下界約,Matlab 通過優(yōu)化函數(shù)的有界語法調用來實現(xiàn)。例如, 對于 constr函數(shù),其有界語法調用格式為: x = constr ( fun, x0 , options , vlb , vub ) ; 該調用將x 限

28、制在 vlbxvub,49,4.2.3 參數(shù)設置與附加參數(shù)傳遞優(yōu)化問題求解時常常要對相對誤差,使用算法等進行設置,Matlab 提供了 options 向量來對優(yōu)化函數(shù)進行參數(shù)設置。如果沒有使用 options 向量或者 options 向量唯為空向量, 則回自動生成一個 options 向量并使用一組缺省值。如果要對 options 向量中的某些元素重新賦值,則可首先通過 foptions 函數(shù)來產生一個 options 向量,然后對有需要的元素賦值,其他仍然為空缺值。,foptions 功能:設置優(yōu)化參數(shù), 顯示參數(shù)值 格式: help foptions options = foption

29、s 需要注意的是,附加參數(shù)不能超過 10 個。,4.2.4 表達式優(yōu)化 直接對由表達式描述的簡單函數(shù)進行優(yōu)化 注意,當書寫這種表達式時,自變量必須以小寫字母 x 表示。 例3 表達式優(yōu)化的例子: x = fminu (sin(x) , 1) % 求sin(x)的最小值,初始值為1 x = 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 線性規(guī)劃目標函數(shù): minc1x1+c2x2+cnxn 約束 : a11x1+a12x2+a1nxn=b1 a21

30、x1+a22x2+a2nxn=b2 am1x1+am2x2+amnxn=bm xi0, i = 1,2, n,注意,所有的決策變量xi 均假定為非負,否則可用 xi xi 取代它,xi0,xi0, 如果有不等式約束,則對含的約束,在左邊加上一個非負變量使其成為等式約束;對含的約束,在左邊減去一個非負變量使其成為等式約束。,4.3.2 lp函數(shù) lp 功能 :求解線性規(guī)劃問題 格式 :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 =

31、 lp(c,A,b,vlb,vub,x0,neqcstr) % 設置在約束中的等式約束的個數(shù) x,lambda,how = lp (c,A,b,) % 同時返回拉格朗日乘子,51,例子 求下面線性規(guī)劃問題:目標函數(shù) :f(x) = 5x1 4x2 6x3 約束方程 :x1-x2+x320 3x1+2x2+4x342 3x1+2x230 0 x1, 0 x2, 0 x3,第一步:輸入系數(shù) 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) 解為:

32、 x = 0 15.0000 3.000 lambda = 0 1.5000 0.5000 1.0000 0 0,A 為約束方程系數(shù)矩陣 c 為目標方程系數(shù) b 為約束方程系數(shù)向量,52,例子: 求無約束非線性問題 f(x) = 100 ( x2 x12 )2 + (1 x1)2 初始解向量: x= -1.2 1 第一步:編寫文件 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

33、非線性規(guī)劃4.4.1 無約束規(guī)劃fminu, fmins 功能 : 求解無約束非線性最優(yōu)化問題 格式 : x = fminu ( fun , x0) % 求函數(shù)fun的最小值,并設置初始值向量為x0 x = fminu ( fun , x0, options) % 可選參數(shù)在options向量中設置 x = fminu ( fun , x0, options, grad) x = fminu ( fun , x0, options, grad , p1, p2, ) x, options = fminu ( fun, x0, ) = fmins ( fun, x0, ) options(2)控

34、制x的精度 options(3)控制目標函數(shù)f的精度,53,fmins 線性搜索算法的控制: 缺省 options(7)=0,使用一種二次和三次多項式插值的混合算法 options(7)=1時,使用三次多項式插值算法。目標函數(shù)大于階,一般用fminu函數(shù);但對于非常不連續(xù)的函數(shù)則用fmuns函數(shù),4.4.2二次規(guī)劃 4.4.3有約束規(guī)劃 fmin函數(shù) 標量最優(yōu)求解標量最優(yōu)問題的一般描述: 目標函數(shù): mina f(a) 區(qū)域約束單變量問題: 目標函數(shù):minaf(a) 約束條件:a1a a2,fminu函數(shù)優(yōu)化算法的控制:缺省options(6)=0 時,用擬牛頓方法 options(6) =

35、 1 時,用DFP公式來逼近Hessian矩陣 options(6) = 2 時,用最速下降法,54,例子 :求下面標量函數(shù)在(0,5)區(qū)間的最小值 目標函數(shù):f = (a-3)2 1 第一步: 編寫M函數(shù) 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 功能: 求解區(qū)域約束單變量問題。 格式:a = fmin( fun, a1, a2 ) a = fmin( fun, a1, a2, options ) a =

36、 fmin( fun, a1, a2, options, p1, p2,.) a, options = fmin( function, a1, a2,) 說明: options(2) 控制x的精度 options(14)控制函數(shù)的計算次數(shù),55,constr 功能 :多變量非線性約束最優(yōu)問題求解 格式 :x =constr ( fun, x0 ) % 求解非線性約束最優(yōu)化問題,初始向量為x0 x =constr ( fun, x0, options ) x =constr ( fun, x0, options, vlb, vub, grad, ) % 設置解向量上下界 x =constr (

37、fun, x0, options, vlb, vub, grad, p1, p2, ) x, options = constr (fun. X0, ) x, options, lambda = constr (fun, x0, ) x, options, lambda, hess = constr (fun, x0, ) options(4)控制對約束的越限程度,3 constr函數(shù) 多變量非線性約束最優(yōu)化問題的一般描述 目標函數(shù): minx f(x) 約束條件: G(x)0,56,目標函數(shù):f(x) = -x1*x2*x3約束條件:-x1 2x2 2x30; x1+2x2+2x372初始解向

38、量: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) ;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)問題一般描述:目標函數(shù):約束條件: G(x)0,minima

39、x 功能:求解最小最大問題 格式: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,),minimax 功能:求解最小最大問題 格式:x = minimax( fun,x0) % 求解最小最大問題,初始解向量為x0 x = minimax( f

40、un,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),f5(x)其中 f1 = 2x12 + x22 48x1 40 x2 + 304 f2 = -x12 3x22 f3 = x1 + 3x2 18 f4 = -x1 x2 f5 = x1 + x2 8,第一步:

41、編寫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 = 0.0000 -16.0000 -2.0000 -8.0000 0.0000

42、,(2) 求上述問題的絕對值最小最大問題: 即目標函數(shù)為: 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.6613 fun(x) ans = 10.7609 -7.2391 -9.4382 1.4382,60,4.8最小二乘最優(yōu)nnls函數(shù)非負線性最小二乘求解非負線性最小二乘問題的

43、一般形式目標函數(shù):minxAx-b22約束條件:x0,nnls 功能:求解非負最小二乘問題 格式:nnls (A,b) % 求解上述非負最小二乘問題 nnls (A,b,tol) % 定義x的容許誤差,缺?。簍ol = max(size(A)*norm(A,l)*esp x,w = nnls(A,b) x,w = nnls(A,b,tol),舉例:一個最小二成問題的無約束與非負約束解法的比較 第一步:輸入系數(shù) 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,6

44、1,第二步:求解a b, nnls (a, b) = -2.5625 0 1.1106 0.6929norm(a*(ab) b), norm(a*nnls(a,b) b) = 0.6677 0.9119,4.8.3conls函數(shù)約束線性最小二乘求解 線性約束最小二乘問題的一般描述: 目標函數(shù):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) %

45、 設置上下界 x = conls(A, b, C, d, vlb, vub, x0) % 設置初始解向量x0 x = conls(A, b, C, 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 為線性系統(tǒng)的系數(shù) C,d 為線性約束的系數(shù),62,舉例 : 求解如下系統(tǒng)的最小二乘解 系統(tǒng):Ax = b 約束:Cxb; vlbxvub第一步:輸入系統(tǒng)系數(shù)第二步:求解 x, l

46、ambda = conls (A, b, C, d, vlb, vub),4.8.4 leastsq函數(shù)非線性最小二乘求解 非線性最小二成問題的一般描述 minxF(x)22 = if i (x)2,leastsq 功能:求解非線性最小二乘(非線性數(shù)據(jù)擬合)問題 格式: 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, optio

47、ns = leastsq(fun, x0,) x, options, funval = leastsq(fun, x0, ) x, options, funval, Jacob = leastsq(fun, x0, ) options(2)控制x的精度 options(3)控制目標函數(shù)f的精度,63,舉例:求下述非線性最小二乘問題 ( 2 + 2k ekx1 ekx2 ) k=1,2,10 初始解向量為x = 0.3 0.4 由于leastsq函數(shù)要求傳遞的函數(shù)為向量形式且不具有平方和形式,因此對函數(shù)作以下變換: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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論