How can I use fmincon in the mle function?

4 次查看(过去 30 天)
I am trying to use the mle function with constraints on the parameters. According to the matlab help you can choose between fminsearch (default) and fmincon (as long as you have the Optimization Toolbox) using 'optimfun'. The issue is it doesn't say how you set constraints when using fmincon instead of fminsearch.
This is the command line I am running in matlab
[para ci] = mle(D,'pdf',@Skellam_pdf,'start',[1,.5,.2,-.2],'optimfun','fmincon')
It still generally finds a solution but the parameters rarely, if ever, satisfy the constraints. I'm not sure if it is possible to add constraints(as I haven't been to find a way) but it seems unlikely that matlab wouldn't have included this in the mle function.

回答(1 个)

Edward Umpfenbach
Edward Umpfenbach 2012-9-13
Simple answer. Type:
help fmincon
It contains all the info for fmincon and some simple examples. Don't see a need to repeat it.
If something isn't clear in the help, then say so. Supply MLE as an anonymous function to fmincon.
  1 个评论
Richard
Richard 2012-9-13
Thanks. I will read up about fmincon now. Just to clarify when you say I should "supply MLE as an anonymous function to fmincon", should I attempt something like,
x = fmincon(@fun_mle,x0,[],[],Aeq,beq)
function F = fun_mle(data)
params = mle(data,'pdf',@Skellam_pdf,'start',[1,.5,.2,-.2]);
F = Skellam_loglf(params);
end
Is that correct?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Parallel Computing 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by