Min Returns Value That is Not in List

1 Ansicht (letzte 30 Tage)
Paul Huter
Paul Huter am 25 Sep. 2014
Kommentiert: Paul Huter am 25 Sep. 2014
I have a cell array and I am trying to find the min (and max) value. The numbers in the cell array go from 2 to over 200 (but not necessarily all numbers). However, when I try to find the min (using "cellfun" or "cat2mat"), I get 48 as the min and 57 as the max. Neither 48 nor 57 is in my list of values.
Any ideas on what the issue is?
  2 Kommentare
Guillaume
Guillaume am 25 Sep. 2014
Can you give an example of your cell array?
Paul Huter
Paul Huter am 25 Sep. 2014
It is a single column with about 226 values.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 25 Sep. 2014
Paul - are you somehow converting your numbers to strings? Try the executing the following statements in the Command Window
min('104')
ans =
48
and
max('191')
ans =
57
The ASCII code for zero is 48, and the ASCII code for 9 is 57. What is the line of code you are using with cellfun?
  2 Kommentare
John D'Errico
John D'Errico am 25 Sep. 2014
Bearbeitet: John D'Errico am 25 Sep. 2014
+1. I would bet a decent sum of money that you got it right. The clue being the statement that the cell array contains "not necessarily all numbers". So it must be a cell array containing strings. Just because something LOOKS like a number does not mean it is stored as such, or that it would be interpreted as a number by MATLAB.
Paul Huter
Paul Huter am 25 Sep. 2014
That was the path I was heading down after I posted this. I got things working with min(cellfun(@str2num, ARRAY)).
Thank you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by