Как вычислить определитель матрицы передаточной функции без необходимости использовать "syms"?
Я намерен вычислить определитель матрицы переноса, а затем подвергнуть анализу Найквиста, построив график Найквиста, но проблема в том, что команда определителя не распознает матрицу переноса. Код показан ниже
clc
clear all;
close all;
g11 = tf(12.8,[16.7 1],'InputDelay',1)
g12 = tf(-18.9,[21 1],'InputDelay',3)
g21 = tf(6.6,[10.9 1],'InputDelay',7)
g22 = tf(-19.4,[14.4 1],'InputDelay',3)
G=[g11 g12 ; g21 g22]
[re,im,w] = nyquist(G)
F=2.55;
s=tf('s');
%syms s;
ggc11 = g11*(0.96*(1+3.25*F*s)/(3.25*F^2*s))
ggc12 = g12*(0.534*(1+3.31*F*s)/(3.31*F^2*s))
ggc21 = g21*(0.96*(1+3.25*F*s)/(3.25*F^2*s))
ggc22 = g22*(0.534*(1+3.31*F*s)/(3.31*F^2*s))
GGc=[ggc11 ggc12 ; ggc21 ggc22];
L=eye(2)+ GGc;
W= -1 + det(L)
nyquist(W)
Ошибка, которая появляется в следующем
Неопределенная функция 'det' для входных аргументов типа 'ss'.
Ошибка в BLT_code (строка 30) W= -1 + det(L)
Я хотел бы избежать команды 'syms', так как тогда я не смог бы составить сюжет Найквиста. Есть ли альтернативный способ вычисления сюжета Найквиста?
0 ответов
Я застрял в той же лодке, пытаясь вычислить определитель матриц передаточной функции с целью проверки критериев стабильности MIMO Nyquist, см. Слайды лекции MIMO Stability ETH Zurich (стр. 10). К сожалению, для этого не существует простой команды MATLAB. Я подумал, что это можно оценить вручную.
Если у вас есть TF-матрица G(s) следующего вида:
G = [g_11 g_12; g_21 g_22];
вы можете получить определитель, оценив его в соответствии с его исходным определением как
det_G = g_11*g_22 - g_12*g_21;
Это приведет к переменной TF 1x1. Конечно, этот метод становится слишком сложным для всего, что выше системы 2x2.