Can't Build Vector in While loop
1 回表示 (過去 30 日間)
古いコメントを表示
Hi all, I need to search through some data and extract a specific value and then put all these values together into a vector. Here's the code I'm working with:
chtype = channels{1,1}.hdr.channeltype;
n=1;
while chtype ~= 'Edge'
size = size(channels{n,1}.mrk, 1);
sizeVec(n) = size;
n = n+1;
chtype = channels{n,1}.hdr.channeltype;
end
I get the following error:
Matrix dimensions must agree.
Error in RFSize1 (line 11) while chtype ~= 'Edge'
To me it looks like I'm just adding onto vector sizeVec with value size. I'm not sure what dimension isn't in agreement. Thank you!
0 件のコメント
採用された回答
Geoff Hayes
2017 年 7 月 18 日
編集済み: Geoff Hayes
2017 年 7 月 18 日
John - when comparing strings, use strcmpi or strcmp. The first would be used if you are making a case-insensitive comparison, the second if you care about case. Your code would then become
while ~strcmp(chtype,'Edge')
or
while ~strcmpi(chtype,'Edge')
Note that the error Matrix dimensions must agree. makes sense when comparing
chtype ~= 'Edge'
since chtype may have a different number of elements from the four character 'Edge'.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!