Mattegenier! Se hit! Mathematica-uppgift.

Permalänk
Medlem

Mattegenier! Se hit! Mathematica-uppgift.

Hej.
Jag har ett problem som jag inte lyckas lösa, och tro mig, jag har försökt. Skulle verkligen uppskatta all hjälp jag kan få.

Uppgift:

Citat:

Betrakta begynnelsevärdesproblemet c'(t) = (t ^2)(c ^3) med begynnelsevillkor c(1) = 3.

a) Lös problemet med hjälp av Mathematica. Plotta lösningen i lämpligt intervall. För vilka t gäller din lösning? Markera begynnelsevillkoret med en röd punkt i plotten.

Än så länge så har jag skrivit denna kod, och jag vet inte ens om det är rätt över huvud taget.

In[1]:= DSolve[c´[t] == t^2 c[t]^3, c, t] Out[1]= {{c -> Function[{t}, c´[t]^(1/3)/t^(2/3)]}, {c -> Function[{t}, -(((-1)^(1/3) c´[t]^(1/3))/t^(2/3))]}, {c -> Function[{t}, ((-1)^(2/3) c´[t]^(1/3))/t^(2/3)]}}

Vet någon om detta är rätt och hur man ska fortsätta på detta problem?

Visa signatur

MODERMODEM: Asus ROG Strix Z270E Gaming | i7 7700K | Corsair Hydro H110 | Kingston HyperX Savage 32GB DDR4 RAM | Asus GeForce RTX 3060 Ti TUF OC | Crucial BX100 500GB SSD | Phanteks Enthoo EVOLV | SilverStone Strider Evolution 1200W |

Permalänk
Hedersmedlem
Skrivet av morxy49:

Hej.
Jag har ett problem som jag inte lyckas lösa, och tro mig, jag har försökt. Skulle verkligen uppskatta all hjälp jag kan få.

Uppgift:

Än så länge så har jag skrivit denna kod, och jag vet inte ens om det är rätt över huvud taget.

In[1]:= DSolve[c´[t] == t^2 c[t]^3, c, t] Out[1]= {{c -> Function[{t}, c´[t]^(1/3)/t^(2/3)]}, {c -> Function[{t}, -(((-1)^(1/3) c´[t]^(1/3))/t^(2/3))]}, {c -> Function[{t}, ((-1)^(2/3) c´[t]^(1/3))/t^(2/3)]}}

Vet någon om detta är rätt och hur man ska fortsätta på detta problem?

Läs manualen för `DSolve`. Den inkluderar ett exempel för att lösa en differentialekvation med ett begynnelsevillkor.

Kort sagt så ger man `DSolve` en lista med differentialekvationen och begynnelsevillkoren som första argument. Listor definieras i Mathematica genom `{}`.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem
Skrivet av phz:

Läs manualen för `DSolve`. Den inkluderar ett exempel för att lösa en differentialekvation med ett begynnelsevillkor.

Kort sagt så ger man `DSolve` en lista med differentialekvationen och begynnelsevillkoren som första argument. Listor definieras i Mathematica genom `{}`.

Tack för ett snabbt svar!
Men jag har kollat igenom den manualen hur många gånger som helst snart, och lyckas ändå inte.
Jag vet att det är mycket begärt, men det skulle vara jättesnällt om du kunde skriva lite kod så jag har någonstans att börja i alla fall

EDIT: eller om du kan lista alla kommandon jag behöver skriva för att lösa uppgiften, så försöker jag skriva koden själv.
/Tack på förhand!

Visa signatur

MODERMODEM: Asus ROG Strix Z270E Gaming | i7 7700K | Corsair Hydro H110 | Kingston HyperX Savage 32GB DDR4 RAM | Asus GeForce RTX 3060 Ti TUF OC | Crucial BX100 500GB SSD | Phanteks Enthoo EVOLV | SilverStone Strider Evolution 1200W |

Permalänk
Hedersmedlem

Manualens andra exempel är:

Citat:

Include a boundary condition:

DSolve[{y'[x] + y[x] == a Sin[x], y[0] == 0}, y[x], x]

Där löser de differentialekvationen
   y'(x) + y(x) = a sin x
med begynnelsevillkor
   y(0) = 0.

Det är bara att byta ut dessa delar mot din uppgift rakt av.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem
Skrivet av phz:

Manualens andra exempel är:

Där löser de differentialekvationen
   y'(x) + y(x) = a sin x
med begynnelsevillkor
   y(0) = 0.

Det är bara att byta ut dessa delar mot din uppgift rakt av.

Tack! det kan nog fungera. Ska prova det imorgon

Visa signatur

MODERMODEM: Asus ROG Strix Z270E Gaming | i7 7700K | Corsair Hydro H110 | Kingston HyperX Savage 32GB DDR4 RAM | Asus GeForce RTX 3060 Ti TUF OC | Crucial BX100 500GB SSD | Phanteks Enthoo EVOLV | SilverStone Strider Evolution 1200W |

Permalänk
Medlem
Skrivet av phz:

Manualens andra exempel är:

Där löser de differentialekvationen
   y'(x) + y(x) = a sin x
med begynnelsevillkor
   y(0) = 0.

Det är bara att byta ut dessa delar mot din uppgift rakt av.

det funkade! tack

Visa signatur

MODERMODEM: Asus ROG Strix Z270E Gaming | i7 7700K | Corsair Hydro H110 | Kingston HyperX Savage 32GB DDR4 RAM | Asus GeForce RTX 3060 Ti TUF OC | Crucial BX100 500GB SSD | Phanteks Enthoo EVOLV | SilverStone Strider Evolution 1200W |

Permalänk
Medlem

Hur ser koden ut?

Permalänk
Medlem
Skrivet av tobiasln:

Hur ser koden ut?

Nu när koden är klar ser det ut såhär.

Rensar tidigare värden. In[41]:= ClearAll["`*"] Använder oss av DSolve för att hitta en lösning med begynnelsevärdet. In[54]:= DSolve[{c'[t] == t^2 c[t]^3, c[1] == 3}, c[t], t] During evaluation of In[54]:= DSolve::bvnul: For some branches of the general solution, the given boundary conditions lead to an empty solution. >> Out[54]= {{c[t] -> 3/Sqrt[7 - 6 t^3]}} Eftersom vårat svar inte är en partikulär lösning i sig, får vi ett felmeddelande från Mathematica. Vi använder oss av den funktion som ges och plottar denna. Vi markerar även ut begynnelsevilkoret med en röd punkt. In[47]:= Plot[3/Sqrt[7 - 6 t^3], {t, -2, 2}, PlotRange -> {{-2, 2}, {0, 3}}, Epilog -> { Red, PointSize[0.015], Point[{1, 3}]}, AxesLabel -> {"t", "c(t)"}] Out[47]= *HÄR ÄR EN PLOT* För att veta vilka t som lösningen gäller så sätter vi uttrycket i nämnaren lika med noll och använder Solve. Detta ger oss vart funktionen inte längre är definierad (för det reella talplanet). In[52]:= Solve[Sqrt[7 - 6 t^3] == 0] Out[52]= {{t -> -(-(7/6))^(1/3)}, {t -> (7/6)^(1/3)}, {t -> (-1)^(2/3) (7/6)^(1/3)}} Vi observerar att lösningen t->(7/6)^(1/3) är den enda reella lösningen och därav den punkt där funktion går mot odefinierad.

Visa signatur

MODERMODEM: Asus ROG Strix Z270E Gaming | i7 7700K | Corsair Hydro H110 | Kingston HyperX Savage 32GB DDR4 RAM | Asus GeForce RTX 3060 Ti TUF OC | Crucial BX100 500GB SSD | Phanteks Enthoo EVOLV | SilverStone Strider Evolution 1200W |