Solve differential equation using ode23 and ode45
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
emonhossain roy
il 24 Giu 2019
Commentato: Pullak Barik
il 25 Giu 2019
Question: solve the differential equation
regarding y as the independent variable rather than x. Also find solution for x(0)=1. Finally plot y vs x(y). Also use ode23 and ode45 to solve the equation and plot again.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/226162/image.png)
My approach:![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/226168/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/226168/image.png)
code:
syms x(y);
eqn=diff(y,x)==(x+y*exp(y));
cond=x(0)==1;
dsolve(eqn,cond)
But now how to use ode23 or ode45 and how to plot? Any solution will be appreciated .
Thanks in advance .
3 Commenti
Risposta accettata
Pullak Barik
il 25 Giu 2019
Firstly, as correctly mentioned in the comments, the eqn variable should be written as-
eqn = diff(x, y) == (x + y*exp(y));
Now, for plotting the solution, you can use fplot- fplot documentation
xSol = simplify(dsolve(eqn, cond)); %simplify, as the name suggests, simplifies the expression obtained after dsolve
fplot(xSol);
Now, about using ode23 or ode45, I suggest you to refer to the documentation to gain an understanding on the same. I am posting a code below which uses ode45 (referred directly from the documentation)-
[y, x] = ode45(@(y, x) (x + y*exp(y)), [-10 10], 1)
Link to ode45 documentation- ODE45
1 Commento
Pullak Barik
il 25 Giu 2019
You can use plot(y, x) after using the ode45 code above to plot the result
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!