fmincon的目标函数

时间:2017-06-21 20:29:25

标签: matlab optimization

我需要在Matlab中最大化以下目标函数:

mean (a*I'*x1+b*(ones(1,24)-I)'*x1)-mean((a*(ones(1,24)-I)'*y1)+(b*I'*y1))

我制作了两个.m文件:

  1. objfun.m文件中,我将目标函数定义为:

    function f = objfun(x)
    f = mean (a*I'*x1+b*(ones(1,24)-I)'*x1)-mean((a*(ones(1,24)-I)'*y1)+(b*I'*y1));
    
  2. 在第二个(主要).m文件中,我有a,b和I的参数和计算以及下面的约束和fmincon:

    lb = [0,0];
    ub = [10,10];
    x0 = [1,2];
    [x,fval] = fmincon(@objfun,x0,[],[],[],[],lb,ub)
    
  3. 当我运行程序时,我得到fmincon的错误:

      

    初始用户提供的目标函数评估失败。 FMINCON无法继续。

    请问您如何解决此问题?我的目标函数是否有任何问题,因为它是x1y1的函数,但我只有objfun(x)?或者我是否错误地调用了该函数? 任何帮助表示赞赏!

0 个答案:

没有答案
相关问题