How do I compare the result of the output of a loop with the previous output of the loop?
3 ビュー (過去 30 日間)
古いコメントを表示
If I output data from a loop into a cell array such that each iteration of the is stored as an individual cell in a single cell array, how can I write a code where I compare the the ith term in the loop to the (i-1)th term? I want to compare the number of rows of each cell, e.g.
for i = 1:5
matrix = ones(i,2); % create some matrix - in my real code this would not be in ascending order, and some matrices would have the same number of rows
matrixcell{i} = matrix; % create some cell array
% Here I need to compare the number of rows
if size(matrixcell{i})<size(matrixcell{i-1})
disp('current result has less rows')
elseif size(matrixcell{i})==size(matrixcell{i-1})
disp('current result has same number of rows')
else
disp('current result has more rows')
end
end
I understand that the reason this doesn't work is that matrixcell{i-1} doesn't exist for i=1, but this is the idea of the comparison I need. I don't need to compare the i=1 case to anything - this can just be printed or ignored. Does this require a while loop?
0 件のコメント
採用された回答
Stephen23
2018 年 12 月 7 日
Put your entire if... ifelse ... end inside another if:
if i>1
if size(...)
...
elseif size(...)
...
end
end
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!