Есть ли способ предотвратить использование функции Simpla () / numden () в MATLAB для отмены одинаковых терминов числитель / знаменатель? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь найти знаменатель данной дроби G, но я не могу найти способ использовать встроенные функции MATLAB без упрощения дроби и потери важной информации.

Я пытался использоватьВстроенные в MATLAB команды «numden», «упрощение» и «упрощение фракции», но они продолжают отменять одинаковые термины из числителя и знаменателя.Обычно это нормально, но для моего приложения мне нужно знать все значения в знаменателе, которые могут вызвать дыру / нестабильность в функции, G.

Я попытался изучить дополнительные ограничения в этих функцияхкак "IgnoreAnalyticConstraints", но, похоже, они не решают проблему.Я упростил мой код, чтобы изолировать мою проблему ниже с моими текущими попытками:

syms 's'
G = 2/(s - 1) + 1/(s + 1) - 4/((s - 1)*(s + 1));
[n,d]=numden(G)
G_simp=simplify(G)
G_simpC=simplify(G,'IgnoreAnalyticConstraints',false)
G_simpF=simplifyFraction(G)

Output:
n = 3
d = s + 1
G_simp = 3/(s + 1)
G_simpC = 3/(s + 1)
G_simpF = 3/(s + 1)

Вот пример ввода дроби: G = 2 / (s - 1) + 1 / (s + 1) -4 / ((s - 1) * (s + 1))

, что упрощается до: G = 3 * (s - 1) / ((s - 1) * (s + 1)).<желаемый результат </p>

Я пытаюсь сохранить дробь в этой упрощенной форме, но встроенные команды отменит (s-1) условия, в результате чего: G = 3 / (s + 1).<-фактический результат </p>

1 Ответ

0 голосов
/ 12 февраля 2019

Вы можете использовать панель инструментов системы управления:

s= tf([1 0],1);
G = 2/(s - 1) + 1/(s + 1) - 4/((s - 1)*(s + 1))
zpk(G)

Код s= tf([1 0],1); создает переменную s.Он содержит объект передаточной функции, который представляет передаточную функцию f(s)=s.Строка

G = 2/(s - 1) + 1/(s + 1) - 4/((s - 1)*(s + 1))

создает объект Передаточной функции, который содержит соответствующую передаточную функцию.И zpk(G) преобразует эту функцию в форму ноль / полюс / усиление.

Результат приведенного выше кода:

G =

3 s^3 - 3 s^2 - 3 s + 3   
-----------------------
  s^4 - 2 s^2 + 1   

Функция непрерывной передачи.

ans =

3 (s+1) (s-1)^2   
---------------   
(s+1)^2 (s-1)^2   

Модель нулевого / полюса / усиления с непрерывным временем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...