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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如下为NAG library里面e04wc的程序,是别人文章里给的,用来求某函数最小值的,但是我运行时会说错误使用e04wc,输出参数太多,球球大佬怎么搞?
! C1 E9 C' y% A# j/ Z- O: b
1 W3 X( N1 ^0 H! s0 F! r! d2 n1 O! a: x9 V+ y/ o$ E
function e04wc_example
+ n/ I! m! t6 q! y/ x' \
8 H4 h. P- P. |4 _. ^fprintf('e04wc example results\n\n');
. R. G# h8 Z9 Qa  = [1, 1, 1, 1];/ ^+ l: w/ l8 s3 m4 W
bl = [1, 1, 1, 1, -1e25, -1e25,   25];5 {  X4 e* t8 B( L! v
bu = [5, 5, 5, 5,    20,    40, 1e25];
) B6 g: n1 J2 H9 D) K1 D2 [istate = zeros(7, 1, 'int64');
! f+ ]7 A" [* m0 V  h* E0 lccon   = zeros(2,1);
2 n; I& j' ]6 e* qcjac   = zeros(2,4);
; H% n7 g9 n& N2 ~6 wclamda = zeros(7,1);8 J* e' B3 O; a: J' ^5 W
hess   = zeros(4,4);* N6 y0 k! W, X) H
x      = [1; 5; 5; 1];
8 r; i% V0 t1 ]7 J[iw,rw,ifail]=e04wc;
1 [. M- w+ H6 @2 j[majits, istate, ccon, cjac, clamda, objf, grad, hess, x, ...
2 i. l; V$ R) [; b                                          iw, rw, user, ifail] = ...% p4 I* C' {0 h( T; }6 r* O
  e04wd(...3 d4 y; {' S. y$ f; Y! I
        a, bl, bu, @confun, @objfun, istate, ccon, cjac, clamda, ...
/ G! H, p& o9 G' p4 B* e, ]) P/ @        hess, x, iw, rw);
) L. ]" K, L& q* R4 b7 n4 L4 Q2 ^fprintf('Final objective value    :   %8.1f\n',objf);
/ h0 M. W) C. m' E( T' w& }fprintf('Optimal values for x     :  ');
1 S( |* F) W$ A2 y; g6 _; r4 cfprintf(' %9.2f',x);" x# T" |  J/ G1 Q. y% e' T
fprintf('\nGradients at x           :  ');
1 Q" ?: L; ~/ N8 Jfprintf(' %9.2f',grad);
1 _$ \: {2 x+ T4 f. {' P- afprintf('\nConstraint functions at x:  ');% C( _7 Z; A5 F% K2 ~* r
fprintf(' %9.2f',ccon);* _. ]# Q, y: j
fprintf('\nNumber of major iterations  = %5d\n',majits);
% i& P. o( J% V3 I6 m1 H" t: @( g
3 ~6 O& i" p% i4 i1 g  C/ j' ?% Dfunction [mode, ccon, cjac, user] = ...
0 R4 C' J1 v" X& H    confun(mode, ncnln, n, ldcj, needc, x, cjac, nstate, user)9 y8 }+ R% I4 T$ Q
  ccon = zeros(ncnln, 1);
7 Y) w& |$ `/ {/ \' `0 }- \  if (nstate == 1)& u, E5 i0 v3 Y9 n9 Y" A0 C8 ?% s
%  first call to confun.  set all jacobian elements to zero.
: q# M" c0 c* {4 n1 k3 B2 g" O%  note that this will only work when 'derivative level = 3'
, K/ B) F5 D/ D0 u4 J" c%  (the default; see section 11.2).
" u) Q- v. N9 |9 w" T" j7 h    cjac = zeros(ncnln, n);, o$ Q$ H2 I( Z0 k) \
  end: C3 V$ m: d9 j" o7 T4 w
  if (needc(1) > 0)7 X) p; Z# |! A+ q: u7 X# a; B; `
    if (mode == 0  ||  mode == 2). i- Z4 u0 I" [& b/ j! ?
      ccon(1) = x(1)^2 + x(2)^2 + x(3)^2 + x(4)^2;
7 Z+ k1 H3 `6 u% {( a1 X    end
" l  R# a0 ~- @- y. G" h    if (mode == 1  ||  mode == 2); |4 C/ E3 M( Q5 ?$ G' c+ F
      cjac(1,1) = 2*x(1);
6 y7 f" o& e( z- ]      cjac(1,2) = 2*x(2);
' O' p; ^# W1 h5 I( \6 M6 H  w      cjac(1,3) = 2*x(3);
5 D* H  w$ a5 d* s% ]( x      cjac(1,4) = 2*x(4);
& x6 L3 @; C1 ^8 M" G: k" }2 W3 y    end+ }0 X: {8 G6 f" d: n, E/ Q% Y2 V
  end
: P3 |& t& Y- l  if (needc(2) > 0)' x. U, F( ]9 y' J
    if (mode == 0  ||  mode == 2)' a% I: U9 x( J  Y! L2 J  G
      ccon(2) = x(1)*x(2)*x(3)*x(4);7 S7 ]1 Y- w6 X
    end
  m" F  x% \  U- z/ m5 F1 W    if (mode == 1  ||  mode == 2)
6 }, }; ]$ U( Z      cjac(2,1) = x(2)*x(3)*x(4);) o3 \# S: j8 A) z
      cjac(2,2) = x(1)*x(3)*x(4);
2 b6 C9 u) _0 ]      cjac(2,3) = x(1)*x(2)*x(4);
" Z7 R% w: C0 ]+ _, h! s      cjac(2,4) = x(1)*x(2)*x(3);% q' _5 f6 F$ A/ {+ Q6 R+ ^8 k% O, w
    end
3 r/ A1 a1 _# t% w5 W  end
/ y4 G8 ]. X1 c9 U5 N1 u8 W5 t5 ^  c! _8 V
function [mode, objf, grad, user] = objfun(mode, n, x, grad, nstate, user)
& P* q2 n2 i+ D9 {/ O  if (mode == 0 || mode == 2)
0 M, i+ O7 e  v    objf = x(1)*x(4)*(x(1)+x(2)+x(3)) + x(3);" j' u+ [, ?1 v; e
  end9 B% O! D( J& y" E7 M4 Y) m
  if (mode == 1 || mode == 2)
* D* G$ r1 E! H9 ^7 O    grad(1) = x(4)*(2*x(1)+x(2)+x(3));' h/ a. }! z8 n5 `4 S
    grad(2) = x(1)*x(4);
# N- Y9 K8 H. `1 z( A  S    grad(3) = x(1)*x(4) + 1;1 v6 ~9 U* U! B3 G9 J
    grad(4) = x(1)*(x(1)+x(2)+x(3));  o0 {8 c) T5 U  N
  end
# m# z' c' v, H, K! S6 b
  • 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-10-26 03:38 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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