Matlab- expressing derivatives in an equation with ode45?

AI Thread Summary
The discussion focuses on solving a differential equation using MATLAB's dsolve and ode45 functions. The user successfully used dsolve but encountered difficulties when trying to implement ode45, receiving errors related to function naming and syntax. They are unsure if the issue stems from the use of Dy and Dx in their equation. Suggestions include creating a proper function handle to evaluate the differential equation at specific points, as ode45 requires this format. The conversation emphasizes the need for clarity in defining functions for numerical solvers in MATLAB.
Dsab123
Messages
2
Reaction score
0

Homework Statement



(-1)^4*xdx + (8y-y^2-13)dy=0; y(0)=4;
1. Use dsolve to obtain a solution.
2. As dsolve was not much help fi nd an implicit solution of the form
f(x, y) = 4

Homework Equations



---

The Attempt at a Solution



the dsolve part was easy, i just did:

syms x y t
dsolve('(-1^4)*x*Dx+(8*y-y^3-13)*Dy=0', 'y(0)=4')
and got a huge matrix-type answer.

So now, I'm having some trouble with 2. My prof told us to use ode45, and this is what I'm thinking:

Z='(-1^4)*x*Dx+(8*y-y^3-13)*Dy=0'
[x,y]=ode45(Z, -10:10, 4)

but I'm getting some errors that its not a proper function name, and some stuff with feval.
Is the problem with the Dy and Dx? My prof suggested using inline, but i read that its older syntax that doesn't really help much, according to mathworks :/

Any suggestions? thanks!
 
Physics news on Phys.org
ode45 (and all the other FD solvers in matlab) need you to provide it with a function that evaluates the differential equation at a given point. For example, check out function handles.
 
Back
Top