# Complex number when using variables

1 vue (au cours des 30 derniers jours)
user86753 le 11 Avr 2020
Commenté : user86753 le 11 Avr 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
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
user86753 le 11 Avr 2020
Thanks!

Connectez-vous pour commenter.

### Réponse acceptée

Steven Lord le 11 Avr 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 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Plus de réponses (1)

James Tursa le 11 Avr 2020
Modifié(e) : James Tursa le 11 Avr 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 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Logical dans Help Center et File Exchange

### Tags

Aucun tag saisi pour le moment.

### Community Treasure Hunt

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

Start Hunting!

Translated by