crossbone254 发表于 2016-5-6 22:03 
这个没有办法一般而论,看不到具体数据文件是不知道什么问题的,你之前怎么导入数据的
大师,能不能帮我看下程序?谢谢啦!我的程序是这样:
f = @(x,discount,beta_0,beta_y,beta_k,ln_K,beta_l,ln_Pl,beta_m,ln_Pm,beta_t,ln_T,...
beta_yy,ln_Y_2,beta_kk,ln_K_2,beta_ll,ln_Pl_2,beta_mm,ln_Pm_2,beta_tt,ln_T_2,...
beta_yk,ln_Y_K,beta_yl,ln_Y_Pl,beta_ym,ln_Y_Pm,beta_yt,ln_Y_T,beta_kl,ln_K_Pl,...
beta_km,ln_K_Pm,beta_kt,ln_K_T,beta_lm,ln_Pl_Pm,beta_lt,ln_Pl_T,beta_mt,ln_Pm_T...
) 1+discount/exp(beta_0+beta_y*log(x)+beta_k*ln_K+beta_l*ln_Pl+beta_m*ln_Pm+beta_t*ln_T...
+beta_yy*log(x)^2+beta_kk*ln_K_2+beta_ll*ln_Pl_2+beta_mm*ln_Pm_2+beta_tt*ln_T_2...
+beta_yk*log(x)*ln_K+beta_yl*log(x)*ln_Pl+beta_ym*log(x)*ln_Pm+beta_yt*log(x)*ln_T+beta_kl*ln_K*ln_Pl...
+beta_km*ln_K*ln_Pm+beta_kt*ln_K*ln_T+beta_lm*ln_Pl*ln_Pm+beta_lt*ln_Pl*ln_T+beta_mt*ln_Pm*ln_T)...
-beta_y-beta_yy*log(x)-beta_yk*ln_K-beta_yl*ln_Pl-beta_ym*ln_Pm-beta_yt*ln_T;
x = zeros(5345,1);
for t = 1:5345
x(t) = fsolve(f,Y(t),optimset,discount(t),beta_0(t),beta_y(t),beta_k(t),ln_K(t),beta_l(t),ln_Pl(t),beta_m(t),ln_Pm(t),beta_t(t),ln_T(t),...
beta_yy(t),ln_Y_2(t),beta_kk(t),ln_K_2(t),beta_ll(t),ln_Pl_2(t),beta_mm(t),ln_Pm_2(t),beta_tt(t),ln_T_2(t),...
beta_yk(t),ln_Y_K(t),beta_yl(t),ln_Y_Pl(t),beta_ym(t),ln_Y_Pm(t),beta_yt(t),ln_Y_T(t),beta_kl(t),ln_K_Pl(t),...
beta_km(t),ln_K_Pm(t),beta_kt(t),ln_K_T(t),beta_lm(t),ln_Pl_Pm(t),beta_lt(t),ln_Pl_T(t),beta_mt(t),ln_Pm_T(t));
end
运行总出现这个提示:
错误使用 trustnleqn (line 28)
Objective function is returning undefined values at initial point. FSOLVE cannot continue.
出错 fsolve (line 366)
[x,FVAL,JACOB,EXITFLAG,OUTPUT,msgData]=...
出错 main (line 12)
x(t) =
fsolve(f,Y(t),optimset,discount(t),beta_0(t),beta_y(t),beta_k(t),ln_K(t),beta_l(t),ln_Pl(t),beta_m(t),ln_Pm(t),beta_t(t),ln_T(t),.
请问这是怎么回事?麻烦大师了!