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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如下为NAG library里面e04wc的程序,是别人文章里给的,用来求某函数最小值的,但是我运行时会说错误使用e04wc,输出参数太多,球球大佬怎么搞?
( h5 v' s% \9 l  Y8 O3 T3 s5 E' N2 z5 l3 g) }) B
6 \0 U" z5 V9 `7 U8 t, W: |$ v9 z
function e04wc_example3 P$ m1 P5 ~/ k! T; b) G
, {, q) p1 x- T1 z
fprintf('e04wc example results\n\n');+ V$ V3 _4 o" @; y& @; M1 H
a  = [1, 1, 1, 1];: q; e$ k: ?; H3 Y
bl = [1, 1, 1, 1, -1e25, -1e25,   25];1 w. r/ x$ T6 d& ~4 R! a
bu = [5, 5, 5, 5,    20,    40, 1e25];4 }$ r1 \, d0 c3 C
istate = zeros(7, 1, 'int64');1 R! K: A9 b8 Z( l1 W
ccon   = zeros(2,1);
5 i( ?, Z! l! U5 K$ v1 t# A4 ycjac   = zeros(2,4);
9 y7 \; I7 n/ q* k8 C; @! N; X+ Oclamda = zeros(7,1);5 }' Y  Q4 Y3 E/ R- [
hess   = zeros(4,4);
! w8 ~) g9 \+ h; f, j7 i0 rx      = [1; 5; 5; 1];# i# z0 O% U: I* [& m- v
[iw,rw,ifail]=e04wc;, p/ `, z) w! a* ?4 }" m
[majits, istate, ccon, cjac, clamda, objf, grad, hess, x, ...
# q, I( C6 _4 y. R: Q) \                                          iw, rw, user, ifail] = ..." i& H: [& Z) M1 q4 P
  e04wd(...% D4 x; c$ e1 r9 \5 a8 Y& s# `
        a, bl, bu, @confun, @objfun, istate, ccon, cjac, clamda, .../ e/ Y; u% t  m- U
        hess, x, iw, rw);
* h* e* v! C1 L1 }- i( Ufprintf('Final objective value    :   %8.1f\n',objf);
2 q2 u  U; t* Ofprintf('Optimal values for x     :  ');
9 F: g  j3 i# ]' A! u" u/ R: X9 lfprintf(' %9.2f',x);
. \( n2 b8 |% a. J$ l  a/ _1 Tfprintf('\nGradients at x           :  ');
: g9 n8 A% D9 A1 p( g0 R8 y! {fprintf(' %9.2f',grad);
; O' A/ @4 z  ^+ ]- Qfprintf('\nConstraint functions at x:  ');" ~' R) I; u9 }+ [4 n4 D
fprintf(' %9.2f',ccon);$ v# ?0 r; v- Z; o
fprintf('\nNumber of major iterations  = %5d\n',majits);; L( `* T- g& T  E
4 I9 z( ?: }5 Y; ~9 Q% Y6 B
function [mode, ccon, cjac, user] = .... i7 E2 X6 L, p9 f
    confun(mode, ncnln, n, ldcj, needc, x, cjac, nstate, user)" v: I3 S6 z( U. E* C/ Q  p
  ccon = zeros(ncnln, 1);
& Q8 P3 M  \2 p  if (nstate == 1)! N+ a# [* z% z
%  first call to confun.  set all jacobian elements to zero.  \2 L% m+ b0 X) v% T6 F9 `
%  note that this will only work when 'derivative level = 3'
2 m! X; r! m/ m9 D3 {: @5 b' S8 e! c%  (the default; see section 11.2).
5 n' I# S3 m& I% T5 ^% E    cjac = zeros(ncnln, n);
& e; d( @* u9 j: C! W) P: J  end9 `: v% f/ s, ~; E  z
  if (needc(1) > 0). m: \# M  d) E
    if (mode == 0  ||  mode == 2)- K6 {2 ?/ i: F" g3 m# L
      ccon(1) = x(1)^2 + x(2)^2 + x(3)^2 + x(4)^2;
/ \2 F* S9 L! A, B; Q    end, j$ N8 v9 W8 v3 u. n1 @  @
    if (mode == 1  ||  mode == 2)
. a4 `5 C) B2 c" t: S      cjac(1,1) = 2*x(1);+ f( d' J" W  z. I* w( g+ T& j3 |! X
      cjac(1,2) = 2*x(2);
2 t7 ?. c, J3 |* O$ r      cjac(1,3) = 2*x(3);! i# v2 H6 ]" a$ E* n
      cjac(1,4) = 2*x(4);& w7 ^6 P6 Z: |& k+ t  Y2 D' V
    end  I' P* u8 [5 o" a1 p
  end
# ^1 u) H3 e( ]' x+ y  if (needc(2) > 0)& w0 v$ N4 q/ L. V
    if (mode == 0  ||  mode == 2)  L/ E# V" E, h4 C+ n
      ccon(2) = x(1)*x(2)*x(3)*x(4);
* ?" o3 e8 J* w; r. q# t    end4 \! L9 P7 B9 n. U! F! M
    if (mode == 1  ||  mode == 2)2 M# K! S7 o" e' O
      cjac(2,1) = x(2)*x(3)*x(4);
5 }5 f# }4 |& Z, v      cjac(2,2) = x(1)*x(3)*x(4);% G9 k' x, C3 w$ W4 F! Y
      cjac(2,3) = x(1)*x(2)*x(4);/ x, \# `5 e9 \. }9 j1 ^* U$ S0 K
      cjac(2,4) = x(1)*x(2)*x(3);
( M# s0 B7 q5 q9 a( R" M" h# R    end9 r' [% J* q+ D, X
  end
8 f& o  ]8 [- X+ D; w. \/ @4 e0 U
5 f( c0 z0 e0 r3 t8 A8 @function [mode, objf, grad, user] = objfun(mode, n, x, grad, nstate, user)
5 A) A% L7 Z8 U  if (mode == 0 || mode == 2)- k$ ^/ L  b: W1 Z2 S, f' m
    objf = x(1)*x(4)*(x(1)+x(2)+x(3)) + x(3);$ m! d& P# ~- t5 A* l
  end: z- Z" g! s) g* c( R5 u7 V/ N
  if (mode == 1 || mode == 2)* X  C' D3 q) ^$ [5 L
    grad(1) = x(4)*(2*x(1)+x(2)+x(3));% ^* c( S* Q" V% @7 ]
    grad(2) = x(1)*x(4);. h  W6 `% g- n
    grad(3) = x(1)*x(4) + 1;# R5 _- w  h- L
    grad(4) = x(1)*(x(1)+x(2)+x(3));
1 A. m* H! c; f9 g1 m& A  end" d; l9 x* h- ]5 U, u6 p) r
  • 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 13:58 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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