syms a
logL=100.*log(a)+sum(log(exp(a.*c2))+sum(log((1+exp(a.*c2)).^-2)));
j = fplot(logL)
hold on
%%
m=100/a;
o=sum(c);
p=2*exp(a.*c);
q=exp(a.*c)+1;
dlog=m+o-p.*c.*(q.^-1);
k=fplot(dlog);
hline.Color = 'k';
c is a matrix of data
I am trying to find the maximum of the estimator is there another method except plotting the graphs of the log functions?

 채택된 답변

Torsten
Torsten 2022년 5월 12일

0 개 추천

x = your data vector
fun = @(a) n/a + sum(x) - 2*a*sum(exp(a*x)./(exp(a*x)+1);
a = fzero(fun,1)

댓글 수: 3

Jane Smith
Jane Smith 2022년 5월 12일
This worked perfectly! Thank you.
Torsten
Torsten 2022년 5월 12일
편집: Torsten 2022년 5월 12일
I think there is an error in your derivative of L with respect to a. In my opinion, the function must be
fun = @(a) n/a + sum(x) - 2*sum(x.*exp(a*x)./(exp(a*x)+1))
Jane Smith
Jane Smith 2022년 5월 13일
편집: Jane Smith 2022년 5월 13일
Yes you are correct.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

John D'Errico
John D'Errico 2022년 5월 12일

0 개 추천

Is there another way? Why not negate the function, and then use a tool like fminbnd? Or fminsearch. Or fmincon or fminunc, or ...

댓글 수: 2

Jane Smith
Jane Smith 2022년 5월 12일
I am getting errors when trying with those functions.
Error using fcnchk
FUN must be a function, a valid character vector expression, or an inline function object.
I have been trying it on various softwares. The function f(x) is made up so i am getting confused were my mistake is in finding the estimate.
David Randolph
David Randolph 2022년 5월 13일
편집: David Randolph 2022년 5월 13일
@John D'Errico wrong again!

댓글을 달려면 로그인하십시오.

제품

질문:

2022년 5월 12일

편집:

2022년 5월 13일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by