> v:=sin(t)*(2-x)/2;
v := 1/2 sin(t) (2 - x)
--------------------------------------------------------------------------------
> Int(sin(Pi/2*x)^2,x=0..2);value(");
1
--------------------------------------------------------------------------------
> Int(v*sin(n*Pi*x/2),x=0..2):value(");
sin(n Pi) sin(t) sin(t)
- 2 ---------------- + 2 ------
2 2 n Pi
n Pi
--------------------------------------------------------------------------------
> vn:=n->2*sin(t)/(n*Pi);
sin(t)
vn := n -> 2 ------
n Pi
--------------------------------------------------------------------------------
> Int(-x*sin(n*Pi*x/2),x=0..1)+Int((x-2)*sin(n*Pi*x/2),x=1..2);value(");
1 2
/ /
| |
| - x sin(1/2 n Pi x) dx + | (x - 2) sin(1/2 n Pi x) dx
| |
/ /
0 1
- 2 sin(1/2 n Pi) + n Pi cos(1/2 n Pi) sin(n Pi)
2 -------------------------------------- + 4 ---------
2 2 2 2
n Pi n Pi
2 sin(1/2 n Pi) + n Pi cos(1/2 n Pi)
- 2 ------------------------------------
2 2
n Pi
--------------------------------------------------------------------------------
> phi:=n->-8*sin(n*Pi/2)/(n^2*Pi^2);
sin(1/2 n Pi)
phi := n -> - 8 -------------
2 2
n Pi
--------------------------------------------------------------------------------
> psi:=n->-vn(n)/sin(t);
vn(n)
psi := n -> - ------
sin(t)
--------------------------------------------------------------------------------
> eqn:=n->diff(w(t),t$2)+n^2*Pi^2/4*w(t)=vn(n);
2 2
eqn := n -> diff(w(t), t$2) + 1/4 n Pi w(t) = vn(n)
--------------------------------------------------------------------------------
> k:='k':for k from 1 to 50 do
> dsolve({eqn(k),w(0)=phi(k),D(w)(0)=psi(k)},w(t),method=laplace):
> ww[k]:=rhs("):
> od:k:='k':
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
> uplacet:=proc(tt)
> local k, wvalue, u;
> k:='k':for k from 1 to 50 do
> wvalue[k]:=evalf(subs(t=tt,ww[k])):
> od:k:='k':
> u:=subs(t=tt,v)+sum(wvalue[i]*sin(i*Pi*x/2),i=1..50):
> end:
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
> g:=uplacet(2):evalf(subs(x=1,"));
1.833367305
--------------------------------------------------------------------------------
#
--------------------------------------------------------------------------------
> k:='k':for k from 1 to 10 do
--------------------------------------------------------------------------------
> f[k]:=uplacet(k*0.2):
> od:
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
> plot({seq(f[k],k=1..10)},x=0..2);
--------------------------------------------------------------------------------