Problem while using fmincon function with anonymous function: NOT ENOUGH INPUT ARGUMENTS
Show older comments
Hi there!
I am desperately trying to find the reason why fmincon won't work using the anonymous function created. (I am trying to maximize the log-likelihood function of two variances in the Kalman Filter or in other words to minimize minus-loglikelihood). The values of sigma_h and sigma_e have to be between 0 and 1. And I always get this error message, which is driving me crazy: "NOT ENOUGH INPUT ARGUMENTS". What am I doing wrong?
%%Maximize log-likelioood function
y = IVZ; % time series stock ticker
x = AMG; % time series stock ticker
ff = @(sigma_h,sigma_e) -loglikelihood(y,x,sigma_h,sigma_e);
x0 = [0.0001;0.0001];
A = [1,0;-1,0;0,1;0,-1];
b = [1;0;1;0];
estimation = fmincon(ff,x0,A,b)
Not enough input arguments.
Error in @(sigma_h,sigma_e)-loglikelihood(y,x,sigma_h,sigma_e)
Error in fmincon (line 535)
initVals.f = feval(funfcn{3},X,varargin{:});
Caused by:
Failure in initial objective function evaluation. FMINCON cannot continue.
By the way, my loglikelihood function looks as follows:
function [ loglikelihood ] = loglikelihood( y,x,sigma_h,sigma_e )
[S,e] = kalman2(y,x,sigma_h,sigma_e);
H = cumsum(log(S)+e.^2./S);
loglikelihood = -length(S)/2*log(2*pi)-0.5*H(end);
end
Accepted Answer
More Answers (0)
Categories
Find more on Parallel Computing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!