exponenta event banner

dsp. ArrayPlot

Отображение векторов или массивов

Описание

Отображение векторов или массивов, в которых данные равномерно разнесены по оси X.

Array Plot object window

Создание

Описание

пример

scope = dsp.ArrayPlot создает объект «Печать массива», scope.

scope = dsp.ArrayPlot(Name,Value) задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в кавычки. Например, scope = dsp.ArrayPlot("NumInputPorts",3)

Свойства

развернуть все

Большинство свойств можно изменить из dsp.ArrayPlot ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.

Конфигурация графика

Число входных портов, указанное как положительное целое число. Каждый сигнал, поступающий через отдельный вход, становится отдельным каналом в объеме. Необходимо вызвать область с тем же количеством входных данных, что и значение этого свойства.

Укажите, следует ли использовать SampleIncrement и XOffset значения свойств для определения интервала или укажите собственный пользовательский интервал. При указании "Custom", также необходимо указать CustomXData значения свойств.

Это свойство можно задать только при создании объекта.

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и установите режим X-Data.

Типы данных: char | string

Укажите требуемые значения x-данных в виде вектора строки или столбца длиной, равной длине кадра входных данных. Если используется значение по умолчанию (пустой вектор), x-данные равномерно разнесены и имеют значение (0: L-1), где L - длина кадра.

Это свойство можно задать только при создании объекта.

Пример: scope = dsp.ArrayPlot("XDataMode","Custom","CustomXData",logspace(0,log10(44100/2),1024))

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры», установите для параметра «Режим X-данных» значение «Пользовательский» и задайте значение «Пользовательские X-данные».

Зависимость

Чтобы использовать это свойство, установите XDataMode кому "Custom".

Укажите интервал между выборками вдоль оси X как конечный числовой скаляр. Входной сигнал представляет собой только данные по оси Y. данные по оси X устанавливаются автоматически на основе XOffset и SampleIncrement свойства.

Пример: Когда XOffset является 0 и SampleIncrement является 1, значения оси X установлены в 0, 1, 2, 3, 4, … .

Пример: Когда XOffset является -1 и SampleIncrement является 0.25, значения оси X установлены в -1, -0.75, -0.5, -0.25, 0, … .

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и задайте значение параметра «Приращение образца».

Зависимость

Чтобы использовать это свойство, установите XDataMode кому 'Sample increment and X-offset'.

Отображение смещения оси X, заданного как числовой скаляр. Данные по оси x устанавливаются автоматически на основе обоих SampleIncrement и XOffset значения. Смещение по оси X представляет первое значение на оси X.

Пример: Когда XOffset равно 0 и SampleIncrement равно 1, значения по оси X равны 0, 1, 2, 3, 4,....

Пример: Когда XOffset равно -1 и SampleIncrement равно 0,25, значения по оси X равны -1, -0,75, -0,5, -0,25, 0,...

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и задайте значение «Смещение по оси X».

Зависимость

Чтобы использовать это свойство, установите XDataMode кому 'Sample increment and X-offset'.

Укажите, является ли масштаб оси X "Linear" или "Log". Если XOffset является отрицательным значением, для этого свойства нельзя установить значение "Log".

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и задайте XScale.

Типы данных: char | string

Укажите, является ли масштаб оси y "Linear" или "Log".

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и задайте YScale.

Типы данных: char | string

Укажите тип графика, который будет использоваться для всех входных сигналов, отображаемых в окне области:

  • "Stem" - Область отображает входной сигнал в виде кругов с вертикальными линиями, проходящими вниз к оси X при каждом из выбранных значений.

  • "Line" - Область отображает входной сигнал в виде линий, соединяющих каждое из выбранных значений.

  • "Stairs" - Область отображает входной сигнал в виде графика лестничного шага. График лестничного шага состоит только из горизонтальных и вертикальных линий. Каждая горизонтальная линия представляет значение сигнала для дискретного периода выборки и соединена с двумя вертикальными линиями. Каждая вертикальная линия представляет изменение значений, происходящих в выборке. Графики лестничных шагов полезны для построения графиков истории времени для данных с цифровой выборкой.

Использование пользовательского интерфейса

Откройте окно «Параметры» и задайте тип печати.

Укажите, когда область масштабирует оси. Допустимые значения:

  • "Auto" - Область применения позволяет масштабировать оси по мере необходимости в соответствии с данными как во время, так и после моделирования.

  • "Manual" - Область не масштабирует оси автоматически.

  • "OnceAtStop" - Область масштабирования осей при остановке моделирования.

  • "Updates" - Область масштабирует оси один раз и только один раз после 10 обновлений.

Это свойство можно задать только при создании объекта.

Использование пользовательского интерфейса

Наведите курсор на график массива, чтобы увидеть Zoom iconPanning iconautoscale iconкнопки масштабирования, панорамирования и автоматического масштабирования. С помощью мыши можно также выполнять масштабирование и панорамирование.

Типы данных: char | string

Визуализация

Укажите имя области. Это имя отображается как заголовок окна рисунка области. Чтобы задать заголовок графика области, используйте команду Title собственность.

Типы данных: char | string

Укажите в пикселях размер и расположение окна области в виде четырехэлементного вектора формы [left bottom width height]. По умолчанию окно области отображается в центре экрана с шириной 800 пикселей и высотой 450 пикселей. Значения по умолчанию для этого свойства могут изменяться в зависимости от разрешения экрана.

Укажите, следует ли отображать область в режиме максимизированных осей. В этом режиме оси разворачиваются, чтобы вписаться во весь экран. Для экономии места метки отображаются не на каждом экране. Вместо этого поверх выводимых на печать данных появляются значения засечек. Можно выбрать один из следующих вариантов:

  • "Auto" - Оси отображаются развернутыми на всех экранах только в том случае, если Title и YLabel для каждого экрана свойства пусты. Если ввести какое-либо значение для любого из этих свойств, оси не будут развернуты.

  • "On" - Оси отображаются на всех экранах с максимумом. Любые значения, введенные в Title и YLabel свойства скрыты.

  • "Off" - Ни одна из осей не выглядит развернутой.

Использование пользовательского интерфейса

Наведите курсор на график массива, чтобы увидеть кнопку максимизации осей.

Типы данных: char | string

Укажите заголовок отображения в виде символьного вектора или строки.

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и задайте «Заголовок».

Типы данных: char | string

Чтобы отобразить легенду с входными именами, задайте для этого свойства значение true.

Из легенды можно управлять видимыми сигналами. Этот элемент управления эквивалентен изменению видимости в диалоговом окне «Стиль». В легенде области щелкните имя сигнала, чтобы скрыть сигнал в области. Чтобы отобразить сигнал, щелкните имя сигнала еще раз. Чтобы отобразить только один сигнал, щелкните правой кнопкой мыши имя сигнала. Для отображения всех сигналов нажмите клавишу Esc.

Примечание

Легенда показывает только первые 20 сигналов. Любые дополнительные сигналы нельзя просматривать или контролировать из легенды.

Использование пользовательского интерфейса

На вкладке «Печать» нажмите «Легенда».

Типы данных: logical

Укажите имена входных каналов как массив ячеек символьных векторов. Имена отображаются на панелях «Легенда», «Параметры» и «Измерения». Если имена не указаны, каналы помечаются как Channel 1, Channel 2и т.д.

Зависимость

Для просмотра имен каналов установите ShowLegend кому true.

Типы данных: char

Установить для этого свойства значение true отображение линий сетки на графике.

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и выберите «Сетка».

  • true - Область применения отображает величину и фазу входного сигнала на двух отдельных осях в пределах одного активного дисплея.

  • false - Область действия отображает действительную и мнимую части входного сигнала на двух отдельных осях в пределах одного активного дисплея.

Это свойство полезно для комплексных входных сигналов. Включение этого свойства влияет на фазу для действительных входных сигналов. Когда амплитуда входного сигнала неотрицательна, фаза равна 0 градусам. Когда амплитуда входного сигнала отрицательная, фаза составляет 180 градусов.

Использование пользовательского интерфейса

На вкладке «Печать» нажмите кнопку «Фаза величины».

Укажите текст области для отображения под осью X.

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и выберите «XLabel».

Типы данных: char | string

Укажите текст области для отображения слева от оси Y.

Зависимости

Это свойство применяется только в том случае, если PlotAsMagnitudePhase является false. Когда PlotAsMagnitudePhase является true, две метки оси Y являются значениями только для чтения "Magnitude" и "Phase"для графика величины и фазового графика соответственно.

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и выберите «YLabel».

Типы данных: char | string

Задайте пределы оси Y в виде двухэлементного числового вектора. [ymin, ymax].

Если PlotAsMagnitudePhase является false, значение по умолчанию - [-10,10]. Если PlotAsMagnitudePhase является true, значение по умолчанию - [0,10].

Зависимости

Когда PlotAsMagnitudePhase является true, это свойство задает пределы оси Y только для графика величины. Пределы по оси Y фазового графика всегда [-180,180].

Использование пользовательского интерфейса

Откройте вкладку «Печать», нажмите «Параметры» и задайте «Пределы оси Y» в качестве двухэлементного числового вектора.

Использование

Описание

пример

scope(signal) отображает сигнал на графике массива.

scope(signal1,signal2,...,signalN) отображает несколько сигналов на графике массива. Сигналы должны иметь одинаковую длину кадра, но могут изменяться по количеству каналов. Необходимо установить NumInputPorts для включения нескольких входных сигналов.

Входные аргументы

развернуть все

Укажите один или несколько входных сигналов для визуализации в dsp.ArrayPlot. Сигналы могут иметь разное количество каналов, но они должны иметь одинаковую длину кадра.

Пример: scope(signal1, signal2)

Настройка пользовательского интерфейса

Чтобы настроить стиль сигналов на графике массива, откройте окно «Параметры» и используйте нижнюю строку параметров для выбора сигнала и изменения стиля, ширины, цвета и типа маркера.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

Функции объекта

Чтобы использовать функцию объекта, укажите объект в качестве первого входного аргумента.

generateScriptСоздание сценария MATLAB для создания области с текущими параметрами
hideСкрыть окно области
showОкно области просмотра
isVisibleОпределение видимости объема работ
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов объекта эквивалентным step синтаксис. Например, myObject(x) становится step(myObject,x).

Создайте новый объект Array Plot.

scope = dsp.ArrayPlot;

Настройте свойства объекта Array Plot для распределения по Гауссу.

scope.YLimits = [0 1];
scope.XOffset = -2.5;
scope.SampleIncrement = 0.1;
scope.Title = 'Gaussian distribution';
scope.XLabel = 'X';
scope.YLabel = 'f(X)';

Вызовите объект Array Plot для печати распределения по Гауссу.

scope(exp(-(-2.5:.1:2.5).*(-2.5:.1:2.5))')

Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов объекта эквивалентным step синтаксис. Например, myObject(x) становится step(myObject,x).

Просмотрите адаптивные веса фильтра наименьших средних квадратов (LMS) на рисунке графика массива. Наблюдайте за изменением весов фильтров по мере их адаптации к фильтрации шумного входного сигнала.

Создайте объект системы адаптивного фильтра LMS.

lmsFilter = dsp.LMSFilter(40,'Method','Normalized LMS','StepSize',0.002);

Создайте и настройте dsp. Объект AudiFileReader System для считывания входного сигнала из указанного аудиофайла.

signalSource = dsp.AudioFileReader('dspafxf_8000.wav',...
    'SamplesPerFrame',40, ...
    'PlayCount',Inf,...
    'OutputDataType','double');

Создайте и настройте dsp. Объект FIRFilter System для фильтрации случайного белого шума, создавая цветной шум.

firFilter = dsp.FIRFilter('Numerator',fir1(39,0.25));

Создайте и настройте объект Array Plot System для отображения адаптивных весов фильтра.

scope = dsp.ArrayPlot('XLabel','Filter Tap', ...
    'YLabel','Filter Weight', ...
    'YLimits',[-0.05 0.2]');

Постройте график весов фильтра LMS по мере их адаптации к требуемому сигналу. Считывайте из аудиофайла, производите случайные данные и фильтруйте случайные данные. Обновите весовые коэффициенты фильтра и постройте график весовых коэффициентов фильтра.

numplays = 0;
while numplays < 3
    [y, eof]    = signalSource();
    noise       = rand(40,1);
    noisefilt   = firFilter(noise);
    desired     = y + noisefilt;
    [~, ~, wts] = lmsFilter(noise,desired);
    scope(wts);
    numplays = numplays + eof;
end

Совет

  • Чтобы закрыть окно Печать массива (Array Plot) и очистить связанные с ним данные, используйте MATLAB ®clear функция.

  • Чтобы скрыть или показать окно «Печать массива», используйте hide и show функции.

Расширенные возможности

.
Представлен в R2013a