В коде много ошибок.Строка за строкой:
Ваша модельная функция должна принимать ваши параметры
f=@(t,p) p(1,1).*t.^(-p(2,1));%model function
Ваша целевая функция не может вызвать f
без параметров и не может индексировать x
с помощью i
, чтоне определено.
ff= @(p) sum(x.*log(-f(t,p))+((n-x).*log(-1+f(t,p))));
fminsearch
решит проблему минимизации со всеми переменными одновременно, а не по одной за раз.
ffmin=fminsearch(ff,p)
Это не учитывает возможные ошибки в вашей модели, но, по крайней мере, код должен работать.