有人可以向我解释如何使用平方和和matlab函数fminbnd

时间:2011-09-11 09:29:04

标签: matlab

如果我必须写一个死亡指数下降的模型,那就写下来

X(n) = X(n-1) - r*X(n-1);

然后我必须使用平方和和matlab函数fminbnd来估计给出减少率的参数。

应该是

function X = exponentialDecline(X1,r,nmax)
%Computes death under exponential decline, with decline rate r
X = zeros(1,nmax);
X(1) = X1;
for n=2:nmax
X(n) = X(n-1) - r*X(n-1);
end

那会是正确的方法吗?我真的不知道如何使用fminbnd函数,如果你知道一个很好的参考,那将非常感激。

1 个答案:

答案 0 :(得分:2)

fminbnd找到1D函数的最小值。 例如,如果要在[0,2]中找到二次函数(x-1)^ 2的最小值,则执行

fminbnd(@(x)((x-1)^2), 0, 2)

在你的情况下,既然你想要优化r,那么创建一个函数(比如decayRate(r)),它接受参数r并返回衰减率,你可以运行像

这样的东西
fminbnd(@(r)((decayRate(r) - targetRate)^2), -5, 5)