Operands to the || and && operators must be convertible to logical scalar values.

2 vues (au cours des 30 derniers jours)
arunnagiri murrugesan
arunnagiri murrugesan le 13 Oct 2019
Commenté : Walter Roberson le 13 Oct 2019
cl=input('Enter class ( up-1 or down-2 or blink-3): ');
if cl==1
[k,~]=find((all_peak(:,2)>0)&&((all_peak(:,2)<p1_peak(:,2))))
% % [k,~]=find(all_peak(:,2)<0);
ch_n='up';
elseif cl==2
[k,~]=find(all_peak(:,2)<0);
% % [k,~]=find((all_peak(:,2)>0)&&((all_peak(:,2)<allnew_peak(;,2)));
ch_n='down';
else
[k,~]=find(all_peak(:,2)>0);
ch_n='blink';
end
where all_peak =[16,2] matrix , p1_peak =[12,2 ] matrix , allnew_peak=[12,2] matrix. i am getting error. Operands to the || and && operators must be convertible to logical scalar values. how to solve it ?
  3 commentaires
arunnagiri murrugesan
arunnagiri murrugesan le 13 Oct 2019
lets take all_peak [16,2] = 1542 15.56 p1_peak[12,2] = 1243 13.06
1342 -21.43 1453 24.54
i want to compare 15.56 with 13.06 , -21.43 with 24.54
Walter Roberson
Walter Roberson le 13 Oct 2019
Okay, so when you get to all_peak(13,2) then what should it be compared to in p1_peak ?

Connectez-vous pour commenter.

Réponses (1)

Fabio Freschi
Fabio Freschi le 13 Oct 2019
If you work with arrays, use the single & and not &&
  2 commentaires
arunnagiri murrugesan
arunnagiri murrugesan le 13 Oct 2019
Matrix dimensions must agree. i am getting popped with this error when i use single &
Fabio Freschi
Fabio Freschi le 13 Oct 2019
Modifié(e) : Fabio Freschi le 13 Oct 2019
So you are comparing arrays of different dimensions. Look at Walter’s comment

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by