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 (Robust Control Toolbox) объект, frdfun преобразует его в frd объект сначала перед применением функции fun.

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

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

свернуть все

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

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

См. также

| | (Robust Control Toolbox)

Введенный в R2020a