MATLAB Answers

# Issues converting a Cell to a numerical array

26 views (last 30 days)
COLE ZESIGER on 25 Feb 2021
Commented: the cyclist on 25 Feb 2021
Hi, I am trying to get the sum of all the prime unique nummbers in cell. I am having trouble converting the cell to a numerical array so that I can use the sum and prime functions on my inputs. The inputs are normally formated as ({1, 3, 7, 7, 'a'}) and matlab ether does not recognize these values as nummbers or can not convert a cell that has both nummbers and letters into a numerical array. TO be specific I am looking for a way to remove the letter from the cell and covert the rest of the cell to an array that I can use mathmatical operations on.
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Answers (1)

the cyclist on 25 Feb 2021
Edited: the cyclist on 25 Feb 2021
Here is one way that may work for you:
C = {1, 3, 7, 7, 'a'};
N = cell2mat(C(cellfun(@isnumeric,C)))
N = 1×4
1 3 7 7
##### 4 CommentsShowHide 3 older comments
the cyclist on 25 Feb 2021
C = {1, 3, 7, 7, 'a'};
N = cell2mat(C(cellfun(@isnumeric,C)));
primeN = N(isprime(N))
primeN = 1×3
3 7 7
lists only the prime numbers from C. You mentioned needing unique values somehow, so you might also need the unique function.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!