Need help with factorizing array of numbers
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi there,
say you have an array of numbers x =[94 89 124 120 150] how can i find factors of this array, i mean break each number in the array to its primes. i know the function is factor(x). but it only applies to a scalar value not an array. i tried putting it on a loop
x =[94 89 124 120 150] ;
for i = 1:length(x)
facts_x(i) = factor(x(i))
end
but this i realized gives me an error because the loop runs only in the length of x the facts_x ends up bigger because factor answer is stored as an array. please help. thanks SN
1 commentaire
Réponse acceptée
Azzi Abdelmalek
le 26 Fév 2013
Modifié(e) : Azzi Abdelmalek
le 26 Fév 2013
You need to use a cell array to store the result for each number, because they are not the same length
x =[94 89 124 120 150] ;
out=arrayfun(@factor,x,'un',0)
out{:},
5 commentaires
Jan
le 27 Fév 2013
@Azzi: Do you meant me with "don't add an asnwer as a comment"? Or did you meant the OP and "don't add a comment as an answer" instead?
I've added my code as comment, because it does exactly the same as your asnwer. Therefore this is nothing new.
Azzi Abdelmalek
le 27 Fév 2013
Jan, sorry for the confusion, I should have mentioned the name of the OP. I meant: don't add a comment as an answer.
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!