Решение о.д.у. разложением в ряд Фурье

Процедура разложения

>    FS:=proc(f::algebraic,x::name,L::anything,n::nonnegint)
(int(f,x=-L..L)/2+sum(int(f*cos(k*Pi*x/L),x=-L..L)*cos(k*Pi*x/L),k=1..n)+
sum(int(f*sin(k*Pi*x/L),x=-L..L)*sin(k*Pi*x/L),k=1..n))/L:
end proc:

Задаем функцию, которую надо разложить в ряд

>    q1:=2/3.*(x+3/2): # на участке [-a,a1]

>    q2:=4/3.*(x+3/2): # на участке [a1,a]

Размеры интервалов

>    a:=3/2.: a1:=0.:

>    q:=piecewise(x>-a and x<a1,q1,  x<a and x>a1,q2);

График функции

>    FR[3];

>    eq:=diff(y(x),x$2) - Pi^2/81*y(x)=FR[3];

>    dsolve(eq,y(x));

>    s:=dsolve({eq,y(-3/2.)=0,y(3/2.)=0},y(x));

>    Digits:=3;

>    x:=z-1.5;

>    evalf(simplify(s,power));

>    restart;

>    eq:=diff(y(x),x$2) - Pi^2/81*y(x)=A*cos(B*x);

>    dsolve(eq,y(x));