Log of factorial of large numbers

版本 1.0.0.0 (3.6 KB) 作者: Yvan Lengwiler
computes log10 of the factorial
1.7K 次下载
更新时间 2007/5/10

查看许可证

This function computes log10 of the factorial. Unlike FACTORIAL, it is not limited to arguments less than 171.

Two methods are implemented, one based on the gamma function (thank you, John), as well as a direct sum. The user can choose between the two methods. The gamma method is superior and is therefore the default choice.

The function returns the log10 of the factorial, the mantissa and the exponent of the factorial, as well as a string representing the factorial.

For instance
[L,M,X,S] = logfactorial(1E6)
yields
L = 5.5657e+006 % log10(N!)
M = 8.2639 % mantissa
X = 5565708 % exponent
S = '8.26393e+5565708' % N! as a string

The function accepts scalars or arrays as inputs.

LOGFACTORIAL is the result of a seqeunce of improvements that were suggested by John D'Errico and Urs Schwarz in their discussion of another FEX file, LARGEFACTORIAL. LOGFACTORIAL is preferrable for two reasons:

1. The gamma-based code is much faster than the direct sum code, which is the only one implemented in LARGEFACTORIAL.

2. LARGEFACTORIAL returns a string as the first argument, which is not very convenient to perform further computations. LOGFACTORIAL returns the log10 as the first argument, so for instance 10.^logfactorial(...) does make sense.

引用格式

Yvan Lengwiler (2024). Log of factorial of large numbers (https://www.mathworks.com/matlabcentral/fileexchange/14920-log-of-factorial-of-large-numbers), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R14SP3
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Industrial Statistics 的更多信息
致谢

参考作品: Factorial of large numbers

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.0.0.0

More descriptive title. Correction of typo in the description.