How to replace the contents of a cell array
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dubstep Dublin
el 26 de En. de 2016
Comentada: Triveni
el 28 de En. de 2016
I have a cell array of 2 columns as follows
Column1 Column2
AA BB0p0
AA BB0p5
AA BB1p0
AA BB1p5
...and so on
I would like to replace the contents of the 2nd column as follows
BB0p0 = 0
BB0p5 = 1
BB1p0 = 2
BB1p5 = 3 and so on...
I am a matlab newbie, so my apologies if any part of the question is not clear.
Thanks
Respuesta aceptada
Walter Roberson
el 26 de En. de 2016
[unique_col2, ~, col2_idx] = unique(YourCell(:,2));
col2_idx_cell = num2cell(col2_idx - 1); %the index is 1 based rather than 0 based
YourCell(:,2) = col2_idx_cell;
And the map back of any one stored value is unique_col2{stored_value+1}
Typically you would skip the -1 and +1 in the above and use references starting from 1, but using references starting from 0 is not wrong, and has its uses.
5 comentarios
Triveni
el 28 de En. de 2016
At-least you should accept answers when someone help....accept walter's answer
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!