h2.
\\ !MassaJousiKitka.png!\\
Voiman F(t) ja massan välistä siirtymää kuvaa alla oleva yhtälö.
_F(t)= ma+bv+kx_
Yhtälö voidaan esittää myös seuraavassa muodossa
_F(t)=m d{_}{_}{^}2{^}{_}{_}x/dt+b dx/dt+kx_
Eli kiihtyvyys on aseman toinen ja nopeus ensimmäinen derivaatta.
Yhtälö voidaan Laplace-muuntaa seuraavaan muotoon
_F(s)= m s{_}{_}{^}2{^}{_}{_}X(s)-sx(0)-x'(0)+bsX(s)-x(0)+kX(s)_
Oletetaan alkuarvot nollaksi eli kappale on paikoillaan ja siirtymä 0.
_F(s)= m s{_}{_}{^}2{^}{_}{_}X(s)+bsX(s)+kX(s)_
Eli differentiaaliyhtälöstä päästiin Laplace-muunnettuun muotoon korvaamalla derivaatat s-operaattorin potensseilla. Muokataan yhtälö vielä muotoon X(s)/F(s) .
_X(s)/_{_}F(s)=1/(_ _m s{_}{_}{^}2{^}{_}_\+bs+k{_}_)_
Nyt kyseessä on siirtofunktio, joka kertoo miten lähtö muuttuu kun tuloa muutetaan askelmuotoisesti Matlabilla.
{code}
function Askelvaste()
osoittaja=1;
nimittaja=[1 10 20];
aparaatti=tf(osoittaja,nimittaja);
step(aparaatti)
{code}Sama Scilabilla ja [lyhyt ohje Scilabista|http://home.hit.no/~finnh/scilab_scicos/scilab]
{code}
s=poly(0,'s'); //määrää s polynomin muuttujaksi
K=1;m=10; b=1;k=1; //Vahvistus ja aikavakio
sys=syslin('c',K/(m*s^2+b*s+k));//muodostetaan systeemi aikajatkuvana ('c') lineaarisena mallina.
t=[0:0.05:50]; //aika vektori, jota käytetään simulaatiossa alku:resoluutio:loppuaika
y1=csim('step',t,sys); // Simuloidaan järjestelmää askelfunktiolla
scf(1);clf; //avataan ja puhditetaan kuva-alue
plot(t,y1)
{code}
Bode-diagrammi Scilabilla
{code}
s=poly(0,'s'); //Defines s to be a polynomial variable
K=1;m=10; b=1;k=1; //Vahvistus ja aikavakio
sys=syslin('c',K/(m*s^2+b*s+k));//muodostetaan systeemi aikajatkuvana ('c') lineaarisena mallina.
t=[0:0.05:50]; //aika vektori, jota käytetään simulaatiossa alku:resoluutio:loppuaikafmin=0.01; //Min freq in Hz
fmax=10; //Max freq in Hz
scf(1);clf;
bode(sys,fmin,fmax); //Plots frequency response in Bode diagram
{code} |