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.

 採用された回答

Ameer Hamza
Ameer Hamza 2020 年 9 月 12 日

1 投票

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

その他の回答 (1 件)

BOB MATHEW SYJI
BOB MATHEW SYJI 2020 年 9 月 12 日

0 投票

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 件のコメント

kj g
kj g 2020 年 9 月 12 日
編集済み: kj g 2020 年 9 月 12 日
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.

サインインしてコメントする。

カテゴリ

製品

リリース

R2020a

質問済み:

2020 年 9 月 12 日

回答済み:

2020 年 9 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by