Matlab 同时移动多个对象
我需要在MATLAB环境中使多个对象同时移动。 我已经为三个移动的物体做了一个代码。但是,这些对象是连续移动的。我需要看到所有对象同时移动Matlab 同时移动多个对象,matlab,Matlab,我需要在MATLAB环境中使多个对象同时移动。 我已经为三个移动的物体做了一个代码。但是,这些对象是连续移动的。我需要看到所有对象同时移动 % Create data t = -4:0.1:4; % Time data x = t; % Position data y = x; % Position data h = plot(x(1),0,'o','MarkerSize',20,'MarkerFaceColor','g'); xlim([-5,5]); ylim([-5,5]); g
% Create data
t = -4:0.1:4; % Time data
x = t; % Position data
y = x; % Position data
h = plot(x(1),0,'o','MarkerSize',20,'MarkerFaceColor','g');
xlim([-5,5]);
ylim([-5,5]);
grid on
% Animation Loop one
i = 1;
while i<=length(x)
set(h,'XData',x(i), 'YData',y(i));
drawnow;
M(i) = getframe(1);
i=i+1;
end
hold on
t = -4:0.1:4; % Time data
x = t; % Position data
y = -x; % Position data
h = plot(x(1),0,'o','MarkerSize',20,'MarkerFaceColor','r');
i = 1;
while i<=length(x)
set(h,'XData',x(i), 'YData',y(i));
drawnow;
M(i) = getframe(1);
i=i+1;
end
hold on
t = -4:0.1:4; % Time data
x = t; % Position data
h = plot(x(1),0,'o','MarkerSize',20,'MarkerFaceColor','b');
i = 1;
while i<=length(x)
set(h,'XData',x(i));
drawnow;
M(i) = getframe(1);
i=i+1;
end
%创建数据
t=-4:0.1:4;%时间数据
x=t;%位置数据
y=x;%位置数据
h=绘图(x(1),0,'o','MarkerSize',20,'MarkerFaceColor','g');
xlim([-5,5]);
ylim([-5,5]);
网格化
%动画循环一
i=1;
而i外循环必须是时间(x是您的情况),内循环必须是对象。这样,它们将被视为同时飞行。用一种有点抽象的表示法:
% outer loop over animation time
for time = 1 : last_time
% inner loop over all objects
for object = 1 : last_object
% draw a specific object at a specific time
draw(object, time);
end
end
也许你想试试这个:
% Create data
t = -4:0.1:40; % Time data
x = t; % Position data
y = x; % Position data
x1 = x;
y1 = -y;
h = plot(x(1),y(1),'o','MarkerSize',20,'MarkerFaceColor','g');
hold on
h1 = plot(x1(1),y1(1),'o','MarkerSize',20,'MarkerFaceColor','r');
hold on
xlim([0,50]);
ylim([-50,50]);
grid on
% Animation Loop one
i = 1;
while i<=length(x)
set(h,'XData',x(i), 'YData',y(i));
set(h1,'XData',x1(i), 'YData',y1(i));
drawnow;
M(i) = getframe(1);
i=i+1;
end
%创建数据
t=-4:0.1:40;%时间数据
x=t;%位置数据
y=x;%位置数据
x1=x;
y1=-y;
h=绘图(x(1),y(1),'o','MarkerSize',20,'MarkerFaceColor','g');
等等
h1=绘图(x1(1),y1(1),'o','MarkerSize',20,'MarkerFaceColor','r');
等等
xlim([0,50]);
ylim([-50,50]);
网格化
%动画循环一
i=1;
当我想让它们同时移动时出现,还是想让移动对象的代码并行执行(如线程)以便对象同时移动?我需要所有对象同时移动,以便窗口显示所有对象以不同的速度和方向移动。目前,当一个完成移动后,第二个出现。你能把这个应用到我的例子中吗please@user3481947但是你接受了这个答案。。。?这意味着你对给出的答案感到满意。是的,我对答案感到满意。我只是想申请我的例子对不起,我没有足够的时间将一般方案应用到你的例子中。