Я написал код ниже для данных. Я, вероятно, ошибаюсь, написав вложенные функции. Может ли кто-нибудь показать мне ошибку? Я буду рад за любой ответ,Использование fminsearch с вероятностью
clear;
t=[1 3 6 9 12 18]';%time
y=[.94 .77 .40 .26 .24 .16]';%probability
n=100;%trial
x=y.*n;%correct replies
p=rand(2,1);%starting parameters
[email protected](t)p(1,1).*t.^(-p(2,1));%model function
%%%%%%%%%%%%%%%%%%%%%%%
[email protected](p)sum(x.*log(-f)+(n-x(i).*log(-1+f)));%sum of the -loglikelihood
ffmin1=fminsearch(ff,p(1,1))
ffmin2=fminsearch(ff,p(2,1))
Благодарю вас за ваш ответ @ jonnat.I've попытался запустить код, но я, к сожалению, получил сообщение об ошибке. У вас есть идеи по этому поводу? – user1018331
Огромное спасибо, я получил свою ошибку. Fminsearch - это матричное значение, и я должен был написать что-то вроде: {[p fvalue] = fminsearch (ff, p) } – user1018331
@ user1018331 Предупреждение о максимировании указывает на то, что 'fminsearch' испытывает проблемы с конверсией в минимум в пределах разрешенного количества итераций, возможно, из-за неопределенности проблемы. Я внес небольшие изменения в код в своем ответе, который дал ограниченную проблему, но я не могу узнать, правильна ли модель. – foglerit