全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1136 0
2014-12-30
这是我的程序,老是出现NAN,求大神帮忙告诉我应该怎么修改使得不出现NAN,
be(1)=20;ne(1)=20;bf(1)=10;nf(1)=10;

N=20;Qf=0.5063;r(1:20)=0.5;
for j=1:20;
    o(1)=0;
  
  for t=1:300;
    for i=1:20;
        p(1)=0;
        p(i+1)=p(i)+2;
        
     sbe(t)=power(Qf,p(i))*power((exp(log(ne(t))+o(j)*(-3))),r*p(i))/(power(20,power(Qf,p(i))*power((exp(log(ne(t))+o(j)*(0.0000003))),r*p(i)))+19*power(20,power(Qf,p(i))*power((exp(log(nf(t))+o(j)*(10))),r*p(i))));
     sbf(t)=power(Qf,p(i))*power((exp(log(nf(t))+o(j)*(0.5))),r*p(i))/(power(20,power(Qf,p(i))*power((exp(log(ne(t))+o(j)*(0.0000003))),r*p(i)))+19*power(20,power(Qf,p(i))*power((exp(log(ne(t))+o(j)*(10))),r*p(i))));
    end
     dbe(t)=5*power((1+0.5),t-1)*sbe(t)-0.01*be(t)
     dbf(t)=5*power((1+0.5),t-1)*sbf(t)-0.01*bf(t)
     dne(t)=0.1001*be(t)/1/(1-power(0.1,t))-0.01*ne(t);
     dnf(t)=0.1001*bf(t)/1.2/(1-power(0.1,t))-0.01*nf(t);
     
     be(t+1)=dbe(t)+ be(t);
     bf(t+1)=dbf(t)+ bf(t);
     ne(t+1)=dne(t)+ne(t);
     nf(t+1)=dnf(t)+nf(t);
end
      o(j+1)=o(j)+0.05;
      be300(j)=be(301);
      bf300(j)=bf(301);
      ne300(j)=ne(301);
      nf300(j)=nf(301);
    x(j)=be300(j)/(be300(j)+19*bf300(j));
    y(j)=bf300(j)/(be300(j)+19*bf300(j));
    A(j)=ne300(j)/(ne300(j)+19*nf300(j));
    B(j)=nf300(j)/(ne300(j)+19*nf300(j));
    HHI(j)=x(j)*x(j)+19*y(j)*y(j);
    HHi(j)=A(j)*A(j)+19*B(j)*B(j);
end
o(21)=[]
plot(o,HHI,'-h',o,HHi, '-*')
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群