數(shù)學(xué)建模Matlab優(yōu)化工具箱_第1頁
數(shù)學(xué)建模Matlab優(yōu)化工具箱_第2頁
數(shù)學(xué)建模Matlab優(yōu)化工具箱_第3頁
數(shù)學(xué)建模Matlab優(yōu)化工具箱_第4頁
數(shù)學(xué)建模Matlab優(yōu)化工具箱_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、MATLAB的優(yōu)化工具箱的優(yōu)化工具箱1.非線性方程非線性方程(組組)求解命令求解命令: fzero、fsolve2.求函數(shù)極值求函數(shù)極值(無約束問題無約束問題)命令命令: fmin、fmins、fminu3.求解線性規(guī)劃問題命令求解線性規(guī)劃問題命令: lp4.求解非線性規(guī)劃問題命令求解非線性規(guī)劃問題命令: constrfzero命令用于求一元函數(shù)命令用于求一元函數(shù)f(x)的零點(diǎn)的零點(diǎn).使用格式使用格式1: fzero(f, x0) x0為零點(diǎn)猜測值為零點(diǎn)猜測值例例:fzero(sin, 3), 計算結(jié)果計算結(jié)果ans=3.1416例例:求函數(shù)零點(diǎn)求函數(shù)零點(diǎn)604. 0)9 . 0(101. 0

2、) 3 . 0(1)(22xxxffunction y=f2(x)y =1./(x-.3).2+.01)+1./(x-.9).2+.04)-6;在在MATLAB命令窗口中輸入命令命令窗口中輸入命令:fplot(f2,-1,2)grid觀察圖形窗口中觀察圖形窗口中圖形可知圖形可知,函數(shù)有函數(shù)有兩個零點(diǎn)兩個零點(diǎn),第一個第一個零點(diǎn)在零點(diǎn)在-0.5到到0之之間間,第二個在第二個在1到到1.5之間之間.用求函數(shù)用求函數(shù)零點(diǎn)命令時必須零點(diǎn)命令時必須給出給出零點(diǎn)猜測值零點(diǎn)猜測值.輸入命令輸入命令:x1=fzero(f2,.5), x2=fzero(f2,1)得計算結(jié)果得計算結(jié)果: x1=-0.1316, x

3、2=1.2995-1-0.500.511.52-20020406080100hold onplot(x1,f2(x1),or,x2,f2(x2),or)用繪圖命令用繪圖命令描零點(diǎn)位置描零點(diǎn)位置:使用格式使用格式2: fzero(f, x0 x1) x0 x1為隔根區(qū)間為隔根區(qū)間例例 fzero(sin,2,3)MATLAB將顯示出錯信息將顯示出錯信息: 錯誤使用錯誤使用fzero,函數(shù)值在區(qū)間端點(diǎn)處必須異號函數(shù)值在區(qū)間端點(diǎn)處必須異號. fzero(sin,2,4)得正確計算結(jié)果得正確計算結(jié)果:ans=3.1416例例 fzero(f2,1,1.5)得計算結(jié)果得計算結(jié)果:ans=1.2995函數(shù)

4、文件函數(shù)文件f2定義了函數(shù)定義了函數(shù):604. 0)9 . 0(101. 0) 3 . 0(1)(22xxxffsolve命令用于求解非線性方程組命令用于求解非線性方程組 f(x)=0,這里這里,f和和x 都是向量或矩陣都是向量或矩陣使用格式使用格式:fsolve(f,x0) x0為解的猜測值為解的猜測值05012307lnsin32zyxzyxzyx例例 求解方程組求解方程組function q=xyz(p)x=p(1);y=p(2);z=p(3);q(1)=sin(x)+y.2+log(z)-7;q(2)=3*x+2y-z3+1;q(3)=x+y+z-5;x0=1 1 1;fsolve(x

5、yz,x0)計算結(jié)果計算結(jié)果: ans=0.5991, 2.3959, 2.0050一個完整的命令格式可得更多信息一個完整的命令格式可得更多信息x0=1 1 1;%給出初始值給出初始值(猜測值猜測值)options=;%置參數(shù)向量為默認(rèn)值置參數(shù)向量為默認(rèn)值x,options=fsolve(xyz,x0,options);計算結(jié)果計算結(jié)果: x= 0.5991 2.3959 2.0050向量向量options共存放了共存放了18個參數(shù)個參數(shù).常用的有常用的有:options(8) 計算結(jié)束時的目標(biāo)函數(shù)值計算結(jié)束時的目標(biāo)函數(shù)值;options(10) 計算結(jié)束時目標(biāo)函數(shù)計算總次數(shù)計算結(jié)束時目標(biāo)函數(shù)

6、計算總次數(shù)上例中鍵入上例中鍵入options(8) 得得 ans = 6.1429e-018鍵入鍵入options(10) 得得ans = 34fmin命令命令用于求一元函數(shù)極小點(diǎn)用于求一元函數(shù)極小點(diǎn)使用格式使用格式:fmin(f,x1,x2)例如例如:fmin(cos,3,4) 將得到將得到ans=3.1416這是介于這是介于3和和4之間的函數(shù)之間的函數(shù)cos x 的最小值點(diǎn)的最小值點(diǎn)例例.求函數(shù)求函數(shù)f(x)=2e-x sin x 的極大和極小值點(diǎn)的極大和極小值點(diǎn)function y=f3(x)y=2*exp(-x).*sin(x);fplot(f3,0,8)gridfunction y=

7、f4(x)y=-2*exp(-x).*sin(x);用繪圖命令繪圖觀察最大用繪圖命令繪圖觀察最大值點(diǎn)和最小值點(diǎn)所在位置值點(diǎn)和最小值點(diǎn)所在位置012345678-0.100.10.20.30.40.50.60.7由圖可知由圖可知,函數(shù)有一函數(shù)有一最小值點(diǎn)介于最小值點(diǎn)介于3到到4之間之間,有一最大值點(diǎn)有一最大值點(diǎn)介于介于0到到1之間之間.用函用函數(shù)文件數(shù)文件f3.m求最小求最小值點(diǎn)值點(diǎn);用用f4.m求最大求最大值點(diǎn)值點(diǎn)xmin=fmin(f3,3,5) 計算結(jié)果計算結(jié)果: xmin = 3.9270 xmax=fmin(f4,0,1) 計算結(jié)果計算結(jié)果: xmax = 0.7854在原有函數(shù)圖形上

8、添加兩個極值點(diǎn)在原有函數(shù)圖形上添加兩個極值點(diǎn): hold onplot(xmin,f3(xmin), or,xmax,f3(xmax),or)fmins命令命令用于求多元函數(shù)極小值點(diǎn)用于求多元函數(shù)極小值點(diǎn)命令使用格式為命令使用格式為:fmins(f,x0)f是目標(biāo)函數(shù)文件名是目標(biāo)函數(shù)文件名,x0是極小值點(diǎn)的猜測值是極小值點(diǎn)的猜測值例例.求函數(shù)的極小值求函數(shù)的極小值222)1 ()(100 xxyzx=-2:.125:2;y=-1:.25:3;x,y=meshgrid(x,y);z=100*(y-x.*x).2+(1-x).2;mesh(x,y,z)function z=f5(p)x=p(1);

9、y=p(2);z=100*(y-x.2).2+(1-x).2;繪二元函數(shù)圖繪二元函數(shù)圖形形,觀察極小值觀察極小值點(diǎn)點(diǎn)-2-1012-10123050010001500200025003000輸入命令輸入命令:x0=0 1;x=fmins(f5,x0)x0=0 1;options=;x,options=fmins(f5,x0);得計算結(jié)果得計算結(jié)果:X=1.0000 1.0000輸入完整命令輸入完整命令:鍵入鍵入:options(8) 得得 ans = 2.4289e-010鍵入鍵入:options(10) 得得 ans = 1928max z=7x1+12x2s. t. 9x1+5x2360

10、4x1+5x2200 3x1+10 x2300 x10 , x20lp命令命令用于求解線性規(guī)劃問題用于求解線性規(guī)劃問題MATLAB中線性規(guī)劃問題的標(biāo)準(zhǔn)形式為中線性規(guī)劃問題的標(biāo)準(zhǔn)形式為: Min z = cTx s. t. Axb命令使用格式命令使用格式: lp( c, A, b, e0, e1 )c=-7 -12;A=9 5;4 5;3 10;b=360;200;300;e0=0 0;e1=;lp(c,A,b,e0,e1)ans = 20.0000 24.0000constr命令命令用于求解非線性規(guī)劃問題用于求解非線性規(guī)劃問題 Min F(x) s. t. G(x)0簡單使用格式簡單使用格式:

11、 constr(f,x0)例例.1005 . 1. 12424),(min2121212221221211xxxxxxtsxxxxxexxfxfunf=f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2) + 2*x(2) + 1);fung=g=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;fun = funf fung;x0 = -1 1; options = ; x, options = constr(fun, x0, options); 非線性規(guī)劃非線性規(guī)劃某公司經(jīng)營兩種設(shè)備某公司經(jīng)營兩種設(shè)備,第一種設(shè)備每件售價第一種設(shè)備每件售價

12、30元元,第二種設(shè)備每件售價第二種設(shè)備每件售價450元元.根據(jù)統(tǒng)計根據(jù)統(tǒng)計,售出售出一件第一種設(shè)備所需要的營業(yè)時間平均是一件第一種設(shè)備所需要的營業(yè)時間平均是0.5小時小時,第二種設(shè)備是第二種設(shè)備是(2+0.25x2)小時小時,其中其中x2是第是第二種設(shè)備的售出數(shù)量二種設(shè)備的售出數(shù)量.已知該公司在這段時間已知該公司在這段時間內(nèi)的總營業(yè)時間為內(nèi)的總營業(yè)時間為800小時小時,試決定使其營業(yè)試決定使其營業(yè)額最大的營業(yè)計劃額最大的營業(yè)計劃設(shè)經(jīng)營第一種設(shè)備設(shè)經(jīng)營第一種設(shè)備x1件件,第二種設(shè)備第二種設(shè)備x2件件.根據(jù)題根據(jù)題意意,營業(yè)額為營業(yè)額為f =30 x1+450 x2由于營業(yè)時間的限制由于營業(yè)時間的

13、限制, 該計劃必須滿足該計劃必須滿足0.5x1+(2+0.25x2)x2800數(shù)學(xué)模型數(shù)學(xué)模型Max f =30 x1+450 x2s.t. 0.5x1+(2+0.25x2)x2800在在MATLAB中定義函數(shù)中定義函數(shù):function f,g=fun(x)f=-30*x(1)-450*x(2);g=0.5*x(1)+(2+0.5*x(2)*x(2)-800;使用命令求解使用命令求解:x options=constr(fun,1600 3000);x具有非負(fù)約束的例子具有非負(fù)約束的例子 0, 01005 . 1. 12424),(min212121212221221211xxxxxxxxts

14、xxxxxexxfxfunf=f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+ 2*x(2) + 1);fung=g=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)- 10;fun=funf fung;x0 = -1 1;options = ; vlb = zeros(1,2); vub = x, options = constr(fun, x0, options, vlb, vub);x, options(8) , options(10) 等式約束例子等式約束例子 1005 . 10. 12424),(min212121212221221211xxxxxxxxtsxxxxxexxfxfunf = f = exp(x(1) * (4*x(1)2

溫馨提示

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

評論

0/150

提交評論