You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
Inverse Laplace Transform for a complex transfer function
9 views (last 30 days)
Show older comments
For my signals project I was able to represent a system using a transfer function consisting of 50 zeros and 60 poles. However, when I tried to get the time domain function of this laplace domain impulse response using ilaplace() with the numerators and denominators as inputs, the code has been running for hours with no end.
I understand that due to the complexity of the transfer function matlab may not be able to find an exact answer. Is there a way to estimate or possible improve the identification of this time domain equation? Thank you
10 Comments
David Goodmanson
on 11 Dec 2019
Hi Darren,
do you mean that F(s) is entirely described by a ratio of polynomials and that you have the positions of all the zeros and poles?
Darren Tran
on 11 Dec 2019
Hi David,
Yes, all the poles and zeros have been found and F(s) is a ratio of polynomials. Is there a better way to find the inverse laplace?
Thank you for your time.
David Goodmanson
on 11 Dec 2019
Hi Darren,
what can you say about the locations of the poles in the s plane (all negative? all distinct? minimum spacing, etc)
Darren Tran
on 11 Dec 2019
Transfer function of system
% tf6 =
%
% From input "u1" to output "y1":
%
% -6.226e14 (+/- 1.801e23) s^50 - 1.406e16 (+/- 1.397e25) s^49 + 8.548e17 (+/- 1.196e27) s^48
%
% + 4.345e19 (+/- 7.827e28) s^47 + 9.782e20 (+/- 3.5e30) s^46 + 2.544e22 (
%
% +/- 1.269e32) s^45 + 5.779e23 (+/- 3.364e33) s^44 + 3.644e24 (+/- 6.743e34) s^43
%
% - 1.348e25 (+/- 1.047e36) s^42 - 2.659e26 (+/- 1.27e37) s^41 - 8.311e27 (
%
% +/- 1.188e38) s^40 - 6.417e28 (+/- 8.344e38) s^39 - 2.217e29 (+/- 4.219e39) s^38
%
% + 6.008e29 (+/- 1.462e40) s^37 - 6.462e29 (+/- 3.238e40) s^36 - 5.825e30 (
%
% +/- 4.437e40) s^35 + 1.03e29 (+/- 3.587e40) s^34 - 3.185e29 (+/- 1.619e40) s^33
%
% - 1.096e29 (+/- 5.946e39) s^32 + 9.797e27 (+/- 1.52e39) s^31 - 1.609e27 (
%
% +/- 3.429e38) s^30 + 1.159e25 (+/- 1.074e38) s^29 + 1.467e24 (+/- 2.715e37) s^28
%
% - 3.907e22 (+/- 4.977e36) s^27 - 1.293e21 (+/- 6.965e35) s^26 - 7.722e19 (
%
% +/- 7.773e34) s^25 + 2.404e18 (+/- 7.1e33) s^24 - 9.765e16 (+/- 5.451e32) s^23
%
% - 7.257e14 (+/- 3.5e31) s^22 - 4.564e13 (+/- 1.963e30) s^21 - 1.388e13 (
%
% +/- 8.909e28) s^20 - 2.323e11 (+/- 4.094e27) s^19 + 1.235e10 (+/- 1.583e26) s^18
%
% - 1.486e08 (+/- 7.64e24) s^17 + 1.401e07 (+/- 5.14e23) s^16 + 5.671e04 (
%
% +/- 1.497e22) s^15 + 2.435e04 (+/- 1.176e21) s^14 - 40.67 (+/- 2.494e19) s^13
%
% + 20.68 (+/- 1.543e18) s^12 + 0.6052 (+/- 3.44e16) s^11 - 0.009592 (+/- 1.484e15) s^10
%
% + 0.0003821 (+/- 4.398e13) s^9 + 4.003e-06 (+/- 1.474e12) s^8 - 6.035e-08 (
%
% +/- 3.966e10) s^7 + 2.338e-08 (+/- 9.562e08) s^6 - 5.411e-10 (+/- 1.838e07) s^5
%
% - 1.838e-11 (+/- 2.944e05) s^4 + 1.819e-13 (+/- 3599) s^3 + 2.949e-15 (+/
%
% - 33.09) s^2 + 1.31e-16 (+/- 0.1979) s - 2.658e-19 (+/- 0.0006273)
%
% -----------------------------------------------------------------------------------------------
%
% s^60 + 1.899e06 (+/- 1.357e14) s^59 + 1.639e09 (+/- 4.228e15) s^58 + 3.51e11 (+/
%
% - 5.578e17) s^57 + 4.653e13 (+/- 1.798e19) s^56 + 4.57e15 (+/- 6.798e20) s^55
%
% + 3.538e17 (+/- 2.246e22) s^54 + 2.217e19 (+/- 6.035e23) s^53 + 1.148e21 (
%
% +/- 3.098e25) s^52 + 4.983e22 (+/- 5.6e26) s^51 + 1.824e24 (+/- 2.159e28) s^50
%
% + 5.657e25 (+/- 2.839e29) s^49 + 1.487e27 (+/- 2.863e31) s^48 + 3.299e28 (
%
% +/- 9.496e32) s^47 + 6.138e29 (+/- 1.494e34) s^46 + 9.528e30 (+/- 5.066e35) s^45
%
% + 1.228e32 (+/- 6.374e36) s^44 + 1.298e33 (+/- 6.645e37) s^43 + 1.105e34 (
%
% +/- 3.778e38) s^42 + 7.44e34 (+/- 1.666e39) s^41 + 3.847e35 (+/- 4.62e39) s^40
%
% + 1.472e36 (+/- 1.406e40) s^39 + 3.955e36 (+/- 9.029e40) s^38 + 7.153e36 (
%
% +/- 2.322e41) s^37 + 8.251e36 (+/- 2.837e41) s^36 + 5.806e36 (+/- 3.443e41) s^35
%
% + 2.847e36 (+/- 4.663e40) s^34 + 1.043e36 (+/- 1.239e40) s^33 + 2.946e35 (
%
% +/- 6.114e39) s^32 + 6.593e34 (+/- 9.715e38) s^31 + 1.199e34 (+/- 3.931e38) s^30
%
% + 1.81e33 (+/- 4.698e37) s^29 + 2.308e32 (+/- 1.533e37) s^28 + 2.523e31 (
%
% +/- 1.646e36) s^27 + 2.395e30 (+/- 2.413e35) s^26 + 1.994e29 (+/- 8.35e34) s^25
%
% + 1.469e28 (+/- 1.041e34) s^24 + 9.641e26 (+/- 9.937e32) s^23 + 5.671e25 (
%
% +/- 7.081e31) s^22 + 3.003e24 (+/- 5.501e30) s^21 + 1.437e23 (+/- 1.657e29) s^20
%
% + 6.23e21 (+/- 8.191e27) s^19 + 2.451e20 (+/- 3.165e26) s^18 + 8.757e18 (
%
% +/- 2.724e25) s^17 + 2.843e17 (+/- 1.716e24) s^16 + 8.377e15 (+/- 2.829e22) s^15
%
% + 2.238e14 (+/- 1.025e21) s^14 + 5.405e12 (+/- 6.42e19) s^13 + 1.176e11 (
%
% +/- 3.507e18) s^12 + 2.296e09 (+/- 1.11e17) s^11 + 3.996e07 (+/- 3.805e15) s^10
%
% + 6.154e05 (+/- 2.567e14) s^9 + 8299 (+/- 1.338e13) s^8 + 96.76 (+/- 2.452e11) s^7
%
% + 0.9582 (+/- 1.675e10) s^6 + 0.007867 (+/- 6.701e08) s^5 + 5.172e-05 (+/
%
% - 1.53e07) s^4 + 2.58e-07 (+/- 1.609e06) s^3 + 8.936e-10 (+/- 3.073e04) s^2
%
% + 1.807e-12 (+/- 1041) s + 1.364e-15 (+/- 47.24)
Darren Tran
on 11 Dec 2019
Hi Chuguang,
How would I be able to decompose the above transfer function into partial fractions?
Thank you for your time.
David Goodmanson
on 11 Dec 2019
Edited: David Goodmanson
on 11 Dec 2019
Hi Darren,
There are not positions of poles and zeros here, just two polynomials with coefficients. Those coefficients all have values like -6.226e14 (+/- 1.801e23), meaning that they are of no use at all. You might want to consider how realistic it is to have a transfer function with 50 poles and 60 zeros. If you did know, accurately, the positions of all those poles and zeros then it's certainly possible to find the answer numericaly in short order, but there could well be big problems with numerical accuracy in such a calculation.
Walter Roberson
on 11 Dec 2019
-6.226e14 (+/- 1.801e23) is pretty much a nonsense number, with inprecision 1 billion times larger than the number itself.
Are these numbers coming from the output of cftool (Curve Fitting Toolbox) ?
Shashwat Bajpai
on 26 Dec 2019
I would be in a better state to help you if the coefficients mentioned are in a MATLAB executable format.
Answers (1)
Darren Tran
on 30 Dec 2019
Hello I have found the solution. The 50 poles 60 zeros method was wrong and I ended up using 2 zeroes and three poles. I then did an inverse laplace and found the original function. Than you everyone for you help.
See Also
Categories
Find more on Polynomials 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!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)