我有一个函数,它给了我一个我想要最大化的可能性。问题是我需要提供我需要估计的4个参数。我有这个功能:
[likelihood, z0, z1, z2, z3]= myfun(g, g1, g2, x1, g3, x2, x3)
在输出中给出了可能性如何最大化它?我知道所有g
,但我不知道x
,我应该通过最大化可能性来估计它们。此外,我也不知道z
。
我想我应该做fminsearch,但我找不到像这样的参数估计文档。
答案 0 :(得分:1)
fminsearch
似乎在这里做得很好 - 你只需要输入以函数期望的方式抽象搜索问题。在这里,我认为这意味着创建一个函数:
假设0
是所有x
参数的合理初始值,这看起来像这样:
x = fminsearch(@(x) -myfun(g, g1, g2, x(1), g3, x(2), x(3)), [0,0,0]);
x1 = x(1);
x2 = x(2);
x3 = x(3);
要从返回的搜索结果中找出z
值和结果likelihood
,您只需将结果放回myfun
:
[likelihood, z0, z1, z2, z3] = myfun(g, g1, g2, x1, g3, x2, x3)