Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2012-10-20
年龄: 37
帖子: 1
声望力: 0 ![]() |
![]()
我做了一个用MLE方法模拟估计参数的算法,使用函数fmincon 然后将似然函数写出解析形式带入来估计参数,但是结果都为NaN,哪位大侠帮忙解答一下??谢谢!程序如下
b=20;A=[0,0,0,0,0,0]; x0 = [-100;-100;1;-1;-1;-1]; % Starting guess at the solution [x1,fval] = fmincon(@funy2,x0,A,b); disp(x1); function f = funy2(x) % global Y X; ![]() % randn('seed', 0) % n=200; beta=[2 4 3 3] ;% X=ones(n,4); Y=ones(n,1); for i=1:n X(i,1) = 1 + 2.*randn(1);%x1t X(i,2) = 1 + 1*randn(1); %x2t X(i,3)=X(i,1)*beta(1)+beta(2);%cd X(i,4)=X(i,2)*beta(3)+beta(4);%cs Y(i,1) =min(X(i,3),X(i,4)); %qt end m=200; function3=0; for j=1:m fc1=(1/x(1))*exp(-(1/(2*(x(1)^2)))*((Y(j)-x(4)-X(j,1)*x(3)).^2)); fc2=(1/x(2))*exp(-(1/(2*(x(2)^2)))*((Y(j)-x(6)-X(j,2)*x(5)).^2)); fa = @(h) (1/x(1))*exp(-(1/(2*(x(1)^2)))*((h-x(4)-X(j,1)*x(3)).^2)); Fa = quad(fa,Y(j),inf); fb = @(g) (1/x(2))*exp(-(1/(2*(x(2)^2)))*((g-x(6)-X(j,2)*x(5)).^2)); Fb = quad(fb,Y(j),inf); function1=fc1*Fb+fc2*Fa; function2=log(function1); function3=function3+function2; end f=-function3; end |
![]() |
![]() |