exponenta event banner

Массив модели с вариациями в двух параметрах

В этом примере показано, как создать двумерный (2-D) массив передаточных функций с помощью for петли. Один параметр передаточной функции изменяется в каждом измерении массива.

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

Функция передачи второго порядка с одним входом и одним выходом (SISO)

H (s) =

зависит от двух параметров: коэффициента затухания,, и собственной частоты, λ. Если варьируются и start, и λ, получается несколько передаточных функций вида:

Hij (s) =

, где λ i и λ j представляют различные измерения или дискретизированные значения переменных параметров. Можно собрать все эти функции переноса в одну переменную для создания двумерного массива модели.

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

H = tf(zeros(1,1,3,3));

В этом примере существует три значения для каждого параметра в передаточной функции H. Поэтому эта команда создает массив 3 на 3 функций передачи с одним входом и одним выходом (SISO).

Создайте массивы, содержащие значения параметров.

zeta = [0.66,0.71,0.75];
w = [1.0,1.2,1.5];

Создайте массив, зациклив все комбинации значений параметров.

for i = 1:length(zeta)
  for j = 1:length(w)
    H(:,:,i,j) = tf(w(j)^2,[1 2*zeta(i)*w(j) w(j)^2]);
  end
end

H представляет собой массив функций передачи 3 на 3. startизменяется изменяется при переходе от модели к модели вдоль одного столбца H. По мере перемещения вдоль одной строки, параметр λ изменяется.

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

stepplot(H)

Figure contains an axes. The axes contains 9 objects of type line. This object represents H.

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

[zetagrid,wgrid] = ndgrid(zeta,w);
H.SamplingGrid = struct('zeta',zetagrid,'w',wgrid);

При отображении H, значения параметров в H.SamplingGrid отображаются вместе с каждой передаточной функцией в массиве.

См. также

Связанные темы