|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! b5 y7 f9 J& z5 P/ |( @+ y
7 o2 `# ^% P" e# e+ K5 Hfunction f=fun1(x)
# {4 t' v& {: q; n& Z4 ]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;! `. a, f q1 ]# i+ Z
上述代码已经保存为fun1.m文件。& }1 \$ W1 Y7 q% y4 V
4 ]. h; i* C! C) H9 `* X2 C
再执行下述代码:, q l# b/ g! u3 u0 W1 Y
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];: _" d( b& u1 S0 f W
x0=[0,0,0,0,0];9 L. D8 @; k! P) k* _# |
[x,fval]=fmincon('fun1',x0,A,b,Aeq,beq,lb,ub)
O4 V) l, N0 o, b! n2 s v3 t% D3 P% ~- b: O2 F6 a
3 L/ V R, l) V: i运行结果为:# D9 J( \0 i' k1 ~
x =5 Y5 l% B @8 o! n, a/ N
# L J% L) _' H+ ^! f2 p: X 1.4298 1.4298 1.4298 1.4298 1.4298; Q/ o3 l! Q) S* v( z: _$ g
; e1 z+ O, f! x* ^ ]
- A! ~9 z1 L, o; D0 F \fval =
: e' S. h, a9 D# f: Q! B; e) X' ]$ [6 K y, i; [, M- k* f1 ]
2.2431
1 `1 _( ^2 s9 q! z# T显然结果精度不够。
8 B2 p! q$ H% b$ t0 |& g* Q; e中间出现了0 o' w0 P+ b% P
[backcolor=rgba(255, 255, 255, 0.8)]fmincon停止是因为当前步骤的大小小于
( S' R! D: A: k4 k; Y0 b, F9 M/ y# b[backcolor=rgba(255, 255, 255, 0.8)]默认值的步骤尺寸公差和约束
4 `) H. L/ u! p" U; U& N3 |[backcolor=rgba(255, 255, 255, 0.8)]满意的默认值约束宽容。
8 d. }: p0 p/ }$ K$ c# S9 Q5 |% s; T
请教大神,这个错误需要如何解决?非常感谢! |
|