QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1416|回复: 0
打印 上一主题 下一主题

小白求大神解答报错啊

[复制链接]
字体大小: 正常 放大
azimao        

2

主题

8

听众

123

积分

升级  11.5%

  • TA的每日心情
    难过
    2017-5-12 19:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    网络挑战赛参赛者

    国际赛参赛者

    自我介绍
    你好
    跳转到指定楼层
    1#
    发表于 2018-4-14 22:35 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    50体力
    这是代码:
    function boid1(n,eta)
      %generates  boids in a field
      n=input( 'input n ') ;eta=input(' input eta' );
      range=0.2;
      speed =0.03;
      TIME= 300;
      density=10;
      RUNS= 1;

      fieldsize= sqrt (n/density) ;
      pos =  fieldsize*rand(n,2) ;
      heading= 2*pi*rand(n,1) ;
      relposX= zeros (n) ;
      relposY=  zeros (n) ;
      neighbours  = zeros (n) ;
      RelHead= zeros (n,1) ;
      B = zeros(n,1) ;
      newHeading = zeros (n,1) ;
      newPos = zeros(n,2);
      meanHeading = zeros (TIME,1) ;
      deviationMean =  zeros (n,TIME) ;
      for run=1:RUNS
      for time=1:TIME
      for i=1:n
      for j=1:n
      relposX(i,j)= abs(pos(i,1)-pos(j,1));
      relposY(i,j)= abs(pos(i,2)-pos(j,2));
      if(sqrt(relposX(i,j)^2 + relposY(i,j)^2) <= range)
      neighbours (i,j)=1;
      end
      end
      end
      for i=1:n
      for j=1:n
      if (neighbours (i,j)==1)
      relheading (i,j)= heading(j,1)-heading (i,1) ;
      end
      end
      end
      RelHead= sum (relheading,2) ;
      for i=1:n
      while RelHead(i,1) <-pi
      RelHead(i,1)= RelHead(i,1) + pi;
      end
      while RelHead(i,1) > pi
      RelHead(i,1)= RelHead(i,1)-pi;
      end
      end

      noise = (rand(n,1)*eta)-eta/2;
      newHeading(:,1)= heading(:,1) + RelHead(:,l)./sum(neighbours,2)+noise(:,1);
      newPos(:,1)= pos(:,1) + cos(newHeading(:,l))*speed;
      newPos(:,2)= pos(:,2) + sin(newHeading(:,1) )*speed;
      for k=1:n
      while newPos(k,1) < 0
      newPos(k,1)= newPos(k,1) + fieldsize;
      end
      while newPos(k,1) >= fieldsize
      newPos(k,1)= newPos(k,1)- fieldsize;
      end
      while newPos(k,2) < 0
      newPos(k,2)= newPos(k,2) + fieldsize;
      end
      while newPos(k,2) >= fieldsize
      newPos(k,2) = newPos(k,2)-fieldsize;  
      end
      end
      heading=newHeading;
      pos = newPos;
      meanHeading(time,1)= mean(heading,1);
      deviationMean(time,1) = mean(abs(meanHeading(time,l)-heading( :,1))) ;
      scatter(pos(:,1),pos(:,2),'xr');
      axis([0 fieldsize 0 fieldsize] ); xlabel(time );
      M(time) = getframe;
      end
      runDev(:,run)= deviationMean(:,1);
      end
      %plot (runDev)
      movie2avi(M,'boidtest.avi','quality',100)


    未定义函数或变量 'l'。

    出错 A0 (line 51)
      newHeading(:,1)= heading(:,1) + RelHead(:,l)./sum(neighbours,2)+noise(:,1);


    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-8-19 09:12 , Processed in 0.369402 second(s), 48 queries .

    回顶部