| [dqwgtsresult,x,a,b,alfa,beta,integr]=dqwgts(x,a,b,alfa,beta,integr); |
function [dqwgtsresult,x,a,b,alfa,beta,integr]=dqwgts(x,a,b,alfa,beta,integr);
dqwgtsresult=[];
persistent bmx xma ;
;
%***BEGIN PROLOGUE DQWGTS
%***SUBSIDIARY
%***PURPOSE This function subprogram is used together with the
% routine DQAWS and defines the WEIGHT function.
%***LIBRARY SLATEC
%***TYPE doubleprecision (QWGTS-S, DQWGTS-D)
%***KEYWORDS ALGEBRAICO-LOGARITHMIC, END POINT SINGULARITIES,
% WEIGHT FUNCTION
%***AUTHOR Piessens, Robert
% Applied Mathematics and Programming Division
% K. U. Leuven
% de Doncker, Elise
% Applied Mathematics and Programming Division
% K. U. Leuven
%***SEE ALSO DQK15W
%***ROUTINES CALLED (NONE)
%***REVISION HISTORY (YYMMDD)
% 810101 DATE WRITTEN
% 890531 Changed all specific intrinsics to generic. (WRB)
% 890531 REVISION DATE from Version 3.2
% 891214 Prologue converted to Version 4.0 format. (BAB)
% 900328 Added TYPE section. (WRB)
%***end PROLOGUE DQWGTS
%
if isempty(bmx), bmx=0; end;
if isempty(xma), xma=0; end;
%***FIRST EXECUTABLE STATEMENT DQWGTS
xma = x - a;
bmx = b - x;
dqwgtsresult = xma.^alfa.*bmx.^beta;
if( integr==1 )
elseif( integr==3 ) ;
dqwgtsresult = dqwgtsresult.*log(bmx);
elseif( integr==4 ) ;
dqwgtsresult = dqwgtsresult.*log(xma).*log(bmx);
else;
dqwgtsresult = dqwgtsresult.*log(xma);
end;
csnil=dbstack(1); csnil=csnil(1).name(1)~='@';
if csnil&&~isempty(inputname(1)), assignin('caller','FUntemp',x); evalin('caller',[inputname(1),'=FUntemp;']); end
if csnil&&~isempty(inputname(6)), assignin('caller','FUntemp',integr); evalin('caller',[inputname(6),'=FUntemp;']); end
if csnil&&~isempty(inputname(5)), assignin('caller','FUntemp',beta); evalin('caller',[inputname(5),'=FUntemp;']); end
if csnil&&~isempty(inputname(3)), assignin('caller','FUntemp',b); evalin('caller',[inputname(3),'=FUntemp;']); end
if csnil&&~isempty(inputname(4)), assignin('caller','FUntemp',alfa); evalin('caller',[inputname(4),'=FUntemp;']); end
if csnil&&~isempty(inputname(2)), assignin('caller','FUntemp',a); evalin('caller',[inputname(2),'=FUntemp;']); end
end
%DECK DRC3JJ
|
|