Mathematica

Moderators: ArcherBarry, Fuzzwood

Reageer
Berichten: 110

Mathematica

Ik wil graag de oplossing van de volgende differentiaalvergelijking plotten:

V''[t] + 5 V'[t] + V[t] == 5 Cos[ t]

voor V[0]=5 en V[0] = 1

Kan iemand mij de Mathematica-code geven?

Gebruikersavatar
Berichten: 24.578

Re: Mathematica

DSolve voor de oplossing en dan de functie plotten met Plot...
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Berichten: 110

Re: Mathematica

Ja, DSolve weet ik...

Dat wordt dan:

DSolve[V''[t] + 5 V'[t] + V[t] == 5 Cos[ t], V[t], t]

En dan Plot[..... Wat moet daar staan, zodat voor beide beginvoorwaarden de oplossing in 1 grafiek zichtbaar wordt?

Gebruikersavatar
Berichten: 24.578

Re: Mathematica

voor V[0]=5 en V[0] = 1
Bedoel je v'[0] = 1? Dus de afgeleide?
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Berichten: 110

Re: Mathematica

Ja sorry, dat bedoel ik... Hopelijk kun je me de mathematica-code geven... Hartelijk dank!!

Gebruikersavatar
Berichten: 24.578

Re: Mathematica

Het lukt me om de oplossing te plotten, maar door manueel de oplossing in Plot te plakken.

Rechtstreeks Plot[DSolve[...]] lijkt niet te werken omdat de output van DSolve niet overeenkomt met wat Plot verwacht als argument.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Berichten: 110

Re: Mathematica

Oke, dan moet ik dat ook maar doen, maar ik weet niet wat ik dan voor Plot[... moet invullen, ik heb namelijk vrijwel geen ervaring met Mathematica. Hopelijk kun je me daar nog even bij helpen.

Berichten: 110

Re: Mathematica

DSolve[{V''[t] + 5 V'[t] + V == 5 Cos[t], V[0] == 5, V'[0] == 1}, V[t], t]

Dit geeft mij ook een foutmelding... Wat doe ik verkeerd.

Voor alle duidelijkheid:

Ik wil dus graag een oplossingsplot maken van V''[t] + 5 V'[t] + V == 5 Cos[t] met als voorwaarden V[0]==5. V'[0]==1. Wat moet ik in Mathematica invoeren is de vraag!!

Gebruikersavatar
Berichten: 24.578

Re: Mathematica

DSolve[{V''[t] + 5 V'[t] + V[t] == 5 Cos[t], V[0] == 5, V'[0] == 1}, V[t], t]
Je vergat het argument t bij de laatste v, in het vet hierboven aangevuld.

Je krijgt dan iets van de vorm {{V[t]→f(t)}}.

Die functie f(t) wil je plotten, je moet ook meegeven in welk interval.

Het verloop is goed te zien voor t in [-1,25], neem dus als input:

Plot[f(t),{t,-1,25}

Ter controle, ik vind voor f(t):
\(\frac{2\,\left( -105\,e^ {\left( -\left( \frac{5}{2} \right) - \frac{{\sqrt{21}}}{2} \right) \,t} + 25\,{\sqrt{21}}\,e^ {\left( -\left( \frac{5}{2} \right) - \frac{{\sqrt{21}}}{2} \right) \,t} - 105\,e^{\left( -\left( \frac{5}{2} \right) + \frac{{\sqrt{21}}}{2} \right) \,t} - 25\,{\sqrt{21}}\,e^ {\left( -\left( \frac{5}{2} \right) + \frac{{\sqrt{21}}}{2} \right) \,t} - 42\,\sin (t) \right) }{21\,\left( -5 + {\sqrt{21}} \right) \,\left( 5 + {\sqrt{21}} \right) }\)
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Gebruikersavatar
Berichten: 7.556

Re: Mathematica

Het kan wel in één commando, copy/paste dit maar in Mathematica:

Code: Selecteer alles

Plot[Evaluate[V[t]/.DSolve[{V''[t]+5 V'[t]+V[t]==5 Cos[t],V'[0] == 1,V[0]==5},V[t],t]],{t,-1,25}]
Je vervangt V[t] dus door de oplossingsverzameling uit DSolve (met de vervangingsoperator /. ). Daar moet nog een Evaluate bij, zodat eerst de vergelijking wordt opgelost en daarna pas het Plot-commando.
Never express yourself more clearly than you think.

- Niels Bohr -

Gebruikersavatar
Berichten: 24.578

Re: Mathematica

Het moest kunnen, ik wist alleen niet hoe (alleen maar zelf wat met Mathematica leren prullen). Handig, bedankt!
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Gebruikersavatar
Berichten: 7.556

Re: Mathematica

Heb zelf een intro-cursusje gehad van één blok op de uni. De basis ken ik nu, maar er zijn nog zóveel mogelijkheden waar ik geen weet van heb. Vaak is het een beetje aanmodderen en uitproberen :)
Never express yourself more clearly than you think.

- Niels Bohr -

Gebruikersavatar
Berichten: 24.578

Re: Mathematica

Ik kreeg MatLab :)
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Reageer