1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
WRITTEN BY RAB.
DESOLN LISP CONTAINS A ROUTINE FOR SOLVING DIFFERENTIAL EQUATIONS
OR SYSTEMS OF THEM BY USING LAPLACE TRANSFORMS. THE CALL IS:
DESOLVE(EQ,VAR) OR DESOLVE([EQ1,...,EQN],[VAR1,...,VARN])
WHERE THE EQ'S ARE DIFFERENTIAL EQUATIONS IN THE DEPENDENT VARIABLES
VAR1,...,VARN. THE FUNCTIONAL RELATIONSHIPS MUST BE EXPLICITLY
INDICATED IN BOTH THE EQUATIONS AND THE VARIABLES, FOR EXAMPLE
(C1) 'DIFF(F,X,2)=SIN(X)+'DIFF(G,X);
(C2) 'DIFF(F,X)+X^2-F=2*'DIFF(G,X,2);
IS NOT IN THE PROPER FORMAT. THE CORRECT WAY IS:
(C3) 'DIFF(F(X),X,2)=SIN(X)+'DIFF(G(X),X);
(C4) 'DIFF(F(X),X)+X^2-F(X)=2*'DIFF(G(X),X,2);
THE QUOTES ARE NOT NECESSARY SINCE DIFF WILL RETURN THE NOUN FORMS ANYWAY.
THE CALL IS THEN DESOLVE([D3,D4],[F(X),G(X)]);
IF INITIAL CONDITIONS AT 0 ARE KNOWN, THEY SHOULD BE SUPPLIED BEFORE
CALLING DESOLVE BY USING ATVALUE.
EXAMPLE
(C5) 'DIFF(F(X),X)='DIFF(G(X),X)+SIN(X);
D D
(D5) -- F(X) = -- G(X) + SIN(X)
DX DX
(C6) 'DIFF(G(X),X,2)='DIFF(F(X),X)-COS(X);
2
D D
(D6) --- G(X) = -- F(X) - COS(X)
2 DX
DX
(C7) ATVALUE('DIFF(G(X),X),X=0,A);
(D7) A
(C8) ATVALUE(F(X),X=0,1);
(D8) 1
(C9) DESOLVE([D5,D6],[F(X),G(X)]);
X X
(D9) [F(X) = A %E - A + 1, G(X) = COS(X) + A %E - A + G(0) - 1]
/* VERIFICATION */
(C10) [D5,D6],D9,DIFF;
X X X X
(D10) [A %E = A %E , A %E - COS(X) = A %E - COS(X)]
|