MATLAB Answers

Issues converting a Cell to a numerical array

26 views (last 30 days)
COLE ZESIGER
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.

Answers (1)

the cyclist
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 Comments
the cyclist
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!