Как задать на одних координатах в МАТЛАБе три разных диаграммы так, чтобы при их полном совпадении - они складывались?
У меня есть задание - нужно в МАТЛАБе в одной системе координат задать три разные диаграммы (разные по цвету, но одинаковые по ширине и по своей сути что ли) так, чтобы если они полностью совпадали - они суммировались друг с другом и накладывались друг на друга (одна диаграмма накладывается поверх другой). И нужно делать это именно с прямоугольными диаграммами.
Я прочитал про разные задания функции bar - есть диаграммы stacked, но они сразу задаются так, что одна диаграмма идет поверх другой и другого цвета. Остальные версии диаграмм подразумевали под собой то, что диаграммы просто рядом друг с другом оказывались.
На рисунке представлен примерный вид того, что должно выходить. То есть условие того, что две диаграммы сложатся должно выполняться при такой смене значений переменных, что, скажем, L1/v1+s станет равно L3/v1 и тогда две диаграммы должны стать вот такие вот stack.
У меня есть точная временная шкала на оси OX. В определенным момент времени появляются эти самые диаграммы. В целом код текущий для одной даграммы выглядит так (тут закомментированы три другие диаграммы, кототорые так просто не откладывались, но координаты их возникновения заданы через правильные переменные):
v1 = 300;
L1 = 30;
L2 = 20;
L3 = 10;
s = 1.3;
vals = [1 1 1];
b1 = bar([L1/v1 L1/v1+s L1/v1+2*s],vals,'r');
%b2 = bar([L2/v1 L2/v1+s L2/v1+2*s],vals,'b');
%b3 = bar([L3/v1 L3/v1+s L3/v1+2*s],vals,'w');
если убрать % - на Figure будет только диаграмма белого цвета. мне нужны все три с условием того, что если они оказались в один момент времени в одной точке при смене значений переменных - они должны наложиться друг на друга как stacked диаграммы.
P.S. Работаю вообще впервые с диаграммами. И в Матлабе не силен совершенно. Хотя бы какие-то наставления - уже будет хорошо.
Ответы
Можно воспользоватться например блоком switch и после трех импульсов переключить источник или например Timer
Используйте блок Step и логическое "И". Задайте в блоке "Step" время, в течение которого вам нужны импульсы (начальный сигнал - 1, конечный - 0). Амплитуду сигнала домножите потом на выходе с помощью Gain.
Смотрели в сторону блока repeating sequence? А по поводу "размытия" не совсем понятно. Возможно это просто отображение дискретного сигнала в Time Scope в режиме line? Можно поменять на stairs. См. рисунок
картину
Не могу сказать на счет существования специальных средств для такой задачи. Может корифеи прокомментируют.
1. Сравнить можно просто числа по которым вы строите исходные диаграммы. Потом просуммировать, если нужно. И нарисовать итог.
2. Больше всего волнует как вы сравнивать их собираетесь? Для этого необходимо задание точности. Либо я не до конца врубился в задачу.