Extracting matrix diagonal with diag(A)

3 vues (au cours des 30 derniers jours)
Irina
Irina le 19 Fév 2015
Commenté : Irina le 19 Fév 2015
A simple function that used to run now gives an error message. What am I doing wrong?
>> a = eye(4,4);
>> diag(a)
Subscript indices must either be real positive integers or logicals.
>>

Réponse acceptée

Evan
Evan le 19 Fév 2015
Modifié(e) : Evan le 19 Fév 2015
Does this fix your problem?
a = eye(4,4) == 1;
diag(a)
While the diag function works fine, if you have a variable named diag (not a good idea--give it a unique name that isn't the same as a builtin function), it expects a logical, not double, input for indexing.
  1 commentaire
Irina
Irina le 19 Fév 2015
Thank you, that's exactly what happened.

Connectez-vous pour commenter.

Plus de réponses (1)

Erik S.
Erik S. le 19 Fév 2015
Do you have another matrix in your workspace called diag?
  1 commentaire
Irina
Irina le 19 Fév 2015
Thank you, that's exactly what happened.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by