|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 K$ F! T; w$ p5 E! W3 q3 N: W/ C- {3 z& L% y1 r* [$ Q1 }0 r1 T
function f=fun1(x)
4 w6 C1 B, s; S; o6 P/ {f=-5*sin(x(1))*sin(x(2))*sin(x(3))*sin(x(4))*sin(x(5))-sin(5*x(1)*5*x(2)*5*x(3)*5*x(4)*5*x(5))+8;
5 M* x" e0 N! I+ J5 N3 B上述代码已经保存为fun1.m文件。
, G8 b$ [& F. A6 g' `9 Q& a- Y$ r4 C( U* Q
再执行下述代码:- m/ \( f0 E; M7 M4 o+ [( U" D
A=[];b=[];Aeq=[];beq=[];lb=[0,0,0,0,0];ub=[0.9*pi,0.9*pi,0.9*pi,0.9*pi,0.9*pi];2 c- H% z& l% r' j* E- k
x0=[0,0,0,0,0];' _* T! M* a4 x: d0 ~9 F' l
[x,fval]=fmincon('fun1',x0,A,b,Aeq,beq,lb,ub)9 D) F* R4 n6 x" Z2 Z# _
" `! X: }& i G4 I1 R; f
9 x+ R- \, t: E( d
运行结果为:" B; [7 {! E) @% y
x =
7 R. c4 w9 y& A( k( H
6 l+ n1 q1 F6 {5 N 1.4298 1.4298 1.4298 1.4298 1.42987 G' C% K9 `& ~' t9 q
8 ?' `9 g2 X4 l) w
6 J0 J6 @! |4 e7 a1 |) r" `
fval =
5 P+ Z& q6 H+ Z* q, A7 e
8 z* q+ W( ?: E# ~( p 2.2431
: S0 r7 Y" S: Q3 G2 u显然结果精度不够。* T- n h& O S* I8 c/ K) J
中间出现了
7 _# W4 ]* s# J2 c# ~[backcolor=rgba(255, 255, 255, 0.8)]fmincon停止是因为当前步骤的大小小于
' c& B3 D% R. _% \[backcolor=rgba(255, 255, 255, 0.8)]默认值的步骤尺寸公差和约束& O* s8 J6 `& Y. N$ D2 {! Q' @1 }
[backcolor=rgba(255, 255, 255, 0.8)]满意的默认值约束宽容。1 w8 l# m" \! x/ R
1 {/ U, @ i: _9 K) I请教大神,这个错误需要如何解决?非常感谢! |
|