BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #9742同步于 2013/3/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

求大神帮忙看一段代码啊~循环老是出问题啊~

walking
2013/3/29镜像同步4 回复
是关于兴趣驱动模型的仿真,是同学给的(毕业了找不到人鸟),里面几个常量初值可以适当调整 下面是源代码,循环总是出错啊(最后一个end也很诡异) 最后的图是调试正常的结果~~ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% T=1440;a=0;alfa=1; p=0.8;%社会认同度 total_t=2000; events=zeros(1,T);%创建1行T列的零矩阵 t_step=1; rand_num=0; rand_num2=0; possibility=1;%兴趣指标 temp=1; for i=1:total_t rand_num2=rand(1);%产生1*1的0到1之间均匀分布的随机数 if rand_num2<p possibility=temp*a/(a+alfa*t_step); temp=temp*(1-a/(a+alfa*t_step)); else possibility=temp*1/(1+alfa*t_step); temp=temp*(1-1/(1+alfa*t_step)); end if t_step>=T possibility=1; end rand_num=rand(1); if rand_num<=possibility events(t_step)=events(t_step)+1; t_step=1; possibility=1; temp=1; else t_step=t_step+1; end end; events=events/sum(events(:)); loglog(events,'*');hold on; k_nonzero=1; for i=1:T-1 if events(i)~=0 && events(i+1)==0 k_nonzero=i; break; end end; polyn=polyfit(log10(1:k_nonzero),log10(events(1:k_nonzero)),1); % polyfit用于多项式曲线拟合; k=polyn(1);%/polyn(2) X=log10(1:k_nonzero); Y=polyn(1)*X+polyn(2); Y=10.^Y; loglog(10.^X,Y,'r-','linewidth',2.5);hold on;%双对数坐标曲线 title(['Slope = ',num2str(k)]);hold on; xlabel('\tau/minute'); ylabel('P(\tau)'); legend('data','fitting'); end;
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
yanglei5658机器人#1 · 2013/3/31
看不懂,LZ解释一下到底要实现什么功能吧。 【 在 walking 的大作中提到: 】 : 是关于兴趣驱动模型的仿真,是同学给的(毕业了找不到人鸟),里面几个常量初值可以适当调整 : 下面是源代码,循环总是出错啊(最后一个end也很诡异) : 最后的图是调试正常的结果~~ : ...................
z2642x机器人#2 · 2013/4/20
不知道是什么算法...改了几次参数 不能得到正常结果 说一下具体算法吧...我觉得是算法写的有错误..
walking机器人#3 · 2013/4/21
我找过作者要了源代码 结果一看,代码都没改,只是第一行加了一句: function model() 你试试~~ 【 在 z2642x 的大作中提到: 】 : 不知道是什么算法...改了几次参数 不能得到正常结果 说一下具体算法吧...我觉得是算法写的有错误..
feiye机器人#4 · 2013/4/21
human dynamics?