[wiskunde] maple

Moderators: ArcherBarry, Fuzzwood

Reageer
Berichten: 15

[wiskunde] maple

Ik heb met maple een differentiaalvergelijking opgelost

restart:

> g:=9.81;massa:=50;k:=0.0022;

> vgl1:=massa*diff(v(t),t)=massa*g-k*v(t)**2;

> opl1:=dsolve({vgl1,v(0)=0},{v(t)},numeric);

g := 9.81

massa := 50

k := 0.0022

/d \ 2

vgl1 := 50 |-- v(t)| = 490.50 - 0.0022 v(t)

\dt /

opl1 := proc(x_rkf45) ... end proc

Nu moet ik de afgelegde weg berekenen (tot) op tijdstip 15, wat dus wil zeggen de bepaalde integraal van 0->15 van die oplossing. Maar nu is het probleem dat maple

int(opl1,t=0..15);

blijkbaar niet kan oplossen, iemand een idee hoe je die integraal met maple kunt berekenen?

Berichten: 582

Re: [wiskunde] maple

Laat het derde argument, 'numeric' dus, in je 'dsolve'-commando eens achterwege. Nu moet het lukken.

Berichten: 15

Re: [wiskunde] maple

Wel ja de opdracht is net dat we dat wel met numerieke waarden moeten oplossen. Tenzij er een andere manier is om de afgelegde weg te berekenen?

Berichten: 2

Re: [wiskunde] maple

Dag otto,

hehe, kheb ook die opdracht

wel ik vind het ook niet echt direct.

ik heb zo wat zitten proberen met het als een array op te slaan met stapjes van 1, dat is wel gelukt maar dan krijg ik weer die inhouden van die array er niet uit zoals normaal via opl1[1..15]; of hoe dan ook, omdat er zogezegd 2 arrays in elkaar zitten en daar kan ik dan weer nie mee werken.

mijn bedoeling was dus om die 15 uitkomsten gewoon op te tellen en dan krijg je iets dat min of meer op de integraal lijkt, maar wel veel minder nauwkeurig.

maar het zou in principe moeten lukken als je dat nu met stapjes van 0.1 of zelfs 0.01 kan laten doen en dan elke uitkomst *0.1 of *0.01 te doen en dan op te tellen.

maar ik kom er nu ook effe niet uit.

laat me iets weten alsge derachter komt

ik heb ook ergens in die help files gelezen dat er een soort type=.. bestaat waarvoor die ook ineens een derde kolom berekend met de afgeleide van die functie dus alsje opl1(15); zou doen dan geeft die de snelheid op 15s en ook de versnelling op 15s (afgeleide van snelheid), mss bestaat er ook wel een type die de integraal geeft in een derde kolom

heb ik nu nog niet echt tegengekomen.

grtz Toon (ook uit A3:p)

Berichten: 582

Re: [wiskunde] maple

Wel ja de opdracht is net dat we dat wel met numerieke waarden moeten oplossen. Tenzij er een andere manier is om de afgelegde weg te berekenen?
Tik eens "? dsolve/numeric" in je maple venster, en doorblader eens de betreffende help file.

Ik heb het als volgt ingegeven:

Code: Selecteer alles

restart:

g:=9.81;massa:=50;k:=0.0022;

vgl1:=massa*diff(x(t),t,t)=massa*g-k*diff(x(t),t)**2;

opl1:=dsolve({vgl1,D(x)(0)=0,x(0)=0},{x(t)},numeric,range=0..15);

opl1(15);
Snap je dit?

Berichten: 15

Re: [wiskunde] maple

wel, nee:

Ik snap niet waarom je in de vergelijking de afgeleide van v(t) mag vervangen door de 2e orde afgeleide van de positie?

Daarenboven, als je opl1(15) ingeeft, geeft hij dan niet een waarde op dat punt? terwijl de som van alle waarden er voor er toch ook nog bij moet (~integraal)?

je bekomt in ieder geval wel de juiste oplossing.

Berichten: 582

Re: [wiskunde] maple

ottocruyt schreef:wel, nee:

Ik snap niet waarom je in de vergelijking de afgeleide van v(t) mag vervangen door de 2e orde afgeleide van de positie?

Daarenboven, als je opl1(15) ingeeft, geeft hij dan niet een waarde op dat punt? terwijl de som van alle waarden er voor er toch ook nog bij moet (~integraal)?

je bekomt in ieder geval wel de juiste oplossing.
Wel, zoals je waarschijnlijk wel weet is snelheid de eerste afgeleide van de positie naar de tijd. Ik vervang dit hier enkel om gebruik te maken van de "dsolve/numeric"-functie; de numerische oplossing kun je immers niet zomaar integreren... daarom is het ook numerisch. Dit doet echter niet af aan de oplossing.

De oplossing van deze differentiaalvergelijking is uiteraard de positie x(t). Aangezien ik nu echter een extra initiële conditie x(0)=0 heb meegegeven bij het oplossen van de differentiaalvergelijking, zal opl1(15) inderdaad de afgelegde weg op tijdstip t=15 voorstellen.

Berichten: 15

Re: [wiskunde] maple

Dankjewel, ik begin het te begrijpen (dat van de afgeleide begrijp ik).

Alleen die initiële conditie: betekent dan dat hij vanaf dan alles wat er bij komt er bij optelt?

ik begrijp niet goed wat die initiële conditie verandert aan het geheel.

Berichten: 2

Re: [wiskunde] maple

welja er is gewoon één extra conditie, namelijk die van x(0)=0. Als deze niet 0 zou zijn dan zou je gewoon de positie hebben.

maar de afgelegde weg is hetzelfde als de positie indien x(0)=0 met de functie stijgend voor het interval.(wat hier het geval is)

Dx(0)=0 is hetzelfde als v(0)=0 wat we in begin al als conditie hadden.

Berichten: 582

Re: [wiskunde] maple

ottocruyt schreef:Dankjewel, ik begin het te begrijpen (dat van de afgeleide begrijp ik).

Alleen die initiële conditie: betekent dan dat hij vanaf dan alles wat er bij komt er bij optelt?

ik begrijp niet goed wat die initiële conditie verandert aan het geheel.
Ik gaf 2 initiële condities op:

* D(x)(0) = 0 - Dit is niets anders dan de beginsnelheid v gelijk aan 0 m/s stellen, net zoals jij ook aangaf in je code.

* x(0) = 0 - Deze geeft aan dat de beweging start op positie x(0) = 0 m, en x(t) is dan uiteraard de afgelegde weg na t seconden. Als je bvb. initiële conditie x(0) = 10 m zou stellen, dan zou x(t) niet de afgelegde weg voorstellen maar de absolute positie. Na 15 seconden in zou de persoon zich in het punt x(0) + x(15) bevinden, maar zou slechts een afstand x(15) - x(0) hebben afgelegd.

Ik hoop dat dit wat duidelijker is.

Berichten: 15

Re: [wiskunde] maple

Ja, zo begrijp ik het.

Het probleem was eigenlijk, en dat heeft Toonc goed verduidelijkt, dat je eigenlijk gewoon de positie x(t) neemt, met x(0)=0, maar dan moet je er inderdaad van uitgaan dat de functie stijgend is gedurende het interval.

Bedankt voor alle moeite!

Berichten: 582

Re: [wiskunde] maple

ottocruyt schreef:Ja, zo begrijp ik het.

Het probleem was eigenlijk, en dat heeft Toonc goed verduidelijkt, dat je eigenlijk gewoon de positie x(t) neemt, met x(0)=0, maar dan moet je er inderdaad van uitgaan dat de functie stijgend is gedurende het interval.

Bedankt voor alle moeite!
Ahja, het stijgend zijn ben ik vergeten te vermelden, maar dat beschouwde ik als triviaal. Goed opgemerkt van ToonC.

Geen probleem, zolang je er maar wat aan had!

Reageer