找回密码
 注册
关于网站域名变更的通知
查看: 435|回复: 4
打印 上一主题 下一主题

Matlab的fmincon一个问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-3 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
求教大神:. _+ J3 x6 T% G3 J. E4 q
function f=nsllh(x)
! a" i" x8 Q( R. zclose=xlsread('HW_3_Part2Data','#3','D31257');
3 j: R: G6 I) E4 M# c; lnvix=xlsread('HW_3_Part2Data','#3','H4:H1257');
! w) J" l# x8 ^: Ealpha=zeros(1,1);beta=zeros(1,1);theta=zeros(1,1);gamma=zeros(1,1);
- k0 @# U' s, g: L) G8 |x=[alpha,beta,theta,gamma];# f" E6 z6 G: E9 u5 U
r=zeros(1254,1);# r( l0 t1 ~/ s& e
for i=1:12540 s6 G4 g2 P* Y
    r(i+1,1)=log(close(i+1,1)/close(i,1));: n/ C# i4 t2 B* d
end) D" Q1 z: M& t" W- d+ q" n' d
sigma=var(r);
' P' u% J7 s' Y' {$ E2 m# A" iomega=sigma*(1-alpha*(1+theta^2)-beta);9 A) Y% I& O6 n$ I' I% e) r1 U
npsigma=ones(1254,1);
) I8 s, s' ~# A  ^npsigma(1,1)=sigma;
, i) [" h$ z0 z! X8 Q0 Wfor i=1:1253
- N  z* Q9 d( A# p# Knpsigma(i+1,1)=omega+alpha*(r(i,1)-theta*npsigma(i,1)^0.5)^2+beta*npsigma(i,1)+gamma*nvix(i,1)^2/252;
8 ]$ E2 t' @6 \/ Y9 jend* ?4 }  ?7 S. U2 M7 e2 X* b
alpha=x(1);beta=x(2);theta=x(3);gamma=x(4);& E% H- ~/ Q4 `0 r6 J. S- u; _$ Z
for i=1:1254
; j6 q! m! [; g2 d! x) v  Y3 Bnllh(i,1)=0.5*log(2*3.1415926)+0.5*log(npsigma(i,1))+0.5*(r(i,1)^2/npsigma(i,1));
/ r# Z5 g# ~% Q) E! w* c6 fend. T( o+ y( m  ^  j' D' c
f=sum(nllh);
3 E3 z+ a4 O+ F/ J3 B8 ]3 t: C& x3 f' S3 x
另外nonlcon的code是:
% ~9 F2 `1 b9 B3 I4 Ufunction [c,ceq]=mycon(x)
, e  W. G0 u1 ^) kalpha=zeros(1,1);beta=zeros(1,1);theta=zeros(1,1);
) Y3 n0 B. R; X) ax=[alpha,beta,theta];
/ [  ~* V2 z5 B. Yc=alpha*(1+theta^2)+beta-1;
& e" C4 t9 ?8 \: g6 j% Zceq=[];$ J2 K! E2 C5 v# U/ X5 q
) v) H0 q" g4 Y; T& K$ e
run出来显示:
' K" C, v) }5 Y) h" J' Ux0=[0.04;0.5;2;0.07];
# P3 y1 x6 j8 \' R; [- H& x' aOptimization terminated: first-order optimality measure less' s# u% x# B5 Y( z: m
than options.TolFun and maximum constraint violation is less- }4 i8 [' Q0 Q" Y
than options.TolCon.
3 C- e4 x! M4 @8 x  O! ~) e4 g/ PNo active inequalities.
: E2 p9 x0 w" q" m: E5 ]0 B3 h" k5 m, b5 e7 s# Q; {/ N2 S( O: s
x =( N8 i9 e1 N; r: I% e4 ]
& g( I+ E8 Q/ m
    0.0400- |& m. e( S3 m/ i: l( i
    0.5000
, q- a0 J/ N4 f7 R' y    2.0000+ U& }0 U4 K2 q) u
    0.0700- U1 b% ]  Z" R+ |# V& g
/ i. G$ n% r/ s
% ~% q, V* S1 {# B/ `3 c7 ]; _
fval =3 P; z' [% f. s

- C) H0 w7 O' _0 r# V# B-3.6963e+003
  f/ L& ~* r, R8 S
' u8 |7 R. y$ Q4 p4 h. i3 c& K+ Y& v( F' g
exitflag =
; {! _8 |& m' C/ ^% i, Z' x/ j7 w
7 s" L. Y) k' o  }) ~5 {- O7 @     1
4 u: |. b" |" P0 V  Q+ \
$ c( f& O5 ^/ `7 q+ Q3 K3 C3 `
  h. `* O. W1 `# v, k$ A8 V* l0 R0 P4 eoutput =9 j2 V4 Y1 Z' z1 B. A
9 g0 t" f6 b4 ]
       iterations: 1
  Q5 T) k' k  |- C* O        funcCount: 10
, C" i8 O0 [5 N" c  M. Q9 L7 w* L0 E         stepsize: 1' s6 l. E4 y$ `& u  m1 M  S
        algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'& N$ j5 b8 ^& m) K
    firstorderopt: 0
" V3 ?" m8 P* [" D     cgiterations: []
% @8 r0 z7 ~; l          message: [1x144 char]. Q5 m* m  H% o

: D0 ]1 }6 J1 x  p& }
* S. [. s: ^! j* ]3 Clamda =; p  H% v0 X; W9 E3 q4 B& T. C! @

* ^2 y  H. x2 q$ {% l, m7 e* t1 K         lower: [4x1 double]
7 |* K' Z# @, i" r+ m$ h5 a* R         upper: [4x1 double]
7 F2 O3 i( l% y& g$ Q$ U8 s# B: @! c         eqlin: [1x0 double]  y) d; n: Y4 n0 p/ w
      eqnonlin: [1x0 double]8 j3 ~5 X' \& X6 W  U& I8 a
       ineqlin: [1x0 double]! x1 ~) @5 W0 k" t" p" |
    ineqnonlin: 08 J, }) B0 H/ f! a5 E5 b
5 }0 {+ o- K( @2 {6 F$ O
为什么会这样呢?fval已经改变了但是x不会变?而且iteration只有1+ J# w# d- S2 K
( w" F" U- {* [0 J4 F" u; Z; K

该用户从未签到

2#
发表于 2020-8-3 14:34 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2020-8-5 13:17 | 只看该作者
5 m' E  S% g6 q% x' b
1、没有你的xls数据文件,没有进行测试;
  z% h1 [" L2 G, O& |6 I" C* a2、你在哪儿使用了fmincon,没加上啊;) v0 T( X8 e, p0 x( N7 _. Z* Y
3、调整初值,再测试;
, }3 E  K2 }* c; \4、设置fmincon的options进行测试;

点评

好的,我先去试试,谢谢  详情 回复 发表于 2020-8-6 13:25

该用户从未签到

4#
发表于 2020-8-6 13:21 | 只看该作者
来学习一下

该用户从未签到

5#
 楼主| 发表于 2020-8-6 13:25 | 只看该作者
shuddkk 发表于 2020-8-5 13:17( [4 e  p$ a* A9 Z3 k
1、没有你的xls数据文件,没有进行测试;# ^. V/ z* q3 g) }! }
2、你在哪儿使用了fmincon,没加上啊;
$ n5 b7 L8 F5 e  N# n) y! y/ B3、调整初值,再测试 ...
+ f! F' }1 V% p
好的,我先去试试,谢谢6 l  t* K0 V/ c( i* M
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-26 20:15 , Processed in 0.109375 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表