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

1 次查看(过去 30 天)
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);

回答(2 个)

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

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by