2011-11-19 20 views
6

Tengo una matriz m x n y quiero usarla en algunas aplicaciones de redes neuronales en MATLAB.Selección aleatoria de columnas de matriz

Por ejemplo,

A = [ 24 22 35 40 30 ; 32 42 47 45 39 ; 14 1 10 5 9 ; 2 8 4 1 8] ; 

Quiero entrenar al azar algunas columnas y probar las otras columnas restantes. Por lo tanto, la primera matriz contendrá tres columnas aleatorias y distintas tomadas de la matriz original A, mientras que la segunda matriz contiene las dos columnas restantes.

¿Cómo puedo extraer estas matrices?

+0

posible duplicado de [¿Cómo puedo dividir/dividir una matriz por filas entre otras dos matrices?] (Http://stackoverflow.com/questions/5385174/how-can-i-divide-split-up-a -matrix-by-rows-between-two-other-matrices) – abcd

Respuesta

7

Esto va a hacer:

s = randperm(5); 
train = A(:, s(1:3)); 
test = A(:, s(4:end)); 
1

red neuronal de la caja de herramientas viene con un conjunto de funciones que hacen esto para usted, como dividerand y divideblock.

Cuestiones relacionadas