From 138f77fe71e43adc24ecb030d73df81cc5c4eb7e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 4 Sep 2017 09:45:51 +0900 Subject: add ketpic --- .../ketpic/ketlib/ketpicscifiles6/Derivative.sci | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Derivative.sci (limited to 'texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Derivative.sci') diff --git a/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Derivative.sci b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Derivative.sci new file mode 100755 index 00000000..cbffc3d7 --- /dev/null +++ b/texmf-dist/scripts/ketpic/ketlib/ketpicscifiles6/Derivative.sci @@ -0,0 +1,64 @@ +// 09.10.04 +// 09.10.05 +// 09.10.06 +// 14.10.24 numderivative used after 5.5 + +function Out=Derivative(varargin) + Nargs=length(varargin); + Out=[]; + Fs=varargin(1); + Vv=varargin(2); + Np=3; + if type(Vv)==10 + Prstr=strsubst(Vv,'[','('); + Prstr=strsubst(Prstr,']',')'); + Tmp=part(Prstr,1); + if Tmp~='(' + Prstr='('+Prstr+')'; + end; + deff('Out=Tmpfun'+Prstr,'Out='+Fs); + Fs='Tmpfun'+Prstr; + Vv=varargin(Np); + Np=Np+1; + end; + Nd=[]; + if Np<=Nargs + Nd=varargin(Np); + end; + Js=mtlb_findstr(Fs,'('); + JL=mtlb_findstr(Fs,','); + Je=mtlb_findstr(Fs,')'); + Sep=[Js(1),JL,Je]; + Fse=Fs; + for I=1:length(Vv) + J1=Sep(I)+1; + J2=Sep(I+1)-1; + Tmp1=part(Fs,J1:J2); + Tmp2='X_'+string(I); + Fse=strsubst(Fse,Tmp1,Tmp2); + end; + function Ans=Tmpf(W) + X1=W(1); + if length(W)>1 + X2=W(2); + else; + X2=%inf; + end; + if length(W)>2 + X3=W(3); + else + X3=%inf; + end; + Tmp=Assign(Fse,'X_1',X1,'X_2',X2,'X_3',X3); + Ans=evstr(Tmp)'; + endfunction; + Tmp1=getversion("scilab"); + if Tmp1(1)*10+Tmp1(2)>=55 then + Out=numderivative(Tmpf,Vv')'; + else + Out=derivative(Tmpf,Vv')'; + end + if Nd~=[] + Out=Out(Nd,:) + end; +endfunction; -- cgit v1.2.3