Я пытаюсь найти знаменатель данной дроби 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>