フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Getting differnet answers fromMatlab for what looks like the same expression

1 回表示 (過去 30 日間)
John Wood
John Wood 2020 年 3 月 9 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
I am trying to raise a real number (or vector of real numbers) to a fractional power.
V = -10:0.1:80;
V0 = 8;
m = 0.323;
Vx = (1 + V/V0);
Vx(1)
ans =
-0.25
>> sprintf('%0.55f', Vx(1))
ans =
'-0.2500000000000000000000000000000000000000000000000000000'
>> (Vx(1))^.323
ans =
0.337319506343289 + 0.542770712359585i
sprintf('%0.55f', -0.25)
ans =
'-0.2500000000000000000000000000000000000000000000000000000'
>> -0.25^.323
ans =
-0.6390
Why is the power of one version of 0.25 real, and the other is complex, when both versions of "-0.25" are identical to 55 sf?

回答 (1 件)

Fangjun Jiang
Fangjun Jiang 2020 年 3 月 9 日
Try this and hope you know why
(-0.25)^.323
  2 件のコメント
John Wood
John Wood 2020 年 3 月 9 日
OK, got it.
Steven Lord
Steven Lord 2020 年 3 月 9 日
To be more explicit, the power and matrix power operators (.^ and ^ respectively) have higher precedence (level 2) than unary minus (the unary - operator) has (level 4.) See this page for the precedence breakdown. Parentheses are at level 1, which is why Fangjun Jiang's suggestion gives a complex result.

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by