inverse laplace transformation and plot of transfer function
3 views (last 30 days)
Show older comments
Hello! I have tranformed my state space model (A,B,C,D) into tranfer function (with [b,a]=ss2tf(A,B,C,D)). Now i would like to make an inverse laplace transformation and plot the time response function. Here are the b and a arrays:
b=[0,-1.387778780781446e-017, -2.775557561562891e-017, 3.333333333333329e-005]
a=[1.000000000000000e+000, 3.333333333333347e-003, 2.000000000000003e-002, 3.333333333333338e-005]
I've tried
syms s t
ht=ilaplace((b(1)*s^3+b(2)*s^2+b(3)*s+b(4))/(a(1)*s^3+a(2)*s^2+a(3)*s+a(4)),s,t)
Here is the result, but i dont think this version is any good for calculating further:
ht =
sum(exp(r3*t)/(200*(450*r3^2 + r3 + 3)), r3 in RootOf(s3^3 + s3^2/300 + s3/50 + 1/30000, s3)) - (1875*sum((r3^2*exp(r3*t))/(200*(450*r3^2 + r3 + 3)), r3 in RootOf(s3^3 + s3^2/300 + s3/50 + 1/30000, s3)))/4503599627370496 - (1875*sum((r3*exp(r3*t))/(200*(450*r3^2 + r3 + 3)), r3 in RootOf(s3^3 + s3^2/300 + s3/50 + 1/30000, s3)))/2251799813685248
I found another idea, using residue function, but i get complex values, which is bad i guess.
[r,p,k]=residue(b,roots(a))
r =
6.928671335525181e-006 -2.353880004317815e-004i
-6.928671335522289e-006 +2.353880004320759e-004i
p =
1.000138696401966e+000 -2.356491529868627e-002i
-2.081311986698723e-004 +1.178082550711977e-002i
k =
5.782411475014983e-019 +9.813589045919390e-017i
I would appreciate any help or solution, maybe it's a wrong direction?
0 Comments
Accepted Answer
Iman Ansari
on 4 Jun 2013
Why residue(b,roots(a))?
b=[0,-1.387778780781446e-017, -2.775557561562891e-017, 3.333333333333329e-005];
a=[1.000000000000000e+000, 3.333333333333347e-003, 2.000000000000003e-002, 3.333333333333338e-005];
syms s
[r, p, k] = residue(b,a);
F=0;
for j=1:size(k,2)
F=F+k(j)*s^(size(k,2)-j);
end
for i=1:size(r,1)
F=F+r(i)/(s-p(i));
end
F
ilaplace(F)
0 Comments
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!