The power funciton in math function block does not correctly work.

I choosed the signed power. If the power is even, the output always keeps positive. It works well if the power is not even. I wonder what happens when the power is even. Is it a bug?
The input u this example is a sine wave signal and v is 2, 3, 6, respectively. Please look the scope in the figure, when the power is even, it keeps positive. It is strange. I don't know if this exmaple works correctly on other machines.

 Risposta accettata

There seems to be a bug in the implementation of Signed Power functionality in the case of integer powers. You may consider filing a bug report: https://www.mathworks.com/support/bugreports/report_bug. Meanwhile, you can create your own block using power and sign blocks

Più risposte (1)

When “signed power” is checked, it first calculates the power of absolute value of input and then multiplies it with sign of the input. You can find more on: https://www.mathworks.com/help/simulink/slref/mathfunction.html

1 Commento

kj g
kj g il 12 Set 2020
Modificato: kj g il 12 Set 2020
Surely I know this, sign(u)*|u|^v. The input u this example is a sine wave signal and v is 2, 3, 6, respectively. Please look the scope in the figure, when the power is even, it keeps positive. It is strange. I don't know if this exmaple works correctly on other machines.

Accedi per commentare.

Prodotti

Release

R2020a

Richiesto:

il 12 Set 2020

Risposto:

il 12 Set 2020

Community Treasure Hunt

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

Start Hunting!

Translated by