How to divide data into different cells?
Mostrar comentarios más antiguos
Ok stuck here. Pls gives some help.
dataTrain is a table of all my data. This is a time series dataset. It has more than 20 variables. Variable 1 is the individual no. There are 'n' = 260 individuals. Variable 2 is time. Variable No. 3 is the 'Output' while No. 4 to end are the 'Inputs'
I want to divide all of this data into cells of Xtrain(Inputs) and Ytrain(Output) according to individual no.
This is my code
Xtrain = cell(n,1);
Ytrain = cell(n,1);
i = 1;
j = 1;
k = 1;
for j = 1:n;
while dataTrain{i,1} == j;
L(:,i)= dataTrain{i,4:end};
M(:,i)= dataTrain{i,3};
i = i + 1;
end
Xtrain{j,:} = L(:,k:i-1);
Ytrain{j,:} = M(:,k:i-1);
k = i;
j = j + 1;
end
However when I do this, Xtrain and Ytrain stopped at 259, Matlab gives 'Row index exceeds table dimensions.'
6 comentarios
Walter Roberson
el 28 de Ag. de 2019
What happens if you get to i == 260 and dataTrain{260,1) == j ?
Ahmad Kamal Bin Mohd Nor
el 28 de Ag. de 2019
Editada: Ahmad Kamal Bin Mohd Nor
el 28 de Ag. de 2019
the cyclist
el 28 de Ag. de 2019
Can you upload your data in a MAT file, so that we can actually run your code?
the cyclist
el 28 de Ag. de 2019
Editada: the cyclist
el 28 de Ag. de 2019
Could it be that the following condition
while dataTrain{i,1} == j
is not met because the value in dataTrain is a floating-point number that is very close to, but not exactly, equal to j, so the while loop exits before you expect?
Ahmad Kamal Bin Mohd Nor
el 28 de Ag. de 2019
Ahmad Kamal Bin Mohd Nor
el 28 de Ag. de 2019
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!