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

1 visualización (últimos 30 días)
ML
ML el 11 de Mayo de 2016
Editada: Stephen23 el 11 de Mayo de 2016
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

Respuesta aceptada

Stephen23
Stephen23 el 11 de Mayo de 2016
Editada: Stephen23 el 11 de Mayo de 2016
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

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by