Как отмечали другие, дельта-функция Дирака не является истинной функцией, а обобщенной функцией . Справка для dirac
указывает на это:
dirac (X) не является функцией в строгом смысле, а скорее распределением с int (dirac (xa) * f (x), - inf, inf) = f (a) и diff (тяжелый (x), x) = dirac (x).
blockquote>Строго говоря, Matlab не может построить функцию дельта Дирака в нормальный путь, потому что часть его простирается до бесконечности. Однако, если вы хотите визуализировать, существует множество обходных решений. Простым является использование функции графика
stem
и оператора>
для преобразования одного значенияInf
в нечто конечное. Это дает единичную импульсную функцию (или Kronecker delta ):t = -10:10; x = dirac(t) > 0; stem(t,x)
Если
t
иx
уже существуют как символические переменные / выражения, а не числовые, которые вы можете использоватьsubs
:syms t x = dirac(t); t2 = -10:10; x2 = subs(x,t,t2)>0; stem(t2, x2)
Вы можете написать свою собственную сюжетную программу, если хотите что-то другое. Использование
ezplot
вряд ли будет работать, поскольку оно не обеспечивает столько контроля.
Можно добавить собственное Управление и использовать его в качестве легенды.
Этот код добавит 100-е поле 150w x (Серая Граница / с Белым Фоном) и слова "Привет Мир" в нем. Вы выгружаете текст для любого HTML, который Вы хотели бы в легенде. Это останется Привязанным на Верхних правых 10 пкс (G_ANCHOR_TOP_RIGHT) вниз и 50 пкс карты.
function MyPane() {}
MyPane.prototype = new GControl;
MyPane.prototype.initialize = function(map) {
var me = this;
me.panel = document.createElement("div");
me.panel.style.width = "150px";
me.panel.style.height = "100px";
me.panel.style.border = "1px solid gray";
me.panel.style.background = "white";
me.panel.innerHTML = "Hello World!";
map.getContainer().appendChild(me.panel);
return me.panel;
};
MyPane.prototype.getDefaultPosition = function() {
return new GControlPosition(
G_ANCHOR_TOP_RIGHT, new GSize(10, 50));
//Should be _ and not _
};
MyPane.prototype.getPanel = function() {
return me.panel;
}
map.addControl(new MyPane());
Я использовал бы HTML как следующее:
<div id="wrapper">
<div id="map" style="width:400px;height:400px;"></div>
<div id="legend"> ... marker descriptions in here ... </div>
</div>
Можно затем разработать это для хранения легенды в нижнем правом:
div#wrapper { position: relative; }
div#legend { position: absolute; bottom: 0px; right: 0px; }
position: relative
заставит любые содержавшие элементы быть расположенными относительно #wrapper
контейнер, и position: absolute
вызовет #legend
отделение, которое "вытянут" из потока, и сидит выше карты, сохраняя это - нижний правый край у основания #wrapper
и простираясь как требуется для содержания описаний маркера.