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

4 ビュー (過去 30 日間)
kj g
kj g 2020 年 9 月 12 日
回答済み: Ameer Hamza 2020 年 9 月 12 日
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 日
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 日
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.

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

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by