2016-06-21 9 views
-1

異なる色とサイズのポイント(車種1:赤色サイズ20、車種2:緑色サイズ40など)を使用して移動車をシミュレートしようとしていますが、彼らはお互いに従ってくださいどこが重複し、同じタイプの2台の車だった、これは使用するコードです:ポイント列車を移動する

x = linspace(0,30,1000); 
axis([0,20,-0.4,1.5]); 
ax = gca; 
h = hgtransform('Parent',ax); 
type1=plot(-1,0.4,'s','Parent',h,'MarkerFaceColor','red','MarkerSize',20); 
type2=plot(-1,0.4,'s','Parent',h,'MarkerFaceColor','green','MarkerSize',40); 
car=[1 2 2 1 1]; 
for k = 1:10:700 
    for i = 1:length(car) 
     if(car(i)==1) 
      set(type1,'XData',x(k),'YData',0.4); 
      pause(0.1); 
     elseif(car(i)==2) 
      set(type2,'XData',x(k)-3,'YData',0.4); 
      pause(0.1); 
     end 
    end 
end 

あらゆる(X = 3)シーケンスを維持するためにどのように新しい車は削除せずに、またはラップの上に移動を開始それの前の車。

ありがとうございました

答えて

1

以下のコードが必要な場合があります。

x = linspace(0,30,1000); 
axis([0,20,-0.4,1.5]); 
ax = gca; 
car=[1 2 2 1 1]; 
h = hgtransform('Parent',ax); 
Ncar=length(car); 

for n=1:Ncar %generate 5 cars having one type among type1 and type2 
    if car(n)==1; 
     types(n)=plot(-1,0.4,'s','Parent',h,'MarkerFaceColor','red','MarkerSize',20); 
    else 
     types(n)=plot(-1,0.4,'s','Parent',h,'MarkerFaceColor','green','MarkerSize',40); 
    end 
end 

for k = 1:10:700 %plotting the cars sequencially 
    for i = 1:length(car) 
      set(types(i),'XData',x(k)-3*(i-1),'YData',0.4); 
     pause(0.1); 
    end 
end 
+0

これは素晴らしく、うまくいきます – user3332603

関連する問題