Error Operands to the || and && operators must be convertible to logical scalar values.
1 回表示 (過去 30 日間)
古いコメントを表示
Names = {'RHip','RKnee','RAnkle'};
Why doing this works ok
if~isempty( strfind(Names{1}, 'Hip') || strfind(Names{2}, 'Knee'))
if~isempty( strfind(Names{1}, 'Hip') || strfind(Names{3}, 'Knee'))
but doing this gives the error Operands to the || and && operators must be convertible to logical scalar values.
if~isempty( strfind(Names{3}, 'Hip') || strfind(Names{2}, 'Knee'))
Note in code was missing the ~isempty (i already added it). Nevertheless this dont change the outcome. The problem is that when the first operation give an [ ] the outcome is an error
0 件のコメント
採用された回答
Walter Roberson
2019 年 2 月 7 日
strfind can return empty and you cannot use && or || with empty .
strfind finds all occurrences and returns their index . It is not intended to directly answer the question of whether to pattern occurs somewhere Yes or No. With new enough MATLAB use contains()
0 件のコメント
その他の回答 (1 件)
Armindo
2019 年 2 月 7 日
1 件のコメント
KALYAN ACHARJYA
2019 年 2 月 7 日
編集済み: KALYAN ACHARJYA
2019 年 2 月 7 日
Please read the explanation form @Walter sir
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!