Hello Federico
I have met few months or years ago this problem when i was developping my « OPTSIM Solution » software to fix parameters of a PID for turbines (30 mw to 2 gw) in Nyquist and Bode Plans with hydraulic parameters site So I’ve seen instability of the denominator, witch damage calculus. I don ‘t remember what I’ve done to get a cool solution, but it has been a hard and severe problem with syslin, tf2ss and ss2tf instructions Sincerely Pierre P. De : users <[email protected]> De la part de Federico Miyara Envoyé : mardi 17 mars 2020 10:31 À : Users mailing list for Scilab <[email protected]> Objet : [Scilab-users] Strange behaviour of prod on rationals Dear all, Look at this code (the coefficients are actually the result of pevious calculations): NUM = [5.858D-09 + 2.011D-08*%s + 4.884D-08*%s^2 ... 5.858D-09 + 8.796D-10*%s + 7.028D-10*%s^2] DEN = [0.1199597 + 7.2765093*%s + %s^2 ... 8.336136 + 7.0282601*%s + %s^2] q = NUM./DEN Running it yields 5.858D-09 +2.011D-08s +4.884D-08s² 5.858D-09 +8.796D-10s +7.028D-10s² ---------------------------------- ---------------------------------- 0.1199597 +7.2765093s +s² 8.336136 +7.0282601s +s² This is, correctly, a two-component rational vector with the expected numerators and denominators. Now let's evaluate q = prod(NUM./DEN) The prod documantation sys that the argument may be "an array of reals, complex, booleans, polynomials or rational fractions". It should provide the rational obtained by multiplying the twonumrators and the two denominators. However, we get 3.432D-17 +1.230D-16s +3.079D-16s² +5.709D-17s³ +3.432D-17s⁴ ------------------------------------------------------------ 1 The numeratoris right, but the expected denominator has been just replaced by 1 However, rewriting the command as prod(NUM)/prod(DEN) we get the expected result: 3.432D-17 +1.230D-16s +3.079D-16s² +5.709D-17s³ +3.432D-17s⁴ ------------------------------------------------------------ 1.0000004 +61.501079s +59.597296s² +14.304769s³ +s⁴ This is quite strange! Now we repeat with simpler polynomials: NUM = [1-%s 2-%s] DEN = [1+%s 2+%s] q = NUM./DEN We get 1 -s 2 -s ---- ---- 1 +s 2 +s Now evaluate prod(NUM./DEN) The result is the expected one! 2 -3s +s² --------- 2 +3s +s² The behavior seems to depend on the type of polynomials. Is this a bug or there is something I'm not interpreting correctly? Regards, Federico Miyara
_______________________________________________ users mailing list [email protected] http://lists.scilab.org/mailman/listinfo/users
