How to check if all the data in the cell array are the same?
47 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
There is a variable called 'data'
in a cell array of 1x10
{100} {100} {100} {100} {100} {100} {100} {100} {100} {100} 100 has the same value.
How can I return these 10 data to True or False?
isequal(data(1),data(2),data(3),data(4),data(5),data(6),data(7),data(8),data(9),data(10))
Instead of writing down all the elements like this, I want to make sure that all the data in th
e cell array has the same value even if the size of the cell array changes.
0 comentarios
Respuestas (3)
Stephen23
el 21 de Mzo. de 2022
Editada: Stephen23
el 21 de Mzo. de 2022
The simple and very efficient MATLAB approach is to use a comma-separated list:
Avoid approaches which join the data together (e.g. CELL2MAT) or that change data type (e.g. to STRING): they are inefficient, fragile, and will fail for arrays of incompatible sizes, types, or due to loss of information when converting type.
C = repmat({10},1,9)
X = isequal(C{:})
C{1} = 10+eps(10)
X = isequal(C{:})
0 comentarios
Chunru
el 21 de Mzo. de 2022
c = {100, 100, 100, 200} % cell array
cm = cell2mat(c);
same = all(cm == cm(1))
0 comentarios
Ver también
Categorías
Más información sobre Cell Arrays 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!