Complex number when using variables
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
user86753
el 11 de Abr. de 2020
Comentada: user86753
el 11 de Abr. de 2020
I am getting two different answers in MATAB 2017a. If I compute it directly in the Command Window vs assigning the variables x,y, I get a complex answer?
-50.8478 ^ -1.017
ans =
-0.0183959070209519
K>> x = -50.8478; y = -1.017
K>> x^y
ans =
-0.0183696777893977 + 0.000982004601423454i
Respuesta aceptada
Steven Lord
el 11 de Abr. de 2020
That's correct. The unary minus operator (before 50.8478) is at precedence level 4. The matrix power operator with unary minus (between 50.8478 and 1.017) is at precedence level 3. So:
-50.8478 ^ -1.017
is equivalent to:
-(50.8478^-1.017)
The expression inside the parentheses is real.
When you use variables:
x = -50.8478;
y = -1.017
x^y
that is equivalent to:
(-50.8478)^(-1.017)
which gives a complex result.
0 comentarios
Más respuestas (1)
James Tursa
el 11 de Abr. de 2020
Editada: James Tursa
el 11 de Abr. de 2020
Operator precedence
>> -50.8478 ^ -1.017
ans =
-0.0184
>> (-50.8478) ^ -1.017
ans =
-0.0184 + 0.0010i
The ^ operator has higher precedence than the - operator when typed in at the command line.
0 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!