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

1 次查看(过去 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
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 &&

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by