Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

gamma

Gamma 函数

说明

示例

Y = gamma(X) 返回在 X 的元素处计算的 gamma 函数值。

示例

全部折叠

使用标量和向量计算 gamma 函数。

计算 Γ(0.5),它等于 π

y = gamma(0.5)
y = 1.7725

计算 gamma 函数在 [-3.5 3.5] 之间的几个值。

x = -3.5:3.5;
y = gamma(x)
y = 1×8

    0.2701   -0.9453    2.3633   -3.5449    1.7725    0.8862    1.3293    3.3234

绘制 gamma 函数及其倒数函数。

使用 fplot 绘制 gamma 函数及其倒数函数。gamma 函数对于正参数快速增加,并且在所有负整数参数(以及 0)处具有简单的极点。该函数没有任何零点。相反,gamma 倒数函数在所有负整数参数(以及 0)处的值为零。

fplot(@gamma)
hold on
fplot(@(x) 1./gamma(x))
ylim([-10 10])
legend('\Gamma(x)','1/\Gamma(x)')
hold off
grid on

Figure contains an axes object. The axes object contains 2 objects of type functionline. These objects represent \Gamma(x), 1/\Gamma(x).

输入参数

全部折叠

输入数组,指定为标量、向量、矩阵或多维数组。X 的元素必须为实数。

数据类型: single | double

局限性

  • 对于 doublesingle 数据类型,对于所有大于 realmaxrealmax('single') 的值,gamma 函数返回 Inf。正整数的饱和阈值为 gamma(172)gamma(single(36)),其中计算的 gamma 函数大于最大可表示值。

详细信息

全部折叠

gamma 函数

gamma 函数由以下积分为实数 x > 0 定义:

Γ(x)=0ettx1dt

gamma 函数对 factorial 函数进行插值。对于整数 n

gamma(n+1) = factorial(n) = prod(1:n)

gamma 函数的域通过解析延拓延伸到负实数,在负整数处具有简单的极点。这种扩展源于以下递归关系的重复应用:

Γ(n1)=Γ(n)n1.

算法

gamma 的计算基于 [1] 中介绍的算法。

参考

[1] Cody, J., An Overview of Software Development for Special Functions, Lecture Notes in Mathematics, 506, Numerical Analysis Dundee, G. A. Watson (ed.), Springer Verlag, Berlin, 1976.

[2] Abramowitz, M. and I.A. Stegun, Handbook of Mathematical Functions, National Bureau of Standards, Applied Math. Series #55, Dover Publications, 1965, sec. 6.5.

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出