Springen naar inhoud

Matlab vraag


  • Log in om te kunnen reageren

#1

molleymijsje

    molleymijsje


  • 0 - 25 berichten
  • 5 berichten
  • Gebruiker

Geplaatst op 09 juni 2009 - 21:17

hoi,

ik heb een matlab vraag. Het gaat over een gewichtje wat aan een veerhangt, het gewichtje gaat horizontaal heen en weer (dit is x1). De snelheid van het op en neer gaan van het gewichtje is x2. T is gewoon de tijd
Twee differentiaalvergelijkingen krijg je:

dx1/dt = x2
dx2/dt = -20x1-0.5x2

x1 op t=0 = -1
x2 op t=0 = 0

Nu moet je in matlab een filmpje maken van het bewegen van het gewichtje tussen t=0 en t=7
maar het lukt echt niet....
kan iemand me helpen?
(ik heb de differentiaalvergelijkingen alwel moeten oplossen voor bepaalde t's dat is wel gelukt met ode45)

Alvast bedankt!!!

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 09 juni 2009 - 21:26

Ben je in staat om grafieken te plotten in Matlab?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#3

molleymijsje

    molleymijsje


  • 0 - 25 berichten
  • 5 berichten
  • Gebruiker

Geplaatst op 09 juni 2009 - 21:27

Ben je in staat om grafieken te plotten in Matlab?


euhm normale grafieken wel
dus gewoon met plot

maar dit is het eerste wat ik met differentiaalvergelijkingen doe

#4

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 09 juni 2009 - 22:02

[T, Y] = ode45(.....)

T is dan de tijdsvector en Y zijn je oplossingen voor x1, x2 en hun afgeleiden, voor elk punt van T (Y is dus een matrix).
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#5

molleymijsje

    molleymijsje


  • 0 - 25 berichten
  • 5 berichten
  • Gebruiker

Geplaatst op 09 juni 2009 - 22:27

[T, Y] = ode45(.....)

T is dan de tijdsvector en Y zijn je oplossingen voor x1, x2 en hun afgeleiden, voor elk punt van T (Y is dus een matrix).


dat heb ik inderdaad zo gedaan.
maar hoe krijg ik het nou in een fimpje?

ik wilde het op deze manier doen: (simpel voorbeeldje)

theta=linspace(0,2*pi,1000);
x=cos(theta);
y=sin(theta);

hbead=line(x(1),y(1),'marker','*','markersize',8,'erase','xor');
axis([-1 1 -1 1]);
axis('square');
for k=2:length(theta)
set(hbead,'xdata',x(k),'ydata',y(k));
drawnow
end

maar ik zou niet weten hoe ik hier de ode45 in moet verwerken. (dat al ten eerste)
En ten tweede kom ik er niet uit hoe je de x2 (dat is dus de snelheid en geen ycoordinaat ofzo) er in moet gebruiken

#6

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 10 juni 2009 - 07:10

maar hoe krijg ik het nou in een fimpje?

getframe





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures