Matlab機械優化設計實例指導教材(PPT 31頁)
Matlab機械優化設計實例指導教材(PPT 31頁)內容簡介
1.1優化工具箱中的函數
1.2有邊界非線性最小化
[函數]fminbnd功能:找到固定區間內單變量函數的最小值。
[格式]x=fminbnd(fun,x1,x2)
x=fminbnd(fun,x1,x2,options)
[x,fval]=fminbnd(…)
[x,fval,exitflag]=fminbnd(…)
[x,fval,exitflag,output]=fminbnd(…)
[說明]
fun是目標函數
x1,x2設置優化變量給定區間的上下界
options設置優化選項參數
fval返回目標函數在最優解x點的函數值
exitflag返回算法的終止標誌
output是一個返回優化算法信息的結構
該參數包含下列優化信息:
1.output.iterations–迭代次數。
2.output.algorithm–所采用的算法。
3.output.funcCount–函數評價次數。
1.3線性規劃及其優化函數
線性規劃問題是目標函數和約束條件均為線性函數的問題,
MATLAB解決的線性規劃問題的標準形式為:
其中:其中f、x、b、beq、lb、ub為向量,A、Aeq為矩陣。
其它形式的線性規劃問題都可經過適當變換化為此標準形式。
[函數]linprog
[格式]x=linprog(f,A,b,Aeq,beq)
x=linprog(f,A,b,Aeq,beq,lb,ub)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval]=linprog(…)
[x,fval,exitflag]=linprog(…)
[x,fval,exitflag,output]=linprog(…)
[x,fval,exitflag,output,lambda]=linprog(…)
f:是優化參數x的係數矩陣;
lb,ub:設置優化參數x的上下界;
fval:返回目標函數在最優解x點的函數值;
exitflag:返回算法的終止標誌;
output:返回優化算法信息的一個數據結構。
lambda:解x的Lagrange乘子
1.4無約束非線性及其優化函數
[函數]fminunc
[格式]x=fminunc(fun,x0)
output返回優化算法信息的一個數據結構
grad返回目標函數在最優解x點的梯度
hessian返回目標函數在最優解x點的Hessian矩陣值
[應用舉例]的最小值
[代碼]%首先編寫目標的.m文件
[應用舉例]求函數取最小值時的值。
[代碼]%首先編寫f(x)的.m文件
f=sin(x)+3;
%然後調用函數fminsearch
x0=2;%起始點
[x,fval]=fminsearch(@myfun,x0)
[結果]x=4.7124
fval=2.0000
本節結束
..............................
1.2有邊界非線性最小化
[函數]fminbnd功能:找到固定區間內單變量函數的最小值。
[格式]x=fminbnd(fun,x1,x2)
x=fminbnd(fun,x1,x2,options)
[x,fval]=fminbnd(…)
[x,fval,exitflag]=fminbnd(…)
[x,fval,exitflag,output]=fminbnd(…)
[說明]
fun是目標函數
x1,x2設置優化變量給定區間的上下界
options設置優化選項參數
fval返回目標函數在最優解x點的函數值
exitflag返回算法的終止標誌
output是一個返回優化算法信息的結構
該參數包含下列優化信息:
1.output.iterations–迭代次數。
2.output.algorithm–所采用的算法。
3.output.funcCount–函數評價次數。
1.3線性規劃及其優化函數
線性規劃問題是目標函數和約束條件均為線性函數的問題,
MATLAB解決的線性規劃問題的標準形式為:
其中:其中f、x、b、beq、lb、ub為向量,A、Aeq為矩陣。
其它形式的線性規劃問題都可經過適當變換化為此標準形式。
[函數]linprog
[格式]x=linprog(f,A,b,Aeq,beq)
x=linprog(f,A,b,Aeq,beq,lb,ub)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
[x,fval]=linprog(…)
[x,fval,exitflag]=linprog(…)
[x,fval,exitflag,output]=linprog(…)
[x,fval,exitflag,output,lambda]=linprog(…)
f:是優化參數x的係數矩陣;
lb,ub:設置優化參數x的上下界;
fval:返回目標函數在最優解x點的函數值;
exitflag:返回算法的終止標誌;
output:返回優化算法信息的一個數據結構。
lambda:解x的Lagrange乘子
1.4無約束非線性及其優化函數
[函數]fminunc
[格式]x=fminunc(fun,x0)
output返回優化算法信息的一個數據結構
grad返回目標函數在最優解x點的梯度
hessian返回目標函數在最優解x點的Hessian矩陣值
[應用舉例]的最小值
[代碼]%首先編寫目標的.m文件
[應用舉例]求函數取最小值時的值。
[代碼]%首先編寫f(x)的.m文件
f=sin(x)+3;
%然後調用函數fminsearch
x0=2;%起始點
[x,fval]=fminsearch(@myfun,x0)
[結果]x=4.7124
fval=2.0000
本節結束
..............................
下一篇:尚無數據
用戶登陸
機械行業熱門資料
機械行業相關下載