Построение интерактивной решетки в симуляторе Matlab
Я запускаю симуляцию, которая описывает активность спереди и сзади двумерной квадратной решетки. передняя и задняя часть описываются, например:
front= [-1 1 -1 0 1 0 1 2 -2 1 ];
back = [ 1 0 0 0 2 0 1 -2 -2 1 ];
каждое число указывает на различную активность на решетке.
Я хочу построить это интерактивно, чтобы каждое значение в решетке было отмечено другим маркером и цветом, и график будет обновляться при каждой итерации. Пока что у меня есть что-то вроде:
% the upper and lower edges of the lattice
figure (1)
hold on
plot(linspace(1,100,10),10*ones(1,10),'k'); %front
plot(linspace(1,100,10),1*ones(1,10),'k'); %back
% the front and back when are equal 0 zero (initial condition)
plot(100*ones(1,10),1:10,'ob','markersize',10); % front
plot(1*ones(1,10),1:10,'ob','markersize',10); % back
xlim([-1 101])
ylim([-1 11])
Это отмечает начальную настройку системы, над которой я работаю, подготовьте график, чтобы увидеть, что я имею в виду.
Теперь в каждой итерации я хочу, чтобы круги меняли цвета для разных значений, например:
figure (1)
ind=find(front==1);
if (isenum(ind)==0)
plot(100*ones(1,length(ind)),ind,'or','markerfacecolor','r');
end
Это делается 10 раз, для 5 значений спереди и 5 сзади, и это довольно тяжело для симуляции. Я хочу найти способ, которым я могу охватить весь вектор спереди / сзади на решетке "одним движением" и иметь разные маркеры, назначенные для каждого значения. Мне удается сделать это с помощью imagesc, однако я теряю графику, которую хочу сохранить при пилотировании маркеров (я хочу добавить стрелки и другие вещи позже). Кто-нибудь имеет опыт работы с такими вещами?