Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2012-10-21, 17:29   #1
19880828z
初级会员
 
注册日期: 2012-10-20
年龄: 37
帖子: 1
声望力: 0
19880828z 正向着好的方向发展
问题 求教:matlab MLE模拟参数估计的问题

我做了一个用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
19880828z 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 15:57


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.