Conversion of cell element to double

조회 수: 1 (최근 30일)
Digvijay Rawat
Digvijay Rawat 2015년 12월 28일
댓글: John Manalo 2020년 5월 28일
Hello.
I want to convert a cell element to double array element. I know the command to do this is str2double but the problem is that the cell element has a number along with a letter that I want to omit. I will try to explain it through the following example.
Cell element: '123456789 a'
Double element (by using str2double): NaN
I want to retain just the numeric part of the cell element. So I would want 123456789 as the double element in the above example. Can anyone please help as to how to go about this?

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2015년 12월 28일
a={'123456789 a' '455'}
b=regexp(a,'\d+','match')
c=cellfun(@(x) str2double(x{1}),b)
  댓글 수: 3
Digvijay Rawat
Digvijay Rawat 2015년 12월 28일
Hey I noticed right now that this piece of code works only for integer values, it simply omits decimal places. I tried changing the /d to /g and /f but then it gave an error. Could you please suggest what to do if the values are in decimals?
John Manalo
John Manalo 2020년 5월 28일
just use cell2mat function

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

추가 답변 (1개)

Jan
Jan 2015년 12월 28일
Or:
a = {'123456789 a' '455'}
c = cellfun(@(x) sscanf(x{1}, '%g', 1))

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by