# fmincon-Getting error Unable to perform assignment because dot indexing is not supported for variables of this type

4 views (last 30 days)
Diego Tintori on 16 Nov 2019
Commented: Walter Roberson on 18 Nov 2019
k=garchFunction(u)
u=[0 0 0]
A=[0 1 1]
b=1
Aeq=[]
beq=[]
lb=[0 0 0]
up=[1 1 1]
[x,fval]=fminunc(@garchFunction,u,A,b,Aeq,beq,lb,up)
function y = garchFunction(x) %function for likelihood
Values=Values1814/(10^6)
returns=tick2ret(Values)
returns=returns-mean(returns)
T=length(returns)
omega=x(1);
alpha=x(2);
beta=x(3);
sigma=zeros(T,1)
sigma(1)=0.011207749644594;
likelihood=0
for i=2:T;
sigma(i) = sqrt( omega + alpha*returns(i-1)^2 + beta*sigma(i-1)^2 );
likelihood = likelihood + 0.5*(-log(2*pi)-log(sigma(i)^2) - (returns(i)/sigma(i))^2);
end
y = -likelihood;
end
I have this function for the estimation of the maximum likelihood for garch. However, although it estimats perfectly the likelihood, once I want to minimize it trough the function fmincon i get the error shown in the Title. Can someone help me understand what is wrong? Thanks.

Walter Roberson on 17 Nov 2019
The code calls fminunc but you write fmincon repeatedly. The difference could be important to reproducing the problem.
Diego Tintori on 17 Nov 2019
I'm really sorry, the function was indeed fmincon and I coded fminunc, that's why it didn't run.
Thank you!
Walter Roberson on 18 Nov 2019
To confirm, with fmincon in place the problem disappears?