我想用matlab中的fminunc命令做最大似然估计,请问我这样写的错误在哪里?
mylog_lik.m里的code是:
function val=mylog_lik(B,omega)
t = 200;
T = 280;
cov1 = [5.2486 1.9729 0.7363;1.9729 3.0687 0.9202;0.7363 0.9202 5.3797];
cov2 = [37.7688 8.0768 8.5434;8.0768 6.4612 6.9920;8.5434 6.9920 38.9579];
val=(t-1)*(log(det(B*B'))+trace(inv(cov1*(B*B'))))/2+(T-t+1)*(log(det(B*omega*B'))+trace(cov2*(B*omega*B')^(-1)))/2;
maxlike.m里是
B0=[0.1 0.1 0.1;0.1 0.1 0.1;0.1 0.1 0.1];
omega0 = [0.1 0 0 ; 0 0.1 0; 0 0 0.1];
x0 = [B0,omega0];
[x,fval,exitflag,output,grad,hessian]=fminunc('mylog_lik',x0);
初始值应该根据什么设置呢?初始值应该是向量吗?