Fourier-sarjojen sovellutus:pakotetut värähtelyt

Luento K3/P3 ti 29.11.05

Alustukset

>    restart:

>    with(plots):

Warning, the name changecoords has been redefined

>    read("e:\\ns05.mpl"):

Sovelluksia diffyhtälöihin, pakotetut värähtelyt

Esim. KRE s. 551

>    r:=t->piecewise(t>0 and t < Pi,-t+Pi/2,t>-Pi and t < 0,t+Pi/2);

r := proc (t) options operator, arrow; piecewise(0 < t and t < Pi,-t+1/2*Pi,-Pi < t and t < 0,t+1/2*Pi) end proc

>    Jr:=JJ(r,-Pi..Pi);

Jr := proc (x::algebraic) local y; y := floor(1/2*(x+Pi)/Pi); r(x-2*y*Pi) end proc

>    plot(Jr,-2*Pi..2*Pi);

[Maple Plot]

>    a0 := 1/Pi*int(-t+Pi/2,t = 0 .. Pi)

a0 := 0

>    an := 2/Pi*int((-t+Pi/2)*cos(n*t),t = 0 .. Pi)

an := -1/Pi*(2*cos(Pi*n)+n*sin(Pi*n)*Pi-2)/n^2

>    an:=trigsiev(an,n);

an := -2*((-1)^n-1)/Pi/n^2

>    seq(an,n=1..10);

4/Pi, 0, 4/9/Pi, 0, 4/25/Pi, 0, 4/49/Pi, 0, 4/81/Pi, 0

>    sarja:=Sum(4/Pi/(2*k-1)^2*cos((2*k-1)*x),k = 1 .. infinity);

sarja := Sum(4/Pi/(2*k-1)^2*cos((2*k-1)*x),k = 1 .. infinity)

>    osasumma:=(x,N)->add(4/Pi/(2*k-1)^2*cos((2*k-1)*x),k = 1 .. N);

osasumma := proc (x, N) options operator, arrow; add(4/Pi/(2*k-1)^2*cos((2*k-1)*x),k = 1 .. N) end proc

>    osasumma(x,6);

4/Pi*cos(x)+4/9*1/Pi*cos(3*x)+4/25*1/Pi*cos(5*x)+4/49*1/Pi*cos(7*x)+4/81*1/Pi*cos(9*x)+4/121*1/Pi*cos(11*x)

>    diffy:=diff(y(t),t,t)+0.02*diff(y(t),t)+25*y(t)=4/Pi/n^2*cos(n*t);

diffy := diff(y(t),`$`(t,2))+.2e-1*diff(y(t),t)+25*y(t) = 4/Pi/n^2*cos(n*t)

Sijoitetaan yrite yhtälöön.

>    yn:=A*cos(n*t)+B*sin(n*t);

yn := A*cos(n*t)+B*sin(n*t)

>    dy:=(eval@subs)(y(t)=yn,diffy);  # @ on yhdistetty funktio.

dy := -A*cos(n*t)*n^2-B*sin(n*t)*n^2-.2e-1*A*sin(n*t)*n+.2e-1*B*cos(n*t)*n+25*A*cos(n*t)+25*B*sin(n*t) = 4/Pi/n^2*cos(n*t)

>    yht1:=map(coeff,dy,cos(n*t));

yht1 := -A*n^2+.2e-1*B*n+25*A = 4/Pi/n^2

>    yht2:=map(coeff,dy,sin(n*t));

yht2 := -B*n^2-.2e-1*A*n+25*B = 0

>   

>    AB:=solve({yht1,yht2},{A,B});

AB := {B = 63.66197724/n/(2500.*n^4-124999.*n^2+1562500.), A = -3183.098862/n^2/(2500.*n^4-124999.*n^2+1562500.)*(n^2-25.)}

>    #solve(2500*n^4-124999*n^2+1562500.=0,n);

B:n arvo n:n arvolla 5 on suuri.

>    assign(AB);

>    seq(evalf(B),n=[1,3,5,7]);

.4420967572e-4, .3315681354e-4, .5092958179, .6315457446e-5

Huomataan, että B[5]  on silmiinpistävän suuri.

>    seq(evalf(A),n=[1,3,5,7,9,11,21]);

.5305161085e-1, .8841816943e-2, -0., -.1082649848e-2, -.2806936486e-3, -.1096102667e-3, -.6940292204e-5

>    ampl:=seq(evalf(sqrt(A^2+B^2)),n=[1,3,5,7,9,11]);

ampl := .5305162927e-1, .8841879111e-2, .5092958179, .1082668268e-2, .2806950986e-3, .1096105546e-3

>    yn:=A*cos(n*t)+B*sin(n*t);

yn := -3183.098862/n^2/(2500.*n^4-124999.*n^2+1562500.)*(n^2-25.)*cos(n*t)+63.66197724/n/(2500.*n^4-124999.*n^2+1562500.)*sin(n*t)

>    ypOsasumma:=(x,N)->add(yn,n=[seq(2*k-1,k=1..N)]);

ypOsasumma := proc (x, N) options operator, arrow; add(yn,n = [seq(2*k-1,k = 1 .. N)]) end proc

>    ypOsasumma(x,4);

.5305161085e-1*cos(t)+.4420967572e-4*sin(t)+.8841816943e-2*cos(3*t)+.3315681354e-4*sin(3*t)+.5092958179*sin(5*t)-.1082649848e-2*cos(7*t)+.6315457446e-5*sin(7*t)
.5305161085e-1*cos(t)+.4420967572e-4*sin(t)+.8841816943e-2*cos(3*t)+.3315681354e-4*sin(3*t)+.5092958179*sin(5*t)-.1082649848e-2*cos(7*t)+.6315457446e-5*sin(7*t)

>    dominoiva:=.5092958179*sin(5*t);

dominoiva := .5092958179*sin(5*t)

>    plot([Jr(t),dominoiva,ypOsasumma(t,20)],t=0..3*Pi,color=[green,red,blue],legend=["heräte","vasteen domin.komp.,jakso=2*Pi/5", "20:n termin summa"],scaling=constrained);

[Maple Plot]

Fourier-analyysi paljasti pitkäaaltoisesta herätteestä 1/5 sen jaksosta olevan komponentin, joka aiheuttaa merkittävän

vasteen. Jos vaimennusta pienennetään, päästään vielä dramaattisempiin, resonanssin kaltaisiin vaaratilanteisiin.

Huom! KRE-kirjan kuva ei vastaa annettua dataa.