2

我有这个 MATLAB 函数,它接收以下输入:

A=[0 1; 0 -1];
B=[0; 1]
C=[-1 1];

这是代码:

function [ T ] = transferMAtrix( A, B, C )
    s=sym('s');
    [n n] = size(A);
    sI=s*sym(eye(n));
    T=sym(C)*inv(sI-sym(A))*sym(B);

end

transferMAtrix(A, B, C) 返回以下输出:

1/(s + 1) - 1/(s*(s + 1))

我的问题是:有没有一种方法可以使这些分数具有相同的分母,以便输出为:

(s-1)/(s*(s+1))

?

4

1 回答 1

1
>> syms s
>> T=1/(s + 1) - 1/(s*(s + 1))

T =

1/(s + 1) - 1/(s*(s + 1))

>> [n,d]=numden(T)

n =

s - 1


d =

s^2 + s

>> T=n/d

T =

(s - 1)/(s^2 + s)
于 2012-10-29T22:48:55.460 回答