Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Getting differnet answers fromMatlab for what looks like the same expression

1 Ansicht (letzte 30 Tage)
John Wood
John Wood am 9 Mär. 2020
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
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?

Antworten (1)

Fangjun Jiang
Fangjun Jiang am 9 Mär. 2020
Try this and hope you know why
(-0.25)^.323
  2 Kommentare
Steven Lord
Steven Lord am 9 Mär. 2020
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.

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by