How do I get the relative error between 2 signals in Simulink?

9 views (last 30 days)

I have two first order transfer functions in Simulink. One is the exact system and the other is a close approximation. How would I get the relative error between the two? I tried using an addition block to subtract the exact function from the approximation and then taking the output from the addition block and using a divide block to divide the absolute error by the output of the original transfer function to get the relative error. The addition block looks to be giving the correct absolute error, but then the divide block sends out a massive maximum relative error value, on the order of 10^23.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 12 Feb 2025
Edited: Fangjun Jiang on 12 Feb 2025
Assume x and y are the two signals, you are doing
abs((x-y)/x) or abs((x-y)/y), when x or y is close to zero, it will cause divided-by-zero error, or cause the result to be very large which does not represent the true relative error.
  1 Comment
Jadon
Jadon on 12 Feb 2025

That's what I figured, but is there a good way to handle that or a different way to find the error?

Sign in to comment.

More Answers (0)

Products


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!