0

I must be missing something obvious but why does MATLAB have these two different behaviors?

Compare,

>> s = tf('s');
>> G = exp(-2.1*s)/(s+10)

G =
 
                  1
  exp(-2.1*s) * ------
                s + 10
 
Continuous-time transfer function.

with

>> G = exp(-2.1*s)+s

G =
 
  A = 
       x1  x2
   x1   1   0
   x2   0   1
 
  B = 
       u1
   x1   0
   x2  -1
 
  C = 
       x1  x2
   y1   1   0
 
  D = 
       u1
   y1   1
 
  E = 
       x1  x2
   x1   0   1
   x2   0   0
 
  (values computed with all internal delays set to zero)

  Internal delays (seconds): 2.1 
 
Continuous-time state-space model.

I understand the second model ends up being a DAE or implicit state space model ... but why? I couldn't find anything in the documentation. Other software like Mathematica doesn't seem to do this.

ITA
  • 3,200
  • 3
  • 18
  • 32

2 Answers2

1

The transfer function exp(-tau*s) represents a time delay where tau is the delay. Your second system cannot be represented in transfer function form. For clarity, if you let

s = tf('s');
G1 = exp(-2.1*s)/(s+10);
G2 = exp(-2.1*s)+s;

then tf(G2) returns

Error using DynamicSystem/tf
State-space models with internal delays cannot be converted to transfer function form.
Patrick
  • 86
  • 3
0

1.- F(s)=s does not have inverse Laplace

From the MAT 04B Differential Equations by W.Trench available here, in the definition of the inverse of the Laplace transform

[QUOTE]

.. we need ONLY consider the case where degree(P)<degree(Q) ..

[END OF QUOTE]

Where F(s)=P(s)/Q(s)

2.- f(t)=t;t>0 has Laplace transform

L(t)=1/s^2 for s>0 but there's no Laplace transform L(t) for s<0.

The function F(s)=s does not have inverse Laplace.

It would have inverse Laplace if s<0 had been included but the way the operator L() is defined confines forward transforms to s>0 .

Therefore the values of s, the part of the s complex plane that would produce a function in time when attempting inverse Laplace transform of F(s)=s has already been excluded in the definition of the forward Laplace transform and MATLAB seems to know all this and excludes 's' as Laplace invertible.

3.- Rewording

Also, the forward Laplace operator applies the weight function exp(-s*t) integrating over [0 Inf] but the inverse Laplace operator has the following weight function : exp(s*t)

The integral exp(s*t)*s , as improper as it is, it remains so because it derails any integration attempt in an open interval, this is, with an +Inf on one side.

For F(s)=exp(-2.1*s) there is inverse Laplace because exp(a*s) can be Laplace inverted but only for certain values of a, which is when exp(a*s) has Taylor series that allow Laplace operator to go for each term, therefore exp(-2.1*s) can be Laplace inverted.

Adding a Laplace invertible function to one that is not spoils the whole pack.

Then, in a nutshell, with some distortion, but to get the idea through, MATLAB switches to State-Space functions, which can be considered a general case in which Laplace transform transfer functions are included.

John BG
  • 690
  • 4
  • 12