Matlab:最佳估算方法

时间:2018-11-16 13:08:27

标签: matlab

我想估算参数:

我有一个取决于6个参数的PSF(点扩展函数)"y=f(x)"

仅在给出“ y”个输出数据的情况下,我必须估算所有6个参数(a,b,r0,c0,alpha,beta)。

从统计角度来看,最佳方法是什么?我可以使用Matlab fminsearch函数找到估计吗?

谢谢

1 个答案:

答案 0 :(得分:1)

现在,您只是随机更改参数。如果您改用fminsearch中实现的优化程序,该算法将为您找到最小值。

% initial parameters
a = 10;
b = 3;
r0 = 0;
c0 = 0;
alpha = 1;
beta = 1;
% Array of parameters
p0 = [a,b,r0,c0,alpha,beta]';


% Minimization of cost function for p 
[pars, Jmin] = fminsearch(@(x)Crit_J(x,D), p0); 

您必须将Crit_J函数更改为仅输出“成本”以使其最小化。然后,您可以稍后通过运行原始函数来获取模型。


更新:

也许您正在寻找一个局部最小值,您可以尝试使用fminunc而不是fminsearch,或切换到generic algorithm,但这对于这个问题可能是过大了。