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

조회 수: 2 (최근 30일)
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
arunnagiri murrugesan
arunnagiri murrugesan 2019년 10월 13일
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 2019년 10월 13일
Okay, so when you get to all_peak(13,2) then what should it be compared to in p1_peak ?

댓글을 달려면 로그인하십시오.

답변 (1개)

Fabio Freschi
Fabio Freschi 2019년 10월 13일
If you work with arrays, use the single & and not &&
  댓글 수: 2
arunnagiri murrugesan
arunnagiri murrugesan 2019년 10월 13일
Matrix dimensions must agree. i am getting popped with this error when i use single &
Fabio Freschi
Fabio Freschi 2019년 10월 13일
편집: Fabio Freschi 2019년 10월 13일
So you are comparing arrays of different dimensions. Look at Walter’s comment

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by