Example 5.8 

> restart;
 

> with(linalg):with(plots):
 

> ge1:=diff(u1(x,t),t)=diff(u1(x,t),x$2)-Phi^2*u1(x,t);
 

diff(u1(x, t), t) = `+`(diff(diff(u1(x, t), x), x), `-`(`*`(`^`(Phi, 2), `*`(u1(x, t))))) (1)
 

> ge2:=diff(u2(x,t),t)=diff(u2(x,t),x$2)-Phi^2*u2(x,t);
 

diff(u2(x, t), t) = `+`(diff(diff(u2(x, t), x), x), `-`(`*`(`^`(Phi, 2), `*`(u2(x, t))))) (2)
 

> bc1:=u1(x,t)-1;
 

`+`(u1(x, t), `-`(1)) (3)
 

> bcalpha:=diff(u1(x,t),x)=diff(u2(x,t),x);
 

diff(u1(x, t), x) = diff(u2(x, t), x) (4)
 

> bc2:=diff(u2(x,t),x);
 

diff(u2(x, t), x) (5)
 

> IC1:=u1(x,0)=0;
 

u1(x, 0) = 0 (6)
 

> IC2:=u2(x,0)=0;
 

u2(x, 0) = 0 (7)
 

The boundary condition u1(alpha,t) = u2(alpha,t) is satisfied by default. 

Let N and M be the number of node points in region 1 and region 2 respetively. 

> N:=5;
 

5 (8)
 

> M:=5;
 

5 (9)
 

> alpha:=0.25;
 

.25 (10)
 

> Phi:=5;
 

5 (11)
 

> dydxf:=1/2*(-u[2](t)-3*u[0](t)+4*u[1](t))/h1;
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(`-`(u[2](t)), `-`(`*`(3, `*`(u[0](t)))), `*`(4, `*`(u[1](t)))))), `*`(h1))) (12)
 

> dydxb:=1/2*(u[N+M](t)+3*u[N+M+2](t)-4*u[N+M+1](t))/h2;
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[10](t), `*`(3, `*`(u[12](t))), `-`(`*`(4, `*`(u[11](t))))))), `*`(h2))) (13)
 

> dydxb2:=1/2*(u[N-1](t)+3*u[N+1](t)-4*u[N](t))/h1;
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[4](t), `*`(3, `*`(u[6](t))), `-`(`*`(4, `*`(u[5](t))))))), `*`(h1))) (14)
 

> dydxf2:=1/2*(-u[N+3](t)-3*u[N+1](t)+4*u[N+2](t))/h2;
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(`-`(u[8](t)), `-`(`*`(3, `*`(u[6](t)))), `*`(4, `*`(u[7](t)))))), `*`(h2))) (15)
 

The first and second derivatives are in the governing equation are converted to finite difference form as: 

> dydx:=piecewise(i<N+1,1/2/h1*(u[m+1](t)-u[m-1](t)),i>N+1,1/2/h2*(u[m+1](t)-u[m-1](t)));
 

piecewise(`<`(i, 6), `+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[`+`(m, 1)](t), `-`(u[`+`(m, `-`(1))](t))))), `*`(h1))), `<`(6, i), `+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[`+`(m, 1)](t), `-`(u[`+`(m, `-`(1))](t))))), `... (16)
 

> d2ydx2:=piecewise(i<N+1,1/h1^2*(u[m-1](t)-2*u[m](t)+u[m+1](t)),i>N+1,1/h2^2*(u[m-1](t)-2*u[m](t)+u[m+1](t)));
 

piecewise(`<`(i, 6), `/`(`*`(`+`(u[`+`(m, `-`(1))](t), `-`(`*`(2, `*`(u[m](t)))), u[`+`(m, 1)](t))), `*`(`^`(h1, 2))), `<`(6, i), `/`(`*`(`+`(u[`+`(m, `-`(1))](t), `-`(`*`(2, `*`(u[m](t)))), u[`+`(m, ... (17)
 

> bc1:=subs(diff(u1(x,t),x)=dydxf,u1(x,t)=u[0](t),x=0,bc1);
 

`+`(u[0](t), `-`(1)) (18)
 

> bc2:=subs(diff(u2(x,t),x)=dydxb,u2(x,t)=u[N+M+2](t),bc2);
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[10](t), `*`(3, `*`(u[12](t))), `-`(`*`(4, `*`(u[11](t))))))), `*`(h2))) (19)
 

> bcalpha:=subs(diff(u1(x,t),x)=dydxb2,diff(u2(x,t),x)=dydxf2,u1(x,t)=u[N+1](t),u2(x,t)=u[N+1](t),bcalpha);
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[4](t), `*`(3, `*`(u[6](t))), `-`(`*`(4, `*`(u[5](t))))))), `*`(h1))) = `+`(`/`(`*`(`/`(1, 2), `*`(`+`(`-`(u[8](t)), `-`(`*`(3, `*`(u[6](t)))), `*`(4, `*`(u[7](t)))))),... (20)
 

> eq[0]:=bc1;
 

`+`(u[0](t), `-`(1)) (21)
 

> eq[N+1]:=bcalpha;
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[4](t), `*`(3, `*`(u[6](t))), `-`(`*`(4, `*`(u[5](t))))))), `*`(h1))) = `+`(`/`(`*`(`/`(1, 2), `*`(`+`(`-`(u[8](t)), `-`(`*`(3, `*`(u[6](t)))), `*`(4, `*`(u[7](t)))))),... (22)
 

> eq[N+M+2]:=bc2;
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(u[10](t), `*`(3, `*`(u[12](t))), `-`(`*`(4, `*`(u[11](t))))))), `*`(h2))) (23)
 

When the governing equation is converted to finite difference form x has to be defined according to region 1 and region 2.  The finite difference equations for region 1 are: 

> for i from 1 to N do eq[i]:=diff(u[i](t),t)= subs(diff(u1(x,t),x$2) = subs(m=i,d2ydx2),diff(u1(x,t),x) = subs(m=i,dydx),u1(x,t)=u[i](t),x=i*h1,rhs(ge1));od;
 

 

 

 

 

diff(u[1](t), t) = `+`(`/`(`*`(`+`(u[0](t), `-`(`*`(2, `*`(u[1](t)))), u[2](t))), `*`(`^`(h1, 2))), `-`(`*`(25, `*`(u[1](t)))))
diff(u[2](t), t) = `+`(`/`(`*`(`+`(u[1](t), `-`(`*`(2, `*`(u[2](t)))), u[3](t))), `*`(`^`(h1, 2))), `-`(`*`(25, `*`(u[2](t)))))
diff(u[3](t), t) = `+`(`/`(`*`(`+`(u[2](t), `-`(`*`(2, `*`(u[3](t)))), u[4](t))), `*`(`^`(h1, 2))), `-`(`*`(25, `*`(u[3](t)))))
diff(u[4](t), t) = `+`(`/`(`*`(`+`(u[3](t), `-`(`*`(2, `*`(u[4](t)))), u[5](t))), `*`(`^`(h1, 2))), `-`(`*`(25, `*`(u[4](t)))))
diff(u[5](t), t) = `+`(`/`(`*`(`+`(u[4](t), `-`(`*`(2, `*`(u[5](t)))), u[6](t))), `*`(`^`(h1, 2))), `-`(`*`(25, `*`(u[5](t))))) (24)
 

eq[N+1] is given the boundary condition at the interface between region 1 and region 2. The finite difference equations for region 2 are: 

> for i from N+2 to N+M+1 do eq[i]:=diff(u[i](t),t)= subs(diff(u2(x,t),x$2) = subs(m=i,d2ydx2),diff(u2(x,t),x) = subs(m=i,dydx),u2(x,t)=u[i](t),x=alpha+(i-N-1)*h2,rhs(ge2));od;
 

 

 

 

 

diff(u[7](t), t) = `+`(`/`(`*`(`+`(u[6](t), `-`(`*`(2, `*`(u[7](t)))), u[8](t))), `*`(`^`(h2, 2))), `-`(`*`(25, `*`(u[7](t)))))
diff(u[8](t), t) = `+`(`/`(`*`(`+`(u[7](t), `-`(`*`(2, `*`(u[8](t)))), u[9](t))), `*`(`^`(h2, 2))), `-`(`*`(25, `*`(u[8](t)))))
diff(u[9](t), t) = `+`(`/`(`*`(`+`(u[8](t), `-`(`*`(2, `*`(u[9](t)))), u[10](t))), `*`(`^`(h2, 2))), `-`(`*`(25, `*`(u[9](t)))))
diff(u[10](t), t) = `+`(`/`(`*`(`+`(u[9](t), `-`(`*`(2, `*`(u[10](t)))), u[11](t))), `*`(`^`(h2, 2))), `-`(`*`(25, `*`(u[10](t)))))
diff(u[11](t), t) = `+`(`/`(`*`(`+`(u[10](t), `-`(`*`(2, `*`(u[11](t)))), u[12](t))), `*`(`^`(h2, 2))), `-`(`*`(25, `*`(u[11](t))))) (25)
 

> u[0](t):=(solve(eq[0],u[0](t)));
 

1 (26)
 

> u[N+1](t):=solve(eq[N+1],u[N+1](t));
 

`+`(`-`(`/`(`*`(`/`(1, 3), `*`(`+`(`*`(h2, `*`(u[4](t))), `-`(`*`(4, `*`(h2, `*`(u[5](t))))), `*`(h1, `*`(u[8](t))), `-`(`*`(4, `*`(h1, `*`(u[7](t)))))))), `*`(`+`(h2, h1))))) (27)
 

> u[N+M+2](t):=solve(eq[N+M+2],u[N+M+2](t));
 

`+`(`-`(`*`(`/`(1, 3), `*`(u[10](t)))), `*`(`/`(4, 3), `*`(u[11](t)))) (28)
 

> for i from 1 to N do eq[i]:=eval(eq[i]):od:for i from N+2 to N+M+1 do eq[i]:=eval(eq[i]);od:
 

> eqs:=[seq(rhs(eq[j]),j=1..N),seq(rhs(eq[N+1+j]),j=1..M)]:
 

> Y:=[seq(u[i](t),i=1..N),seq(u[N+1+i](t),i=1..M)];
 

[u[1](t), u[2](t), u[3](t), u[4](t), u[5](t), u[7](t), u[8](t), u[9](t), u[10](t), u[11](t)] (29)
 

> A:=genmatrix(eqs,Y,'b1'):
 

> b:=matrix(N+M,1):for i to N+M do b[i,1]:=-eval(b1[i]);od:evalm(b);
 

array( 1 .. 10, 1 .. 1, [( 5, 1 ) = 0, ( 9, 1 ) = 0, ( 7, 1 ) = 0, ( 1, 1 ) = `/`(1, `*`(`^`(h1, 2))), ( 6, 1 ) = 0, ( 8, 1 ) = 0, ( 4, 1 ) = 0, ( 3, 1 ) = 0, ( 10, 1 ) = 0, ( 2, 1 ) = 0 ] ) (30)
 

> h1:=eval(alpha/(N+1));h2:=eval((1-alpha)/(M+1));
 

 

0.4166666667e-1
.1250000000 (31)
 

> A:=map(eval,A):
 

> if N+M >4 then A:=map(evalf,A);end:
 

> mat:=exponential(A,t):
 

> mat:=map(evalf,mat):
 

> Y0:=matrix(N+M,1):for i from 1 to N+M do Y0[i,1]:=0;od:evalm(Y0):
 

> s1:=evalm(Y0+inverse(A)&*b):
 

> Y:=evalm(mat&*s1-inverse(A)&*b):
 

> Y:=map(simplify,Y):
 

> for i from 1 to N do u[i](t):=evalf((Y[i,1]));od:
 

> for i from N+2 to N+M+1 do u[i](t):=evalf((Y[i-1,1]));od:
 

> for i from 0 to N+M+2 do u[i](t):=eval(u[i](t));od;
 

 

 

 

 

 

 

 

 

 

 

 

 

1
`+`(`-`(`*`(0.3091209639e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `-`(`*`(.1095917467, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `-`(`*`(.1971320872, `*`(exp(`+`(`-`(`*`(992.4793230, ...
`+`(`-`(`*`(0.3091209639e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `-`(`*`(.1095917467, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `-`(`*`(.1971320872, `*`(exp(`+`(`-`(`*`(992.4793230, ...
`+`(`-`(`*`(0.3091209639e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `-`(`*`(.1095917467, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `-`(`*`(.1971320872, `*`(exp(`+`(`-`(`*`(992.4793230, ...
`+`(`-`(`*`(0.3091209639e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `-`(`*`(.1095917467, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `-`(`*`(.1971320872, `*`(exp(`+`(`-`(`*`(992.4793230, ...
`+`(`*`(0.5145073177e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(0.8578636168e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.6315086679e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`*`(0.5145073177e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(0.8578636168e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.6315086679e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`*`(0.5145073177e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(0.8578636168e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.6315086679e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`*`(0.5145073177e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(0.8578636168e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.6315086679e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`-`(`*`(0.547235584e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.4243976573e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(.1769018551, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t)...
`+`(`-`(`*`(0.547235584e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.4243976573e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(.1769018551, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t)...
`+`(`-`(`*`(0.547235584e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.4243976573e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(.1769018551, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t)...
`+`(`-`(`*`(0.547235584e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.4243976573e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(.1769018551, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t)...
`+`(`*`(0.3963228879e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(.1190074386, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(.1198211774, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))...
`+`(`*`(0.3963228879e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(.1190074386, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(.1198211774, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))...
`+`(`*`(0.3963228879e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(.1190074386, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(.1198211774, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))...
`+`(`*`(0.3963228879e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(.1190074386, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(.1198211774, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))...
`+`(`-`(`*`(0.1124123932e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.5071702281e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1385173191, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.1124123932e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.5071702281e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1385173191, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.1124123932e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.5071702281e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1385173191, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.1124123932e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.5071702281e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1385173191, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.2092214010e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.7930709060e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1641949933, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.2092214010e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.7930709060e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1641949933, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.2092214010e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.7930709060e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1641949933, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.2092214010e-1, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.7930709060e-1, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(.1641949933, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.676052988e-3, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.3447900844e-2, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.1259146322e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`*`(0.676052988e-3, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.3447900844e-2, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.1259146322e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`*`(0.676052988e-3, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.3447900844e-2, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.1259146322e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`*`(0.676052988e-3, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.3447900844e-2, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.1259146322e-1, `*`(exp(`+`(`-`(`*`(992.4793230, `*...
`+`(`-`(`*`(0.2184511233e-4, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.1498983846e-3, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.9655896652e-3, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`-`(`*`(0.2184511233e-4, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.1498983846e-3, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.9655896652e-3, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`-`(`*`(0.2184511233e-4, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.1498983846e-3, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.9655896652e-3, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`-`(`*`(0.2184511233e-4, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.1498983846e-3, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.9655896652e-3, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`*`(0.7056595043e-6, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.6516968117e-5, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.7404630868e-4, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.7056595043e-6, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.6516968117e-5, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.7404630868e-4, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.7056595043e-6, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.6516968117e-5, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.7404630868e-4, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.7056595043e-6, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.6516968117e-5, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.7404630868e-4, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`-`(`*`(0.2287947486e-7, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.2831369768e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.5664996920e-5, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`-`(`*`(0.2287947486e-7, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.2831369768e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.5664996920e-5, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`-`(`*`(0.2287947486e-7, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.2831369768e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.5664996920e-5, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`-`(`*`(0.2287947486e-7, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t)))))))), `*`(0.2831369768e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `-`(`*`(0.5664996920e-5, `*`(exp(`+`(`-`(`*`(992.479323...
`+`(`*`(0.4487798877e-9, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.7738918553e-8, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2613680068e-6, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.4487798877e-9, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.7738918553e-8, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2613680068e-6, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.4487798877e-9, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.7738918553e-8, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2613680068e-6, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.4487798877e-9, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.7738918553e-8, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2613680068e-6, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.8224864804e-8, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.1046975503e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2236822983e-5, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.8224864804e-8, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.1046975503e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2236822983e-5, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.8224864804e-8, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.1046975503e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2236822983e-5, `*`(exp(`+`(`-`(`*`(992.4793230, `...
`+`(`*`(0.8224864804e-8, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `-`(`*`(0.1046975503e-6, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t)))))))), `*`(0.2236822983e-5, `*`(exp(`+`(`-`(`*`(992.4793230, `...
(32)
 

> setcolors(["Red", "Blue", "LimeGreen", "Goldenrod", "maroon", "DarkTurquoise", "coral", "aquamarine", "magenta", "khaki",  "sienna", "orange", "yellow", "gray"]);
 

[ (33)
 

> pp:=plot([seq(u[i](t),i=0..N+M+2)],t=0..0.1);
 

PLOT(CURVES([[0., 1.], [0.217971541666666648e-2, 1.], [0.407627414583333366e-2, 1.], [0.620915279166666702e-2, 1.], [0.835616954166666648e-2, 1.], [0.104929818958333332e-1, 1.], [0.124740804791666668e... (34)
 

> pt:=textplot([[0.015,1.0,typeset(u[0],"(t)"),align=below],seq([0.02+i*0.005,evalf(subs(t=0.02+i*0.005,u[i](t))),typeset(u[i],"(t)"),align=above],i=1..N+M-2)]);
 

PLOT(TEXT([0.15e-1, 1.0], _TYPESET(u[0], (35)
 

> display([pp,pt],title="Figure 5.27.",thickness=3,axes=boxed,labels=[t,"u"]);
 

Plot_2d
 

> tf:=0.1;
 

.1 (36)
 

> MM:=30;
 

30 (37)
 

> T1:=[seq(tf*i/MM,i=0..MM)];
 

[0., 0.3333333333e-2, 0.6666666667e-2, 0.1000000000e-1, 0.1333333333e-1, 0.1666666667e-1, 0.2000000000e-1, 0.2333333333e-1, 0.2666666667e-1, 0.3000000000e-1, 0.3333333333e-1, 0.3666666667e-1, 0.400000...
[0., 0.3333333333e-2, 0.6666666667e-2, 0.1000000000e-1, 0.1333333333e-1, 0.1666666667e-1, 0.2000000000e-1, 0.2333333333e-1, 0.2666666667e-1, 0.3000000000e-1, 0.3333333333e-1, 0.3666666667e-1, 0.400000...
[0., 0.3333333333e-2, 0.6666666667e-2, 0.1000000000e-1, 0.1333333333e-1, 0.1666666667e-1, 0.2000000000e-1, 0.2333333333e-1, 0.2666666667e-1, 0.3000000000e-1, 0.3333333333e-1, 0.3666666667e-1, 0.400000...
[0., 0.3333333333e-2, 0.6666666667e-2, 0.1000000000e-1, 0.1333333333e-1, 0.1666666667e-1, 0.2000000000e-1, 0.2333333333e-1, 0.2666666667e-1, 0.3000000000e-1, 0.3333333333e-1, 0.3666666667e-1, 0.400000...
[0., 0.3333333333e-2, 0.6666666667e-2, 0.1000000000e-1, 0.1333333333e-1, 0.1666666667e-1, 0.2000000000e-1, 0.2333333333e-1, 0.2666666667e-1, 0.3000000000e-1, 0.3333333333e-1, 0.3666666667e-1, 0.400000...
(38)
 

> PP:=matrix(N+M+3,MM+1);
 

array( 1 .. 13, 1 .. 31, [ ] ) (39)
 

> for i from 1 to N+M+3 do PP[i,1]:=0;od:
 

> for i from 1 to N+M+3 do for j from 2 to MM+1 do PP[i,j]:=evalf(subs(t=T1[j],u[i-1](t)));od;od:
 

> evalm(PP):
 

> i:='i';
 

i (40)
 

> X:=piecewise(i<N+3,(i-1)*h1,i>N+2,alpha+(i-N-2)*h2);
 

piecewise(`<`(i, 8), `+`(`*`(0.4166666667e-1, `*`(i)), `-`(0.4166666667e-1)), `<`(7, i), `+`(`-`(.6250000000), `*`(.1250000000, `*`(i)))) (41)
 

> plot(X,i=1..N+M+3,thickness=4,title="Figure Exp.5.28.",axes=boxed,labels=['i',"X"]);
 

Plot_2d
 

> plotdata:=[seq([ seq([eval(X),T1[j],PP[i,j]], i=1..N+M+3)], j=1..MM+1)]:
 

> surfdata(plotdata,axes=boxed,title="Figure Exp. 5.29.",labels=[x,t,u],orientation=[-75,60]);
 

Plot
 

> eq:=diff(U(x),x$2)-Phi^2*U(x);
 

`+`(diff(diff(U(x), x), x), `-`(`*`(25, `*`(U(x))))) (42)
 

> Ua:=rhs(dsolve({eq,U(0)=1,D(U)(1)=0},U(x)));
 

`+`(`/`(`*`(exp(-5), `*`(exp(`+`(`*`(5, `*`(x)))))), `*`(`+`(exp(5), exp(-5)))), `/`(`*`(exp(5), `*`(exp(`+`(`-`(`*`(5, `*`(x))))))), `*`(`+`(exp(5), exp(-5))))) (43)
 

> Flux:=-evalf(subs(x=0.,diff(Ua,x)));
 

4.999546023 (44)
 

> flux:=-dydxf;
 

`+`(`*`(2.101189409, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(6.289840180, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(8.704529785, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))))), `*`(...
`+`(`*`(2.101189409, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(6.289840180, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(8.704529785, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))))), `*`(...
`+`(`*`(2.101189409, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(6.289840180, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(8.704529785, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))))), `*`(...
`+`(`*`(2.101189409, `*`(exp(`+`(`-`(`*`(2135.706266, `*`(t))))))), `*`(6.289840180, `*`(exp(`+`(`-`(`*`(1627.882051, `*`(t))))))), `*`(8.704529785, `*`(exp(`+`(`-`(`*`(992.4793230, `*`(t))))))), `*`(...
(45)
 

> flux:=limit(flux,t=infinity);Flux;
 

 

4.895829144
4.999546023 (46)
 

> Err:=abs(flux-Flux)/Flux*100;
 

2.074525937 (47)
 

>
 

>