www.gusucode.com > symbolic工具箱matlab源码程序 > symbolic/@sym/hypergeom.m

    function h = hypergeom(n,d,z)
% HYPERGEOM  Generalized hypergeometric function.
% HYPERGEOM(N, D, Z) is the generalized hypergeometric function F(N, D, Z),
% also known as the Barnes extended hypergeometric function and denoted by
% jFk where j = length(N) and k = length(D).   For scalar a, b and c,
% HYPERGEOM([a,b],c,z) is the Gauss hypergeometric function 2F1(a,b;c;z).
%
% The definition by a formal power series is
%    hypergeom(N,D,z) = sum(k=0:inf, (C(N,k)/C(D,k))*z^k/k!) where
%    C(V,k) = prod(i=1:length(V), gamma(V(i)+k)/gamma(V(i)))
% Either of the first two arguments may be a vector providing the coefficient
% parameters for a single function evaluation.  If the third argument is a
% vector, the function is evaluated pointwise.  The result is numeric if all
% the arguments are numeric and symbolic if any of the arguments is symbolic.
% See Abramowitz and Stegun, Handbook of Mathematical Functions, chapter 15.
%
% Examples:
%    syms a z
%    hypergeom([],[],z)             returns   exp(z)
%    hypergeom(1,[],z)              returns   -1/(-1+z)
%    hypergeom(1,2,z)               returns   (exp(z)-1)/z
%    hypergeom([1,2],[2,3],z)       returns   -2*(-exp(z)+1+z)/z^2
%    hypergeom(a,[],z)              returns   (1-z)^(-a)
%    hypergeom([],1,-z^2/4)         returns   besselj(0,z)
%    hypergeom([-n, n],1/2,(1-z)/2) returns   T(n,z)    where
%    T(n,z) = expand(cos(n*acos(z))) is the n-th Chebyshev polynomial.

%   Copyright 2013 The MathWorks, Inc.

args = privResolveArgs(z, n, d);
hSym = mupadmex('symobj::map', args{1}.s, 'symobj::hypergeom',...
    args{2}.s, args{3}.s);
h = privResolveOutput(hSym, args{1});
end