Post Reply 
Fractional derivative
10-31-2022, 12:21 PM
Post: #5
RE: Fractional derivative
(10-29-2022 04:17 PM)Albert Chan Wrote:  
Quote:fnz:=(x)->fnz(purge(x));

What does fnz(x) do?
Recursion without a base case ... does it cause infinite recursions?

Also, why purge(x)?
It seems x is function argument, thus already local variable.

In the end I prefer to use the "assume()" statement outside the program. Whenever I want to calculate the fractional derivative, on the "cas" screen I write: assume (t>0 and t>x), and the program works fine.

Code:

#cas
DerFraz(ff,pp,aa):=
//ff --> (x)->funzione
//aa: estremo inferiore dell'intergrale;
//pp grado di derivazione
BEGIN
LOCAL kappa, fnz, uu, Fnz, presenza,
posizionee;
uu:=lname(ff)(1);
kappa:=MAX(0,CEILING(pp));
presenza:=lvar(ff(uu));
posizionee:=POS(presenza,exp(x));
IF posizionee≠0 THEN
ff:=(uu)->subst(ff(uu),exp(uu),
exp(uu-t)*exp(t));
END;
IF type(pp)==DOM_INT AND SIGN(pp)==1 THEN
kappa:=pp+1;
fnz:=((1/Gamma(kappa-pp))*
int((t-x)^(kappa-pp-1)*ff(x),x,aa,t));
Fnz:=(t)->fnz;
ELSE
IF SIGN(pp)≠0 THEN
fnz:=(1/Gamma(kappa-pp))*
int((t-x)^(kappa-pp-1)*ff(x),x,aa,t);
Fnz:=(t)->fnz;
END;
END;
IF SIGN(pp)==−1 THEN
RETURN subst(Fnz(t),t,uu);
ELSE
IF pp==0 THEN
RETURN ff(uu);
ELSE
RETURN subst(diff(Fnz(t),t,kappa),t,uu);
END;
END;
END;
#end


Attached File(s) Thumbnail(s)
   
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Fractional derivative - robmio - 10-28-2022, 11:35 AM
RE: Fractional derivative - robmio - 10-29-2022, 03:40 PM
RE: Fractional derivative - Albert Chan - 10-29-2022, 04:17 PM
RE: Fractional derivative - robmio - 10-29-2022, 07:05 PM
RE: Fractional derivative - robmio - 10-31-2022 12:21 PM



User(s) browsing this thread: 3 Guest(s)