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 个评论
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
2019-10-13
If you work with arrays, use the single & and not &&
2 个评论
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!