How to apply operation (< or >=) on cell array?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have exported the excel sheet on MATLAB and now I want to apply condition on each cell.
Condition: If each value in cell is less tha 150 so the answer should be "0" else "1".
The cell array dimension is 44x4.
I want the outout in the same array form too.
MY CODE
clc;
clear all;
DATA = readcell('testing_Data.xlsx');
DATA_A = readcell('testing_Data.xlsx','Range','A1:A44')
DATA_B = readcell('testing_Data.xlsx','Range','B1:B44');
DATA_C = readcell('testing_Data.xlsx','Range','C1:C44');
DATA_G = readcell('testing_Data.xlsx','Range','D1:D44');
A_OUTPUT = DATA_A(find(~cellfun(@(x)any(x<150, 'all'), DATA_A)))
Using this above code the output result I am getting is 27x1 matrix.
A_OUTPUT is eleminating the cells that are less than 150, however instead of eliminating thoses cell, I want to replace "0" on their place. And for the cell who's value is greater than 150 should be replaced by "1".
0 comentarios
Respuestas (1)
MJFcoNaN
el 6 de Abr. de 2022
A little modified code may work:
ind_less = cellfun(@(x)any(x<150, 'all'), DATA_A);
A_OUTPUT = NaN(length(DATA_A), 1);
A_OUTPUT(ind_less)=0;
A_OUTPUT(~ind_less)=1;
2 comentarios
MJFcoNaN
el 7 de Abr. de 2022
Why is there a cell array? The A_OUTPUT is a numerical vector, isn't it?
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!