Issues converting a Cell to a numerical array
Ältere Kommentare anzeigen
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.
Antworten (1)
the cyclist
am 25 Feb. 2021
Bearbeitet: the cyclist
am 25 Feb. 2021
Here is one way that may work for you:
C = {1, 3, 7, 7, 'a'};
N = cell2mat(C(cellfun(@isnumeric,C)))
4 Kommentare
COLE ZESIGER
am 25 Feb. 2021
the cyclist
am 25 Feb. 2021
The documentation for primes indicates that it expects a scalar (not vector) input, and then reports all primes up to and including it.
isprime(N)
will tell you whether each element is prime.
COLE ZESIGER
am 25 Feb. 2021
C = {1, 3, 7, 7, 'a'};
N = cell2mat(C(cellfun(@isnumeric,C)));
primeN = N(isprime(N))
lists only the prime numbers from C. You mentioned needing unique values somehow, so you might also need the unique function.
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!