楼主: chenhao1101
1631 2

[问答] matlab 极大似然 Undefined function 'w' for input arguments of type 'double [推广有奖]

  • 2关注
  • 0粉丝

菜鸟

本科生

16%

还不是VIP/贵宾

-

威望
0
论坛币
22 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
426 点
帖子
72
精华
0
在线时间
29 小时
注册时间
2011-5-19
最后登录
2021-8-13

楼主
chenhao1101 发表于 2014-9-16 12:35:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

这是极非线性极大似然程序,运行的时候说红字部分有问题,硕士双精度输入参数没有定义Undefined function 'w' for input arguments of type 'double
% This is the main program that finds MLE estimates.  it takes takes sample size (T) and observed proportion correct
% (r) as inputs.It returns the parameter values that maximize the log-likelihood function
opts=optimset('DerivativeCheck','off','Display','off','TolX',1e-6,'TolFun',1e-6,'Diagnostics','off','MaxIter',200);
% option settings for optimization algorithm
global r; % define global variables
data=xlsread('E:\Download\银行间质押式回购001.xls');%read the date of excel(according to your own file route)
r=data(:,1);
T=length(r);
init_w=[0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1;0.1]';% starting parameter values
low_w=-5*ones(1,11);% parameter lower bounds
up_w=5*ones(1,11);% parameter upper bounds
u=w(1,1)+w(1,2)*r+w(1,3)*r.^2+w(1,4)*r.^3+w(1,5)*r.^4+w(1,6)*r.^5+w(1,7)*r.^(-1);
v=w(1,8)+w(1,9)*r+w(1,10)*r.^w(1,11);
loglik=nonliner(w);
for j=1:T-1;
     loglik=loglik-(T-1/2)*log2pi-(1/2)*m;
     m=m+log(v(j))+(r(j+1)-r(j)-u(j))^2/v(j);

end
loglik=(-1)*sum(loglik);% overall minus log-likelihood being minimized
[w,lik,exit]=fmincon(@nonliner,init_w,[],[],[],[],low_w,up_w,[],opts);
% optimization for  model that minimizes minus log-likelihood (note that minimization of minus log-likelihood is equivalent to maximization of log-likelihood)
% w: MLE parameter estimates
% lik1: maximized log-likelihood value
% exit1: optimization has converged if exit > 0 or not otherwise

运行结果:
>> nonlinear
Undefined function 'w' for input arguments of type 'double'.


Error in nonlinear (line 12)
u(r)=w(1,1)+w(1,2)*r+w(1,3)*r.^2+w(1,4)*r.^3+w(1,5)*r.^4+w(1,6)*r.^5+w(1,7)*r.^(-1);

哪位能帮忙解决下啊,毕业论文,着急啊!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Undefined Arguments function argument Defined function double matlab

陈昊

沙发
wodehongqi 发表于 2014-10-8 17:39:13
函数nonliner没定义,怎么算?

藤椅
matlab-007 发表于 2015-3-2 18:50:36
未定义的函数的输入参数“w”类型的两倍

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 06:09