Borrar filtros
Borrar filtros

How can I return cell array values using an index matrix.

1 visualización (últimos 30 días)
Hi there,
I have the following variables:
variableNames = {'Aaron', 'Brett', 'Charlie', 'Katie', 'Jess'}
index_matrix = [1,3,4,5,2; 2,1,4,5,3; 3,2,1,5,4]
and I want to return the variableName corresponding to that index in a new cell array or timetable:
index_name = {'Aaron','Charlie','Katie','Jess','Brett';
'Brett','Aaron','Katie','Jess','Charlie';
'Charlie','Brett','Aaron','Jess','Katie'}
My index_matrix is actually in a timetable, but I suppose once I have a solution for this I can adjust it.
Many thanks,
Aaron

Respuesta aceptada

Walter Roberson
Walter Roberson el 1 de Oct. de 2017
index_name = variableNames(index_matrix);
  3 comentarios
Aaron Jean-Baptiste
Aaron Jean-Baptiste el 2 de Oct. de 2017
That was embarrassingly easy. I suppose a follow-up is that I want to store this cell array as a time-series. I.e. I want to see on what date did 'Aaron' come first. How can I store the data in this ordered format?
Walter Roberson
Walter Roberson el 2 de Oct. de 2017
timeseries() does not appear to be usable for cell array of strings.
You could convert to categorical... which would effectively look like your index matrix internally.
You could create a timetable() if you have a sufficiently new MATLAB.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Tables 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