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

1 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by