Find maximum of a function.
    8 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Dear all,
I have the following code that aims at maximixing LL_all with respect to "gidraw" which is scalar.
%the data
n=1;
Xfi=[  -1.4+randn(n,1) 0.5+0.6*randn(n,1)];  
beta=[3 2 ]';
yi=randn(n)  ;
gidraw=0.5;
lam=Xfi*beta + gidraw;  
int=yi.*lam-exp(lam);
int=sum(int);
 %the function
  LL_all = -(log(normpdf(gidraw,2,sqrt(0.5)))+int);
So, my question is what is the maximum of LL_all? That is, how can I find the maximum of this function? Also can I calculate the Hessian matrix(which is a scalar more precisely) of this function?
Thanks in advance
4 件のコメント
  Walter Roberson
      
      
 2015 年 8 月 19 日
				I thought I understood what you wanted, but lam is an n x 1 vector and yi is an n x n array, so yi .* lam is an error. yi*lam would be well defined and would be n x 1 which would be fine for adding exp(lam) which would be n x 1 as well. The sum() in the next line would then be creating a scalar. Is that what is desired?
採用された回答
  JMP Phillips
      
 2015 年 8 月 19 日
        If gidraw is a scalar, your problem doesn't make sense, as LL_all is just a number. If gidraw is vector, the maximum of -[log(normpdf) + int] is +Inf.
2 件のコメント
  JMP Phillips
      
 2015 年 8 月 20 日
				still confused sorry, your code just returns a number. Don't you need to specify a range of inputs for the distribution, so that you can find the maximum within the range? In your equation for LL_all, which is the vector input, is it Int?
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



