Я пытаюсь подобрать модель, P (t) = P0 * exp (k * t) и оценить значение параметра k. У меня есть данные для P и т. В коде Matlab, который я написал, я получаю предупреждение,
Местный минимум возможен. lsqcurvefit остановлен, потому что окончательное изменение суммы квадратов относительно
его начальное значение меньше значения допуска по умолчанию для функции.
Итак, если я использую начальное предположение выше -30 (например, -1), я получаю вышеупомянутое предупреждение. Однако для значений выше -30 (например, -40 или -50) я получаю «Начальная точка - локальный минимум».
Тем не менее, я думаю, что оценочное значение параметра будет от -0,8 до -1.
Я попробовал предложения по здесь . Я попытался использовать различные начальные догадки и изменить допуск оптимальности, однако, это не решило проблему.
Это код:
initialGuess=-1;
time=[0;1;2;3;4;5;6];
data=[350000,210000,80000,20000,100,100,100];
data=(log10(data))';
lb=-150;
ub=0;
P_0=data(1);
model = @(x,time) P_0*exp(x(1).*time);
options = optimoptions('lsqcurvefit','OptimalityTolerance',1e-13,'FiniteDifferenceType','central');
[x,error]=lsqcurvefit(model,initialGuess,time,data,lb,ub,options)
Может кто-нибудь подскажите, пожалуйста, как найти оценку параметра для этих данных.