bodeplot

График Предвещает частотную характеристику с дополнительными опциями настройки графика

    Описание

    bodeplot позволяет вам построить Предвещать величину и фазу модели динамической системы с более широкой областью значений опций настройки графика, чем bode. Можно использовать bodeplot получить указатель графика и использовать его, чтобы настроить график, те, которые изменяют метки осей, пределы и модули. Можно также использовать bodeplot чертить Предвещать график отклика на существующем наборе осей, представленных указателем осей. Настроить существующую Диаграмму Боде с помощью указателя графика:

    1. Получите указатель графика

    2. Используйте getoptions получить набор опции

    3. Обновите график с помощью setoptions изменить необходимые опции

    Для получения дополнительной информации см. Графики отклика Настройки из Командной строки (Control System Toolbox). Чтобы создать Диаграммы Боде с опциями по умолчанию или извлечь данные о частотной характеристике, использовать bode.

    пример

    h = bodeplot(sys) строит Предвещать величину и фазу модели sys динамической системы и возвращается, график обрабатывают h к графику. Можно использовать этот указатель h настроить график с getoptions и setoptions команды. Если sys мультивход, мультивыходная модель (MIMO), затем bodeplot производит сетку Диаграмм Боде, каждого графика, отображающего частотную характеристику одной пары ввода-вывода.

    пример

    h = bodeplot(sys1,sys2,...,sysN) строит частотную характеристику нескольких динамических систем sys1,sys2,…,sysN на том же графике. Все системы должны иметь то же количество вводов и выводов, чтобы использовать этот синтаксис.

    пример

    h = bodeplot(sys1,LineSpec1,...,sysN,LineSpecN) устанавливает стиль линии, тип маркера и цвет для Предвещать ответа каждой системы. Все системы должны иметь то же количество вводов и выводов, чтобы использовать этот синтаксис.

    h = bodeplot(AX,___) строит Предвещать ответ на Axes или UIAxes объект в текущей фигуре с указателем AX. Используйте этот синтаксис при создавании приложений с помощью bodeplot в App Designer.

    пример

    h = bodeplot(___,plotoptions) строит Предвещать частотную характеристику с набором опций, заданным в plotoptions. Можно использовать эти опции, чтобы настроить внешний вид Диаграммы Боде с помощью командной строки. Настройки вы задаете в plotoptions заменяет настройки preference в MATLAB® сеанс, на котором вы запускаете bodeplot. Поэтому этот синтаксис полезен, когда это необходимо, чтобы записать скрипт, чтобы сгенерировать несколько графиков, которые выглядят одинаково независимо от локальных настроек.

    пример

    h = bodeplot(___,w) отклики системы графиков для частот заданы частотами в w.

    • Если w массив ячеек формы {wmin,wmax}то bodeplot строит ответ на частотах, располагающихся между wmin и wmax.

    • Если w вектор из частот, затем bodeplot строит ответ на каждой заданной частоте.

    Можно использовать w с любой из комбинаций входных аргументов в предыдущих синтаксисах.

    Смотрите logspace сгенерировать логарифмически распределенные векторы частоты.

    Примеры

    свернуть все

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

    Сгенерируйте случайную модель в пространстве состояний с 5 состояниями и создайте Диаграмму Боде с указателем графика h.

    rng("default")
    sys = rss(5);
    h = bodeplot(sys);

    Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents sys. Axes object 2 contains an object of type line. This object represents sys.

    Измените модули в Гц и подавите график фазы. Для этого отредактируйте свойства указателя графика, h использование setoptions.

    setoptions(h,'FreqUnits','Hz','PhaseVisible','off');

    Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

    Диаграмма Боде автоматически обновляется, когда вы вызываете setoptions.

    В качестве альтернативы можно также использовать bodeoptions команда, чтобы задать необходимые опции графика. Во-первых, создайте набор опций на основе настроек тулбокса.

    p = bodeoptions('cstprefs');

    Измените свойства опций, установленных путем установки единиц частоты на Гц, и скройте график фазы.

    p.FreqUnits = 'Hz';
    p.PhaseVisible = 'off';
    bodeplot(sys,p);

    Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

    Можно использовать тот же набор опции, чтобы создать несколько Диаграмм Боде с той же индивидуальной настройкой. В зависимости от ваших собственных настроек тулбокса график, который вы получаете, может отличаться от этого графика. Только свойства, которые вы устанавливаете явным образом в этом примере PhaseVisible и FreqUnits, замените настройки тулбокса.

    В данном примере создайте Диаграмму Боде, которая использует красный текст с 15 точками для заголовка. Этот график должен выглядеть одинаково, независимо от настроек сеанса работы с MATLAB, в котором он сгенерирован.

    Во-первых, создайте набор опций по умолчанию с помощью bodeoptions.

    opts = bodeoptions;

    Затем изменитесь, необходимые свойства опций устанавливают opts.

    opts.Title.FontSize = 15;
    opts.Title.Color = [1 0 0];
    opts.FreqUnits = 'Hz';

    Теперь создайте Диаграмму Боде с помощью набора опций opts.

    bodeplot(tf(1,[1,1]),opts);

    Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents untitled1. Axes object 2 contains an object of type line. This object represents untitled1.

    Поскольку opts начинается с фиксированного набора опций, результат графика независим от настроек тулбокса сеанса работы с MATLAB.

    В данном примере создайте Диаграмму Боде следующего непрерывного времени динамическая система SISO. Затем включите сетку, переименуйте график и измените шкалу частоты.

    sys(s)=s2+0.1s+7.5s4+0.12s3+9s2.Непрерывное время динамическая система SISO

    Создайте передаточную функцию sys.

    sys = tf([1 0.1 7.5],[1 0.12 9 0 0]);

    Затем создайте набор опций с помощью bodeoptions и измените необходимые свойства графика.

    plotoptions = bodeoptions;
    plotoptions.Grid = 'on';
    plotoptions.FreqScale = 'linear';
    plotoptions.Title.String = 'Bode Plot of Transfer Function';

    Теперь создайте Диаграмму Боде с пользовательским набором опции plotoptions.

    bodeplot(sys,plotoptions)

    Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents sys. Axes object 2 contains an object of type line. This object represents sys.

    bodeplot автоматически выбирает область значений графика на основе системной динамики.

    В данном примере рассмотрите модель в пространстве состояний MIMO с 3 входными параметрами, 3 выходными параметрами и 3 состояниями. Создайте Диаграмму Боде с линейной шкалой частоты, задайте единицы частоты в Гц и включите сетку.

    Создайте модель в пространстве состояний MIMO sys_mimo.

    J = [8 -3 -3; -3 8 -3; -3 -3 8];
    F = 0.2*eye(3);
    A = -J\F;
    B = inv(J);
    C = eye(3);
    D = 0;
    sys_mimo = ss(A,B,C,D);
    size(sys_mimo)
    State-space model with 3 outputs, 3 inputs, and 3 states.
    

    Создайте Диаграмму Боде с указателем графика h и используйте getoptions для списка доступных опций.

    h = bodeplot(sys_mimo);
    p = getoptions(h)
    p =
    
                       FreqUnits: 'rad/s'
                       FreqScale: 'log'
                        MagUnits: 'dB'
                        MagScale: 'linear'
                      MagVisible: 'on'
                 MagLowerLimMode: 'auto'
                      PhaseUnits: 'deg'
                    PhaseVisible: 'on'
                   PhaseWrapping: 'off'
                   PhaseMatching: 'off'
               PhaseMatchingFreq: 0
        ConfidenceRegionNumberSD: 1
                     MagLowerLim: 0
              PhaseMatchingValue: 0
             PhaseWrappingBranch: -180
                      IOGrouping: 'none'
                     InputLabels: [1x1 struct]
                    OutputLabels: [1x1 struct]
                    InputVisible: {3x1 cell}
                   OutputVisible: {3x1 cell}
                           Title: [1x1 struct]
                          XLabel: [1x1 struct]
                          YLabel: [1x1 struct]
                       TickLabel: [1x1 struct]
                            Grid: 'off'
                       GridColor: [0.1500 0.1500 0.1500]
                            XLim: {3x1 cell}
                            YLim: {6x1 cell}
                        XLimMode: {3x1 cell}
                        YLimMode: {6x1 cell}
    

    Используйте setoptions обновить график с требует индивидуальной настройки.

    setoptions(h,'FreqScale','linear','FreqUnits','Hz','Grid','on');

    Figure contains 18 axes objects. Axes object 1 with title From: In(1) contains an object of type line. This object represents sys\_mimo. Axes object 2 contains an object of type line. This object represents sys\_mimo. Axes object 3 contains an object of type line. This object represents sys\_mimo. Axes object 4 contains an object of type line. This object represents sys\_mimo. Axes object 5 contains an object of type line. This object represents sys\_mimo. Axes object 6 contains an object of type line. This object represents sys\_mimo. Axes object 7 with title From: In(2) contains an object of type line. This object represents sys\_mimo. Axes object 8 contains an object of type line. This object represents sys\_mimo. Axes object 9 contains an object of type line. This object represents sys\_mimo. Axes object 10 contains an object of type line. This object represents sys\_mimo. Axes object 11 contains an object of type line. This object represents sys\_mimo. Axes object 12 contains an object of type line. This object represents sys\_mimo. Axes object 13 with title From: In(3) contains an object of type line. This object represents sys\_mimo. Axes object 14 contains an object of type line. This object represents sys\_mimo. Axes object 15 contains an object of type line. This object represents sys\_mimo. Axes object 16 contains an object of type line. This object represents sys\_mimo. Axes object 17 contains an object of type line. This object represents sys\_mimo. Axes object 18 contains an object of type line. This object represents sys\_mimo.

    Диаграмма Боде автоматически обновляется, когда вы вызываете setoptions. Для моделей MIMO, bodeplot производит массив Диаграмм Боде, каждого графика, отображающего частотную характеристику одной пары ввода-вывода.

    В данном примере совпадайте с фазой своего отклика системы, таким образом, что фаза в 1 рад/секунда является 150 градусами.

    Во-первых, создайте Диаграмму Боде системы передаточной функции с указателем графика h.

    sys = tf(1,[1 1]); 
    h = bodeplot(sys);

    Используйте getoptions получить свойства графика. Измените свойства PhaseMatchingFreq и PhaseMatchingValue совпадать с фазой к заданной частоте.

    p = getoptions(h); 
    p.PhaseMatching = 'on'; 
    p.PhaseMatchingFreq = 1; 
    p.PhaseMatchingValue = 150;

    Обновите график с помощью setoptions.

    setoptions(h,p);

    Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents sys. Axes object 2 contains an object of type line. This object represents sys.

    Первая диаграмма Боде имеет фазу-45 градусов на частоте 1 рад/с. При установке опций соответствия фазы так, чтобы на уровне 1 рад/с фаза была близка, 150 градусов дают к второй Диаграмме Боде. Обратите внимание на то, что, однако, фаза может только быть-45 + N*360, где N является целым числом. Таким образом, график установлен в самую близкую допустимую фазу, а именно, 315 градусов (или 1*360-45=315oУравнение того, как допустимая фаза вычисляется).

    В данном примере сравните частотные характеристики двух идентифицированных моделей в пространстве состояний с 2 и 6 состояниями наряду с их 2 σ области доверия.

    Загрузите идентифицированные данные модели в пространстве состояний и оцените эти две модели с помощью n4sid. Используя n4sid требует лицензии System Identification Toolbox.

    load iddata1
    sys1 = n4sid(z1,2); 
    sys2 = n4sid(z1,6);

    Создайте Диаграмму Боде этих двух систем.

    bodeplot(sys1,'r',sys2,'b');
    legend('sys1','sys2');

    Figure contains 2 axes objects. Axes object 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent sys1, sys2. Axes object 2 contains 2 objects of type line. These objects represent sys1, sys2.

    Из графика заметьте, что обе модели производят приблизительно 70%-ю подгонку к данным. Однако sys2 показывает более высокую неопределенность в ее частотной характеристике, особенно близко к частоте Найквиста. Теперь используйте linspace создать вектор из частот и построить Предвещать ответ с помощью вектора частоты w.

    w = linspace(8,10*pi,256);
    h = bodeplot(sys1,sys2,w);
    legend('sys1','sys2');

    Используйте setoptions включать соответствие фазы и задавать стандартное отклонение области доверия.

    setoptions(h,'PhaseMatching','on','ConfidenceRegionNumberSD',2);

    Figure contains 2 axes objects. Axes object 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent sys1, sys2. Axes object 2 contains 2 objects of type line. These objects represent sys1, sys2.

    Можно использовать showconfidence команда, чтобы отобразить области доверия на Диаграмме Боде.

    showConfidence(h)
    

    В данном примере сравните частотную характеристику параметрической модели, идентифицированной из данных о вводе/выводе, к непараметрической модели, идентифицированной с помощью тех же данных. Идентифицируйте параметрические и непараметрические модели на основе данных.

    Загрузите данные и создайте параметрические и непараметрические модели с помощью tfest и spa, соответственно.

    load iddata2 z2;
    w = linspace(0,10*pi,128);
    sys_np = spa(z2,[],w);
    sys_p = tfest(z2,2);

    spa и tfest потребуйте программного обеспечения System Identification Toolbox™. Модель sys_np непараметрическая идентифицированная модель в то время как, sys_p параметрическая идентифицированная модель.

    Создайте набор опций, чтобы включить соответствие фазы и сетку. Затем создайте Диаграмму Боде, которая включает обе системы с помощью этого набора опций.

    plotoptions = bodeoptions;  
    plotoptions.PhaseMatching = 'on';
    plotoptions.Grid = 'on';
    bodeplot(sys_p,sys_np,w,plotoptions);
    legend('Parametric Model','Non-Parametric model');

    Figure contains 2 axes objects. Axes object 1 with title From: u1 To: y1 contains 2 objects of type line. These objects represent Parametric Model, Non-Parametric model. Axes object 2 contains 2 objects of type line. These objects represent Parametric Model, Non-Parametric model.

    Входные параметры

    свернуть все

    Динамическая система в виде SISO или модели динамической системы MIMO или массива моделей динамической системы. Динамические системы, которые можно использовать, включают:

    • Непрерывное время или дискретное время числовые модели LTI, такой как tf (Control System Toolbox), zpk (Control System Toolbox), или ss Модели (Control System Toolbox).

    • Разреженные модели в пространстве состояний, такой как sparss (Control System Toolbox) или mechss Модели (Control System Toolbox). Сетка частоты w должен быть задан для разреженных моделей.

    • Обобщенные или неопределенные модели LTI такой как genss (Control System Toolbox) или uss Модели (Robust Control Toolbox). (Используя неопределенные модели требует программного обеспечения Robust Control Toolbox™.)

      • Для настраиваемых блоков системы управления функция оценивает модель в своем текущем значении, чтобы отобразить данные о частотной характеристике на графике.

      • Для неопределенных блоков системы управления, графики функций номинальная стоимость и случайные выборки модели.

    • Модели данных частотной характеристики такой как frd модели. Для таких моделей графики функций ответ на частотах задан в модели.

    • Идентифицированные модели LTI, такой как idtf, idss, или idproc модели. Для таких моделей функция может также построить доверительные интервалы и возвратить стандартные отклонения частотной характеристики. См. Диаграмму Боде Идентифицированной Модели.

    Если sys массив моделей, графики функций частотные характеристики всех моделей в массиве на тех же осях.

    Стиль линии, цвет и маркер задается как символ или строка символов. Символы могут появиться в любом порядке. Вы не должны задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы не используете стиль линии и задаете маркер, затем график показывает только маркер и никакую линию.

    Пример: '--or' красная пунктирная линия с круговыми маркерами

    Стиль линииОписание
    -Сплошная линия
    --Пунктирная линия
    :Пунктирная линия
    -.Штрихпунктирная линия
    МаркерОписание
    'o'Круг
    '+'Знак «плюс»
    '*'Звездочка
    '.'Точка
    'x'Крест
    '_'Горизонтальная линия
    '|'Вертикальная линия
    's'Квадрат
    'd'Ромб
    '^'Треугольник, направленный вверх
    'v'Нисходящий треугольник
    '>'Треугольник, указывающий вправо
    '<'Треугольник, указывающий влево
    'p'Пентаграмма
    'h'Гексаграмма
    ЦветОписание

    y

    желтый

    m

    пурпурный

    c

    голубой

    r

    красный

    g

    зеленый

    b

    синий

    w

    белый

    k

    черный

    Целевые оси в виде Axes или UIAxes объект. Если вы не задаете оси и если текущей системой координат являются Оси декартовой системы координат, то bodeplot графики на текущей системе координат. Используйте AX построить в определенные оси при создавании приложений в App Designer.

    Опции диаграммы Боде установлены в виде BodePlotOptions объект. Можно использовать этот набор опции, чтобы настроить внешний вид Диаграммы Боде. Использование bodeoptions создать набор опции. Настройки вы задаете в plotoptions заменяет настройки preference в сеансе работы с MATLAB, в котором вы запускаете bodeplot. Поэтому plotoptions полезно, когда это необходимо, чтобы записать скрипт, чтобы сгенерировать несколько графиков, которые выглядят одинаково независимо от локальных настроек.

    Для списка доступных параметров смотрите bodeoptions.

    Частоты, на которых можно вычислить и построить частотную характеристику в виде массива ячеек {wmin,wmax} или как вектор из значений частоты.

    • Если w массив ячеек формы {wmin,wmax}, затем функция вычисляет ответ на частотах, располагающихся между wmin и wmax.

    • Если w вектор из частот, затем функция вычисляет ответ на каждой заданной частоте. Например, использовать logspace сгенерировать вектор-строку с логарифмически расположенными с интервалами значениями частоты.

    Задайте частоты в модулях rad/TimeUnit, где TimeUnit TimeUnit свойство модели.

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

    свернуть все

    Постройте указатель, возвращенный как handle объект. Используйте указатель h получить и установить свойства использования Диаграммы Боде getoptions и setoptions. Для списка доступных параметров смотрите раздел Properties и Values Reference в Настройке Графиков отклика из Командной строки (Control System Toolbox).

    Представлено до R2006a