Deze vraag heeft hier al antwoorden :

Reacties

Antwoord

Je hebt geen numerieke waarden gegeven voor sommige parameters, dus ik heb er een paar bedacht. Voor sommige krijg je misschien geen oplossingen, of krijg je een complexe oplossing, dus dat is iets waar je naar kunt kijken, omdat ik de fysica s van het probleem.

Clear[x, t, b, varx, m, v0x]; y[t_] = x[t] /. First@DSolve[{b varx^2 - 2 b varx x"[t] + b x"[t]^2 + m x""[t] == 0, x[0] == x0, x"[0] == v0x}, x[t], t] 

geeft

(b t varx - m Log[m/(v0x - varx)] + m Log[b t - m/(-v0x + varx)])/b 

Dan kun je de functie gebruiken y[t]

parms = {b -> 1, varx -> 2, m -> 1, x0 -> 1, v0x -> 0}; Plot[y[t] /. parms, {t, 0, 1}] 

voer de beschrijving van de afbeelding hier in

D[y[t] /. parms, t] Out[48]= 2 + 1/(-(1/2) + t) 

etc …

Antwoord

Nasser volgen ” s antwoord, hier is een kleine variatie:

 x[tt_, {b_, varx_, m_, x0_, v0x_}] := Module[{}, x[t_, {b, varx, m, x0, v0x}] = Block[{x, t}, x[t] /. First@ DSolve[{b varx^2 - 2 b varx x"[t] + b x"[t]^2 + m x""[t] == 0, x[0] == x0, x"[0] == v0x}, x[t], t] ]; x[tt, {b, varx, m, x0, v0x}] ] 

Dan kun je het evalueren door:

parms = {1, 2, 1, 1, 0}; x[4, parms] Plot[x[t, parms], {t, 0, 1}] 

enz. Merk op dat ODE slechts één keer wordt berekend voor elke parametervector.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *