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

错误使用e04wc,输出参数太多

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如下为NAG library里面e04wc的程序,是别人文章里给的,用来求某函数最小值的,但是我运行时会说错误使用e04wc,输出参数太多,球球大佬怎么搞?9 F) d0 U3 j$ _- _# ]: _

1 t$ H# N' i/ f8 S( I" f0 v% {$ J9 }6 _* T+ o$ I7 Y3 Q
function e04wc_example
" V7 \: n( f7 L) A# {
; z$ P' ^" X4 u* L4 X/ k+ w/ Nfprintf('e04wc example results\n\n');
" p5 Q( t1 O% E9 R9 e3 }% o; W, aa  = [1, 1, 1, 1];) M/ L1 C  }; n  j4 L/ {! q
bl = [1, 1, 1, 1, -1e25, -1e25,   25];* M6 {8 x* `" W% z
bu = [5, 5, 5, 5,    20,    40, 1e25];
5 S4 K+ |- o) U& V1 |0 c, E, Qistate = zeros(7, 1, 'int64');
& X9 l4 h. g( `" J% `' _+ C; b: \ccon   = zeros(2,1);
0 a& p1 ?8 t* [) Tcjac   = zeros(2,4);) K; a- |+ d8 a
clamda = zeros(7,1);
8 s! V# g) J2 S* I  I4 whess   = zeros(4,4);" C( u7 T$ A" L3 @8 e- S3 T( ~/ @
x      = [1; 5; 5; 1];1 ~: Q: |; A0 G! U1 ~! q
[iw,rw,ifail]=e04wc;
+ ]2 {. A4 j1 z[majits, istate, ccon, cjac, clamda, objf, grad, hess, x, ...
/ c: Q7 j9 Z6 c8 T* o                                          iw, rw, user, ifail] = ...  D4 i$ o$ Z) j8 D9 z! }' _
  e04wd(...9 V7 u7 z) j" X" E
        a, bl, bu, @confun, @objfun, istate, ccon, cjac, clamda, ...
/ j; k5 S( y% o' ^# v- g" e$ q        hess, x, iw, rw);8 K8 Y) q9 U: q, q9 N  N
fprintf('Final objective value    :   %8.1f\n',objf);% ?9 v# i. B! a4 u( [
fprintf('Optimal values for x     :  ');% W/ N6 O  l9 s3 K# x' h: v* Y
fprintf(' %9.2f',x);
& Z9 l  Q; t' Z% ^1 a4 G, x  rfprintf('\nGradients at x           :  ');
2 P" V% W$ \- }; ifprintf(' %9.2f',grad);
* e6 B& y6 t% h$ s" x  r8 a. y2 efprintf('\nConstraint functions at x:  ');
9 O9 E% d( h( N# b  k8 {fprintf(' %9.2f',ccon);7 \0 Q/ X' v5 }8 u0 o6 s, w
fprintf('\nNumber of major iterations  = %5d\n',majits);- e3 j2 i0 p: Y1 k

8 @/ z9 g2 C+ M' L, G& Yfunction [mode, ccon, cjac, user] = ...) y' N9 H3 q" ^6 ?% R! _
    confun(mode, ncnln, n, ldcj, needc, x, cjac, nstate, user)
( Y7 g# V* A* @% o  ccon = zeros(ncnln, 1);% A) [; F2 y  f, G
  if (nstate == 1)1 T. X& u' Z6 M2 s
%  first call to confun.  set all jacobian elements to zero.; c3 ]" a" V3 x1 h6 Z
%  note that this will only work when 'derivative level = 3'
6 Y& `" t  x/ W) p3 C' ?: _%  (the default; see section 11.2).
1 b- u0 ^) g8 l5 @+ s6 T- x    cjac = zeros(ncnln, n);
" a, w( s5 h) v1 }/ ]  end# S9 M# [1 S3 n0 S7 j9 r' d( I
  if (needc(1) > 0)' q+ n, c1 I# ], j$ a1 y9 I
    if (mode == 0  ||  mode == 2)
6 C+ ?: G. o" K: H4 e9 l; `- \      ccon(1) = x(1)^2 + x(2)^2 + x(3)^2 + x(4)^2;
' _8 V; z9 t6 h" Q1 V    end
3 l) g3 \, E/ ]& o- V    if (mode == 1  ||  mode == 2)
8 @" p& t, q# s4 B1 U      cjac(1,1) = 2*x(1);3 i. p) R: }+ h
      cjac(1,2) = 2*x(2);) {0 b; `7 g, w' L
      cjac(1,3) = 2*x(3);
& l& k8 K+ ]* n' L3 a9 G2 @      cjac(1,4) = 2*x(4);
* H6 z, _7 A: l0 D% ^5 l6 Q) r( J    end
* a6 R2 @7 }0 t5 z/ l+ e$ z  end1 L8 z7 V$ K  O0 F
  if (needc(2) > 0)% E3 z! `+ P! `0 `3 L6 {
    if (mode == 0  ||  mode == 2). o# d# _$ H* n
      ccon(2) = x(1)*x(2)*x(3)*x(4);2 `% ^+ @# ], t# X1 `
    end
1 f- b; C" B- R% }, H" }/ M+ N    if (mode == 1  ||  mode == 2)
5 b9 l3 v4 k( k: d. t9 B      cjac(2,1) = x(2)*x(3)*x(4);; u$ H  f0 ~' N# B* x6 M
      cjac(2,2) = x(1)*x(3)*x(4);' m3 o' @8 a0 e4 V$ p( W) ?  T
      cjac(2,3) = x(1)*x(2)*x(4);6 @/ q8 j' v) G
      cjac(2,4) = x(1)*x(2)*x(3);/ Z- Z4 g# {& y* M: I  D+ h
    end3 Z& N. D9 [# f
  end* _* M& p/ t2 K5 Q

7 e" B9 {5 v) D' V0 e: d) U+ Pfunction [mode, objf, grad, user] = objfun(mode, n, x, grad, nstate, user)5 V+ M' D0 \! Z- b
  if (mode == 0 || mode == 2)
8 g" M$ A0 F8 n" B    objf = x(1)*x(4)*(x(1)+x(2)+x(3)) + x(3);' F0 @; W9 D! A; j* V% z0 V9 z- Y
  end/ ]4 O0 f; f# o* ?0 p
  if (mode == 1 || mode == 2)2 G! C6 @  d0 L# H4 I1 d- A* u( G: B
    grad(1) = x(4)*(2*x(1)+x(2)+x(3));1 k" j1 z1 Y/ b: Z0 i3 V$ v
    grad(2) = x(1)*x(4);  R+ P. k: W, J* S
    grad(3) = x(1)*x(4) + 1;8 Z' k( M% R- O& O: J
    grad(4) = x(1)*(x(1)+x(2)+x(3));
2 g) B, \7 }1 Y  end2 {( Z6 J' e& b- O# E! ?0 A$ {/ \
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-11-2 16:35 | 只看该作者
    来了,来了,专业赚积分顶起来

    该用户从未签到

    3#
    发表于 2020-11-2 19:20 | 只看该作者
    哪里有问题啊
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 07:38 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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