How to apply a threshold value to the cell array

3 visualizaciones (últimos 30 días)
Abdulhakim Alezzi
Abdulhakim Alezzi el 3 de Feb. de 2021
Comentada: Abdulhakim Alezzi el 3 de Feb. de 2021
Hi Friends,
I have a cell array matrix with C= 1*22. I want to apply a thresold to the cell array, all values less than (0.2) must be set to zero (0). The output dimention must be the same dimention of input cell array (1*22).
1- i have converted the cell to double
2- Applied the threshold
3- convert back the double to cell
I have applied this code, but could not got a cell with (1*22).
X=str2double(C); % converted the cell to double
X(X <0.2)=0; % Applied the threshold
C = num2cell(X); % convert back the double to cell
  2 comentarios
Matt J
Matt J el 3 de Feb. de 2021
Works fine for me:
C=cellstr( rand(1,22)+"" );%Fake
X=str2double(C); % converted the cell to double
X(X <0.2)=0; % Applied the threshold
C = num2cell(X); % convert back the double to cell
whos C
Name Size Bytes Class Attributes C 1x22 2464 cell
Abdulhakim Alezzi
Abdulhakim Alezzi el 3 de Feb. de 2021
Hi Matt,
The issue here in my matrix that i have inside the cell 22 matrices (each matrix inside every colomn in the cell is 30*30*20) as shown in the attached picture.

Iniciar sesión para comentar.

Respuesta aceptada

Steve Eddins
Steve Eddins el 3 de Feb. de 2021
I think writing a for-loop would be most straightforward way to go. Something like this:
for k = 1:numel(C)
C_k = C{k};
C_k(C_k < 0.2) = 0;
C{k} = C_k;
end
  1 comentario
Abdulhakim Alezzi
Abdulhakim Alezzi el 3 de Feb. de 2021
Dear Mr. Steve Eddins,
Thank you very much, It is really helping.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by