I want to calculate factorial of a large data set containing some NaN in between the data.
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Abhijeet Kumar
el 3 de Dic. de 2018
Comentada: madhan ravi
el 4 de Dic. de 2018
example : data set
7
8
95
210
85
NaN
NaN
52
NaN
0 comentarios
Respuesta aceptada
Guillaume
el 3 de Dic. de 2018
Editada: Guillaume
el 3 de Dic. de 2018
I would assume you want an output the same size as the input, in which case:
V = [7 8 95 210 85 NaN NaN 52 NaN]' %demo data
result = nan(size(v));
result(~isnan(v)) = factorial(v(~isnan(v)))
As documented factorial is only exact for input less than or equal to 21. factorial([95, 85, 52]) gives you an inaccurate result but with the correct order of magnitude. factorial(210) is far beyound what can be stored as double precision. Anything above factorial(171) is too big.
Más respuestas (1)
madhan ravi
el 3 de Dic. de 2018
a=[7
8
95
210
85
NaN
NaN
52
NaN]
factorial(a(~isnan(a))) % why not this?
2 comentarios
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!