Построение интерактивной решетки в симуляторе 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, однако я теряю графику, которую хочу сохранить при пилотировании маркеров (я хочу добавить стрелки и другие вещи позже). Кто-нибудь имеет опыт работы с такими вещами?

0 ответов

Другие вопросы по тегам