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

1 visualizzazione (ultimi 30 giorni)
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);

Risposte (2)

Stephen23
Stephen23 il 20 Nov 2018
Modificato: Stephen23 il 20 Nov 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 il 20 Nov 2018
Modificato: Jan il 20 Nov 2018
errorvals = cell2mat(mymatrix(:, 11))
[~, minIndex] = min(errorvals);
result = mymatrix(minIndex, 1:10);
Do you have a good reason for working with a cell?

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by