Mekaanisen järjestelmän differentiaaliyhtälö ja Simulink
Voiman F(t) ja massan välistä siirtymää kuvaa alla oleva yhtälö.
F(t)= ma+bv+kx
...
Nyt kyseessä on siirtofunktio, joka kertoo miten lähtö muuttuu kun tuloa muutetaan askelmuotoisesti Matlabilla.
Code Block |
---|
function Askelvaste()
osoittaja=1;
nimittaja=[1 10 20];
aparaatti=tf(osoittaja,nimittaja);
step(aparaatti)
|
Sama Scilabilla ja lyhyt ohje Scilabista
Code Block |
---|
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) |
Bode-diagrammi Scilabilla
Code Block |
---|
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
|