필터 지우기
필터 지우기

Min Returns Value That is Not in List

조회 수: 1 (최근 30일)
Paul Huter
Paul Huter 2014년 9월 25일
댓글: Paul Huter 2014년 9월 25일
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
Guillaume
Guillaume 2014년 9월 25일
Can you give an example of your cell array?
Paul Huter
Paul Huter 2014년 9월 25일
It is a single column with about 226 values.

댓글을 달려면 로그인하십시오.

채택된 답변

Geoff Hayes
Geoff Hayes 2014년 9월 25일
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
John D'Errico
John D'Errico 2014년 9월 25일
편집: John D'Errico 2014년 9월 25일
+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 2014년 9월 25일
That was the path I was heading down after I posted this. I got things working with min(cellfun(@str2num, ARRAY)).
Thank you.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

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