How to replace the contents of a cell array

3 visualizaciones (últimos 30 días)
Dubstep Dublin
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
  1 comentario
Dubstep Dublin
Dubstep Dublin el 26 de En. de 2016
I think it all boils down to using strrep on a cell array. Can someone please tell me how to do that?

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
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
Dubstep Dublin
Dubstep Dublin el 27 de En. de 2016
Yes it works! Thanks a lot Walter.
I have a followup question: What do I do if I have to replace the contents of the cell as follows.
BB0p0 = 0 BB0p5 = 0.5 BB1p0 = 1.0 BB1p5 = 1.5 and so on...
Triveni
Triveni el 28 de En. de 2016
At-least you should accept answers when someone help....accept walter's answer

Iniciar sesión para comentar.

Más respuestas (0)

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!

Translated by