本帖最后由 为什么_Mp1bR 于 2020-1-16 09:55 编辑
如下为NAG library里面e04wc的程序,是别人文章里给的,用来求某函数最小值的,但是我运行时会说错误使用e04wc,输出参数太多,球球大佬怎么搞?
function e04wc_example
fprintf('e04wc example results\n\n');
a = [1, 1, 1, 1];
bl = [1, 1, 1, 1, -1e25, -1e25, 25];
bu = [5, 5, 5, 5, 20, 40, 1e25];
istate = zeros(7, 1, 'int64');
ccon = zeros(2,1);
cjac = zeros(2,4);
clamda = zeros(7,1);
hess = zeros(4,4);
x = [1; 5; 5; 1];
[iw,rw,ifail]=e04wc;
[majits, istate, ccon, cjac, clamda, objf, grad, hess, x, ...
iw, rw, user, ifail] = ...
e04wd(...
a, bl, bu, @confun, @objfun, istate, ccon, cjac, clamda, ...
hess, x, iw, rw);
fprintf('Final objective value : %8.1f\n',objf);
fp