📄 ghgf.m
字号:
function Y = ghgf(p,q,a,c,x,tol)
%GHGF Generalized Hyper Geometric Function
%
% SUPPORT FILE for evaluation of many special mathematical functions
% SEE for example the m-files: GM, SI, SX, CX etc.
% ADSP Toolbox: Version 2.0
% For use with "Analog and Digital Signal Processing", 2nd Ed.
% Published by PWS Publishing Co.
%
% Ashok Ambardar, EE Dept. MTU, Houghton, MI 49931, USA
% http://www.ee.mtu/faculty/akambard.html
% e-mail: akambard@mtu.edu
% Copyright (c) 1998
%REF: "A Compact Mathematical Function Package"
% Australian Computer Journal v16, Aug.1984
if nargin==0,help ghgf,return,end
if nargin<6,tol=2e-16;end
%vx=matverch;
%if vx < 5
%if exist('ghgff')==3,Y = eval('ghgff(p,q,a,c,x,tol)');return,end
%end
[m,n]=size(x);Y=zeros(m,n);
pqm=max(p,q);xa=a;xc=c;kmax=2000;
aa=[ones(1,p) zeros(1,pqm-p)];
cc=[ones(1,q) zeros(1,pqm-q)];
for l=1:m*n
a=xa(1,1:pqm);c=xc(1,1:pqm);y=1;sum=1;k=1;cv=0;last_y=1;
while ((k <= kmax) & (abs(y) > tol))
for i=1:pqm,y= y* a(i)/c(i);end
y=y*x(l)/k;new_y=abs(y);if new_y <= last_y,cv=1;end
if ((new_y > last_y) & (cv == 1)),y=0;end
sum=sum+y;last_y=abs(y);k=k+1;a=a+aa;c=c+cc;
end
Y(l)= sum;
if k >=kmax,disp(['Warning: No convergence for x(' num2str(l) ')']),end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -