我想估算参数:
我有一个取决于6个参数的PSF(点扩展函数)"y=f(x)"
仅在给出“ y”个输出数据的情况下,我必须估算所有6个参数(a,b,r0,c0,alpha,beta)。
从统计角度来看,最佳方法是什么?我可以使用Matlab fminsearch
函数找到估计吗?
谢谢
答案 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,但这对于这个问题可能是过大了。