Решение о.д.у. разложением в ряд Фурье
Процедура разложения
> |
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]
|
Размеры интервалов
> |
q:=piecewise(x>-a and x<a1,q1, x<a and x>a1,q2);
|
График функции
> |
eq:=diff(y(x),x$2) - Pi^2/81*y(x)=FR[3];
|
> |
s:=dsolve({eq,y(-3/2.)=0,y(3/2.)=0},y(x));
|
> |
evalf(simplify(s,power));
|
> |
eq:=diff(y(x),x$2) - Pi^2/81*y(x)=A*cos(B*x);
|
|