extracting row and column from a cell which contains numbers and strings

1 visualización (últimos 30 días)
Catherine Branter
Catherine Branter el 20 de Nov. de 2018
Editada: Jan el 20 de Nov. de 2018
I have a 120x11 cell called "mymatrix" and I am trying to extract the data from the row which has the minimum value in column 11
I can get the minimum value of row 11 by converting the cell to a matrix, but then I can't get the rest of the info for that row (from columns 1-10 because i get an error
errorvals = cell2mat(mymatrix(:,11))
minoferrorvals = min(errorvals)
[rowofmin colofmin] = find(mymatrix == minoferrorvals);
The error is this:
Undefined function 'eq' for input arguments of type 'cell'.
Error in work (line 137)
[rowofmin colofmin] = find(mymatrix == minoferrorvals);

Respuestas (2)

Stephen23
Stephen23 el 20 de Nov. de 2018
Editada: Stephen23 el 20 de Nov. de 2018
You don't need to use find, just get the second output from min:
errorvals = cell2mat(mymatrix(:,11))
[minoferrorvals,idx] = min(errorvals)
mymatrix(idx,:)

Jan
Jan el 20 de Nov. de 2018
Editada: Jan el 20 de Nov. de 2018
errorvals = cell2mat(mymatrix(:, 11))
[~, minIndex] = min(errorvals);
result = mymatrix(minIndex, 1:10);
Do you have a good reason for working with a cell?

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by