double precision becomes complex double after calculation

The outputs for c1(p) becomes complex double after calculation. However, it should be double precision since I am just raising the power of the element. Is there any possibility to fix it? I calculated manually and all the outputs should be double precision.

 Akzeptierte Antwort

Steven Lord
Steven Lord am 21 Aug. 2018

1 Stimme

-1 is real. 0.5 is real. (-1)^(0.5) is complex. There's nothing to "fix" as that's the expected behavior.
If you want MATLAB to throw an error when you raise a real number to a real power and would receive a complex result, use the realpow function.

Weitere Antworten (0)

Kategorien

Gefragt:

CAL
am 21 Aug. 2018

Kommentiert:

CAL
am 22 Aug. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by