日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

最小覆盖模型matlab_数学规划模型的matlab求解 非线性最小二乘lsqnonlin

發布時間:2024/9/27 循环神经网络 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最小覆盖模型matlab_数学规划模型的matlab求解 非线性最小二乘lsqnonlin 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數學規劃模型是優化模型的一種,包括線性規劃模型(目標函數和約束條件都是線性函數的優化問題);

非線性規劃模型(目標函數或者約束條件是非線性的函數); 整數規劃(決策變量是整數值得規劃問題);

多目標規劃(具有多個目標函數的規劃問題) ;目標規劃(具有不同優先級的目標和偏差的規劃問題)

動態規劃(求解多階段決策問題的最優化方法) 。數學規劃模型相對比較好理解,關鍵是要能熟練地求出模型的解。

以下是解線性規劃模型的方法:

1.線性規劃問題

線性規劃問題的標準形式為:

min f ' *x?sub.to:A*x

其中f、x、b、beq、lb、ub為向量,A、Aeq為矩陣。

MATLAB中,線性規劃問題(Linear Programming)的求解使用的是函數linprog。

函數 linprog

格式 x = linprog(f,A,b) %求min f ' *x sub.to A*x<=b

線性規劃的最優解。

x = linprog(f,A,b,Aeq,beq) %等式約束 ,若沒有不等式約束 ,則A=[ ],b=[ ]。

x = linprog(f,A,b,Aeq,beq,lb,ub) %指定x的范圍 ,若沒有等式約束 ,則Aeq=[ ],beq=[

]

x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %設置初值x0

x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options)

%

options為指定的優化參數

[x,fval] = linprog(…) % 返回目標函數最優值,即fval= f ' *x。

[x,lambda,exitflag] = linprog(…) % lambda為解x的Lagrange乘子。

[x, lambda,fval,exitflag] = linprog(…) % exitflag為終止迭代的錯誤條件。

[x,fval, lambda,exitflag,output] = linprog(…) %

output為關于優化的一些信息

說明

若exitflag>0表示函數收斂于解x,exitflag=0表示超過函數估值或迭代的最大數字,exitflag<0表示函數不收斂于解x;若lambda=lower

表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式約束,lambda=eqlin表示等式約束,lambda中的非0元素表示對應的約束是有效約束;output=iterations表示迭代次數,output=algorithm表示使用的運算規則,output=cgiterations表示PCG迭代次數。

2.非線性規劃問題

利用函數fminbnd求有約束的一元函數的最小值

格式 x = fminbnd(fun,x1,x2)?x = fminbnd(fun,x1,x2,options) % options為指定優化參數選項

[x,fval] = fminbnd(…) % fval為目標函數的最小值

[x,fval,exitflag] = fminbnd(…) %xitflag為終止迭代的條件

[x,fval,exitflag,output] = fminbnd(…) % output為優化信息

命令 利用函數fminsearch求無約束多元函數最小值

函數 fminsearch

格式 x = fminsearch(fun,x0)

%x0為初始點,fun為目標函數的表達式字符串或MATLAB自定義函數的函數柄。

x = fminsearch(fun,x0,options) % options查optimset

[x,fval] = fminsearch(…) %最優點的函數值

[x,fval,exitflag] = fminsearch(…) % exitflag與單變量情形一致

[x,fval,exitflag,output] = fminsearch(…) %output與單變量情形一致

注意:fminsearch采用了Nelder-Mead型簡單搜尋法。

命令 利用函數fminunc求多變量無約束函數最小值

函數 fminunc

格式 x = fminunc(fun,x0) %返回給定初始點x0的最小函數值點

x = fminunc(fun,x0,options) % options為指定優化參數

[x,fval] = fminunc(…) %fval最優點x處的函數值

[x,fval,exitflag] = fminunc(…) % exitflag為終止迭代的條件,與上同。

[x,fval,exitflag,output] = fminunc(…) %output為輸出優化信息

[x,fval,exitflag,output,grad] = fminunc(…) % grad為函數在解x處的梯度值

[x,fval,exitflag,output,grad,hessian] = fminunc(…)

%目標函數在解x處的海賽(Hessian)值

注意:當函數的階數大于2時,使用fminunc比fminsearch更有效,但當所選函數高度不連續時,使用fminsearch效果較好。

利用fmincon求線性有約束的多元函數的最小值

函數 fmincon

格式 x = fmincon(fun,x0,A,b)

x = fmincon(fun,x0,A,b,Aeq,beq)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

[x,fval] = fmincon(…)

[x,fval,exitflag] = fmincon(…)

[x,fval,exitflag,output] = fmincon(…)

[x,fval,exitflag,output,lambda] = fmincon(…)

[x,fval,exitflag,output,lambda,grad] = fmincon(…)

[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(…)

函數 fminbnd

格式 x = fminbnd(fun,x1,x2) %返回自變量x在區間

上函數fun取最小值時x值,fun為目標函數的表達式字符串或MATLAB自定義函數的函數柄。

x = fminbnd(fun,x1,x2,options) % options為指定優化參數選項

[x,fval] = fminbnd(…) % fval為目標函數的最小值

[x,fval,exitflag] = fminbnd(…) %xitflag為終止迭代的條件

[x,fval,exitflag,output] = fminbnd(…) % output為優化信息

說明

若參數exitflag>0,表示函數收斂于x,若exitflag=0,表示超過函數估計值或迭代的最大數字,exitflag<0表示函數不收斂于x;若參數output=iterations表示迭代次數,output=funccount表示函數賦值次數,output=algorithm表示所使用的算法。

3.二次規劃問題

函數 quadprog

格式 x = quadprog(H,f,A,b) %其中H,f,A,b為標準形中的參數,x為目標函數的最小值。

x = quadprog(H,f,A,b,Aeq,beq) �q,beq滿足等約束條件 。

x = quadprog(H,f,A,b,Aeq,beq,lb,ub) % lb,ub分別為解x的下界與上界。

x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0) %x0為設置的初值

x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options) %

options為指定的優化參數

[x,fval] = quadprog(…) %fval為目標函數最優值

[x,fval,exitflag] = quadprog(…) % exitflag與線性規劃中參數意義相同

[x,fval,exitflag,output] = quadprog(…) % output與線性規劃中參數意義相同

[x,fval,exitflag,output,lambda] = quadprog(…) %

lambda與線性規劃中參數意義相同

4. ?極小化極大(Minmax)問題

函數 fminimax

格式 x = fminimax(fun,x0)

x = fminimax(fun,x0,A,b)

x = fminimax(fun,x0,A,b,Aeq,beq)

x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub)

x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

x = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

[x,fval,maxfval] = fminimax(…)

[x,fval,maxfval,exitflag] = fminimax(…)

[x,fval,maxfval,exitflag,output] = fminimax(…)

[x,fval,maxfval,exitflag,output,lambda] = fminimax(…)

5.多目標規劃問題

函數 fgoalattain

格式 x = fgoalattain(fun,x0,goal,weight)

x = fgoalattain(fun,x0,goal,weight,A,b)

x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq)

x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)

x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)

x =

fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options)

[x,fval] = fgoalattain(…)

[x,fval,attainfactor] = fgoalattain(…)

[x,fval,attainfactor,exitflag] = fgoalattain(…)

[x,fval,attainfactor,exitflag,output] = fgoalattain(…)

[x,fval,attainfactor,exitflag,output,lambda] = fgoalattain(…)

6.最小二乘最優問題

有約束線性最小二乘

函數 lsqlin

格式 x = lsqlin(C,d,A,b) %求在約束條件 下,方程Cx = d的最小二乘解x。

x = lsqlin(C,d,A,b,Aeq,beq) �q、beq滿足等式約束 ,若沒有不等式約束,則設A=[ ],b=[

]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub) %lb、ub滿足 ,若沒有等式約束,則Aeq=[ ],beq=[

]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0) % x0為初始解向量,若x沒有界,則lb=[ ],ub=[

]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options) % options為指定優化參數

[x,resnorm] = lsqlin(…) % resnorm=norm(C*x-d)^2,即2-范數。

[x,resnorm,residual] = lsqlin(…) %residual=C*x-d,即殘差。

[x,resnorm,residual,exitflag] = lsqlin(…) %exitflag為終止迭代的條件

[x,resnorm,residual,exitflag,output] = lsqlin(…) %

output表示輸出優化信息

[x,resnorm,residual,exitflag,output,lambda] = lsqlin(…) %

lambda為解x的Lagrange乘子

非線性數據(曲線)擬合

函數 lsqcurvefit

格式 x = lsqcurvefit(fun,x0,xdata,ydata)

x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub)

x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)

[x,resnorm] = lsqcurvefit(…)

[x,resnorm,residual] = lsqcurvefit(…)

[x,resnorm,residual,exitflag] = lsqcurvefit(…)

[x,resnorm,residual,exitflag,output] = lsqcurvefit(…)

[x,resnorm,residual,exitflag,output,lambda] = lsqcurvefit(…)

非線性最小二乘格式 x = lsqnonlin(fun,x0) %x0為初始解向量;fun為

,i=1,2,…,m,fun返回向量值F,而不是平方和值,平方和隱含在算法中,fun的定義與前面相同。

x = lsqnonlin(fun,x0,lb,ub)

%lb、ub定義x的下界和上界: 。

x = lsqnonlin(fun,x0,lb,ub,options) %options為指定優化參數,若x沒有界,則lb=[

],ub=[ ]。

[x,resnorm] = lsqnonlin(…)

%

resnorm=sum(fun(x).^2),即解x處目標函數值。

[x,resnorm,residual] = lsqnonlin(…) %

residual=fun(x),即解x處fun的值。

[x,resnorm,residual,exitflag] = lsqnonlin(…)

%exitflag為終止迭代條件。

[x,resnorm,residual,exitflag,output] = lsqnonlin(…)

%output輸出優化信息。

[x,resnorm,residual,exitflag,output,lambda] = lsqnonlin(…)

%lambda為Lagrage乘子。

[x,resnorm,residual,exitflag,output,lambda,jacobian] =lsqnonlin(…)

%fun在解x處的Jacobian矩。

非負線性最小二乘

函數 lsqnonneg

格式 x = lsqnonneg(C,d) %C為實矩陣,d為實向量

x = lsqnonneg(C,d,x0) % x0為初始值且大于0

x = lsqnonneg(C,d,x0,options) % options為指定優化參數

[x,resnorm] = lsqnonneg(…) % resnorm=norm (C*x-d)^2

[x,resnorm,residual] = lsqnonneg(…) %residual=C*x-d

[x,resnorm,residual,exitflag] = lsqnonneg(…)

[x,resnorm,residual,exitflag,output] = lsqnonneg(…)

[x,resnorm,residual,exitflag,output,lambda] = lsqnonneg(…)

6.非線性方程(組)求解

非線性方程的解

函數 fzero

格式 x = fzero (fun,x0) %用fun定義表達式f(x),x0為初始解。

x = fzero (fun,x0,options)

[x,fval] = fzero(…) ?%fval=f(x)

[x,fval,exitflag] = fzero(…)

[x,fval,exitflag,output] = fzero(…)

非線性方程組的解

函數 fsolve

格式 x = fsolve(fun,x0) %用fun定義向量函數,其定義方式為:先定義方程函數function F = myfun

(x)。

F =[表達式1;表達式2;…表達式m] %保存為myfun.m,并用下面方式調用:x =

fsolve(@myfun,x0),x0為初始估計值。

x = fsolve(fun,x0,options)

[x,fval] = fsolve(…) ?%fval=F(x),即函數值向量

[x,fval,exitflag] = fsolve(…)

[x,fval,exitflag,output] = fsolve(…)

[x,fval,exitflag,output,jacobian] = fsolve(…) %

jacobian為解x處的Jacobian陣。

其余參數與前面參數相似。

轉自 程序人生

非線性最小二乘法-非線性最小二乘法

非線性最小二乘法-正文

y=f(x,θ)

式中y是系統的輸出,x是輸入,θ是參數(它們可以是向量)。這里的非線性是指對參數θ的非線性模型,不包括輸入輸出變量隨時間的變化關系。在估計參數時模型的形式f是已知的,經過N次實驗取得數據(x1,y1),

(x2,y1),…,(xn,yn)。估計參數的準則(或稱目標函數)選為模型的誤差平方和

非線性最小二乘法就是求使Q達到極小的參數估計值孌。

由于

f的非線性,所以不能象線性最小二乘法那樣用求多元函數極值的辦法來得到參數估計值,而需要采用復雜的優化算法來求解。常用的算法有兩類,一類是搜索算法,另一類是迭代算法。

搜索算法的思路是:按一定的規則選擇若干組參數值,分別計算它們的目標函數值并比較大小;選出使目標函數值最小的參數值,同時舍棄其他的參數值;然后按規則補充新的參數值,再與原來留下的參數值進行比較,選出使目標函數達到最小的參數值。如此繼續進行,直到選不出更好的參數值為止。以不同的規則選擇參數值,即可構成不同的搜索算法。常用的方法有單純形搜索法、復合形搜索法、隨機搜索法等。

迭代算法是從參數的某一初始猜測值θ(0)出發,然后產生一系列的參數點θ(1)、θ(2)…,如果這個參數序列收斂到使目標函數極小的參數點孌,那么對充分大的N就可用θ(N)

作為孌。迭代算法的一般步驟是:

① 給出初始猜測值θ(0),并置迭代步數i=1。

② 確定一個向量v(i)作為第i步的迭代方向。

③ 用尋優的方法決定一個標量步長ρ(i),使得

Q(θ(i))<Q(θ(i)),其中θ(i)=θi-1+ρ(i)v(i)。

④ 檢查停機規則是否滿足,如果不滿足,則將i加1再從②開始重復;如果滿足,則取θ(i)為孌。

典型的迭代算法有牛頓-拉夫森法、高斯迭代算法、麥夸特算法、變尺度法等。

非線性最小二乘法除可直接用于估計靜態非線性模型的參數外,在時間序列建模、連續動態模型的參數估計中,也往往遇到求解非線性最小二乘問題。

總結

以上是生活随笔為你收集整理的最小覆盖模型matlab_数学规划模型的matlab求解 非线性最小二乘lsqnonlin的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 双性皇帝高h喷汁呻吟 | 美女被草视频 | 天海翼一区| 精品一区二区三区不卡 | 国产91热爆ts人妖在线 | 开心激情五月网 | 国产91精品一区 | 一区二区久久精品66国产精品 | 国产初高中真实精品视频 | 国产精品jizz在线观看美国 | 一区二区视频在线看 | 精品在线视频播放 | 久久久xxx | 国产成人一区二区三区影院在线 | 久操社区 | 欧美激情精品久久久久久变态 | 99热久久这里只有精品 | 成av人片一区二区三区久久 | 日韩电影一区二区 | 国产精品乱码一区二三区小蝌蚪 | 日本欧美久久久久免费播放网 | 色哟哟官网 | 日韩有码中文字幕在线观看 | gav在线| 最近最新中文字幕 | 成人毛片100免费观看 | 大尺度网站在线观看 | 永久久久久久久 | 免费看毛片的网站 | 久久久久无码精品国产sm果冻 | 亚洲电影一区二区三区 | 神马国产 | 成年人黄色片网站 | 国产精品成av人在线视午夜片 | 中国成人毛片 | 国产免费一区二区三区 | 在线观看污污网站 | 91久久精品日日躁夜夜躁欧美 | 视频一区二区三区在线观看 | 日本高清免费视频 | 男男gay羞辱feet贱奴vk | 激情视频91 | 在线天堂6 | 丁香六月av | 色夜av| 亚洲人成网址 | 国产成人精品电影 | 国产精品白虎 | 一本色道久久加勒比精品 | 亚洲久久综合 | 精品久久久久久无码中文野结衣 | 瑟瑟av| 饥渴少妇勾引水电工av | 国产精品老熟女一区二区 | 成人免费片 | 国精产品一区一区三区视频 | 丝袜脚交免费网站xx | a在线观看 | jizz内谢中国亚洲jizz | 色视频线观看在线播放 | 大奶av | √资源天堂中文在线视频 | 午夜在线国产 | 在线a免费 | 欧美影院一区二区三区 | 夜夜爽夜夜叫夜夜高潮漏水 | 日韩美女视频在线观看 | 成 年 人 黄 色 大 片大 全 | 国产午夜精品久久久久 | 亚洲视屏一区 | 国产成人无码一区二区三区在线 | 黄色小视频在线免费看 | 日韩高清影视在线观看 | 我要看免费毛片 | 亲子乱aⅴ一区二区三区 | 国产片在线播放 | 中国美女乱淫免费看视频 | 中文字幕日韩精品无码内射 | 日韩v在线 | 黄色免费网站在线观看 | 午夜成人免费电影 | 亚洲精品国产成人无码 | sm在线看 | 能看毛片的网站 | 蜜臀视频在线观看 | 中国一级特黄真人毛片免费观看 | 亚洲av熟女国产一区二区性色 | 天天综合天天综合 | 超碰97人人草 | 国产免费一区二区三区免费视频 | 波多野结衣女同 | 白丝开裆喷水 | 亚洲熟妇av一区二区三区 | 亚洲精品天堂成人片av在线播放 | 亚洲精品亚洲人成人网 | 91九色在线播放 | 亚洲欧美日韩成人 | 国产日韩欧美91 | 亚洲一区二区三区四区五区六区 |