exponenta event banner

frdfun

Применение функции к значению частотной характеристики на каждой частоте frd объект модели

Описание

пример

fsys = frdfun(fun,sys) применяет функцию fun к значению частотной характеристики на каждой частоте sys и собирает результаты в fsys.

Примеры

свернуть все

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

H = tf([-1.2,-2.4,-1.5],[1,20,9.1]);
w = logspace(-2,3,10);
sys = frd(H,w)
sys =
 
    Frequency(rad/s)          Response      
    ----------------          --------      
           0.0100       -0.1648 + 9.847e-04i
           0.0359       -0.1644 + 3.508e-03i
           0.1292       -0.1597 + 1.130e-02i
           0.4642       -0.1294 + 9.857e-03i
           1.6681       -0.1058 - 7.515e-02i
           5.9948       -0.1883 - 3.050e-01i
          21.5443       -0.7004 - 5.495e-01i
          77.4264       -1.1337 - 2.623e-01i
         278.2559       -1.1946 - 7.725e-02i
        1000.0000       -1.1996 - 2.159e-02i
 
Continuous-time frequency response.

sys - данные частотного отклика SISO (frd) модель, содержащая частотную характеристику на 10 частотах.

Используйте frdfun для применения функции imag на frd модель sys получение мнимых частей частотной характеристики как функции частоты.

sysImag = frdfun(@imag,sys)
sysImag =
 
    Frequency(rad/s)     Response 
    ----------------     -------- 
           0.0100        9.847e-04
           0.0359        3.508e-03
           0.1292        1.130e-02
           0.4642        9.857e-03
           1.6681       -7.515e-02
           5.9948       -3.050e-01
          21.5443       -5.495e-01
          77.4264       -2.623e-01
         278.2559       -7.725e-02
        1000.0000       -2.159e-02
 
Continuous-time frequency response.

Также можно получить величину частотной характеристики sys с abs функция.

sysMag = frdfun(@abs,sys)
sysMag =
 
    Frequency(rad/s)    Response
    ----------------    --------
           0.0100        0.1648 
           0.0359        0.1644 
           0.1292        0.1601 
           0.4642        0.1298 
           1.6681        0.1298 
           5.9948        0.3585 
          21.5443        0.8902 
          77.4264        1.1637 
         278.2559        1.1971 
        1000.0000        1.1998 
 
Continuous-time frequency response.

В этом примере рассмотрим модель частотной характеристики 2x2 MIMO sys содержит 100 тестовых частот для каждой пары ввода-вывода.

Загрузить frd объект sys из файла MAT frdModelMIMO.mat.

load('frdModelMIMO.mat','sys')
size(sys)
FRD model with 2 outputs, 2 inputs, and 100 frequency points.

Определите функцию для вычисления величины частотной характеристики второй пары ввода-вывода в sys.

fun = @(h) abs(h(2,2));

Используйте frdfun для применения функции fun к определенной паре ввода-вывода в sys.

fsys = frdfun(fun,sys);

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

свернуть все

Функция, применяемая к frd модель, заданная как функция MATLAB. Функция fun должен принимать одну матрицу и возвращать скаляр, вектор или матрицу фиксированного размера по частоте.

Модель данных частотного отклика, указанная как frd, genfrd, или ufrd объект модели. При указании sys в качестве genfrd или ufrd (Надёжная панель инструментов управления), frdfun преобразует его в frd объект перед применением функции fun.

Дополнительные сведения о моделях данных частотного отклика см. в разделе frd.

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

свернуть все

Выходная модель данных частотной характеристики, возвращаемая как frd объект модели. frdfun применяет функцию fun к значению частотной характеристики на каждой частоте sys и собирает результаты в fsys.

Дополнительные сведения о моделях данных частотного отклика см. в разделе frd.

См. также

| | (инструментарий надежного управления)

Представлен в R2020a