how to do leave-one-out cross validation of samples in cells

1 回表示 (過去 30 日間)
ML
ML 2016 年 5 月 11 日
編集済み: Stephen23 2016 年 5 月 11 日
Given a cell array C {1x 50}, how can I create leave-one-out loop such that in each of the 50 loops a different cell is "removed" from C and stored in a matrix, and the remaining 49 cells are vertically concatenated in another matrix(C{1};C{2};C{3};...).
So, in each loop two matrices are created; 1- vertically concatenated 49 cells 2- the 1 removed cell

採用された回答

Stephen23
Stephen23 2016 年 5 月 11 日
編集済み: Stephen23 2016 年 5 月 11 日
C = num2cell(1:50);
Method One: Colon Operator
N = numel(C);
for k = 1:N
ind = C{k}
tmp = vertcat(C{[1:N-1,N+1:end]})
end
Method Two: setdiff
vec = 1:numel(C);
for k = vec
ind = C{k}
tmp = vertcat(C{setdiff(vec,k)})
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by