MATLAB: Ode45 two equations

differential equationsode45

Hi there!
I've got a question regarding ode45. There's this question where I've got a system of two equations, one describing y'=sin(xy) and the other x'=cos(x+y). I've got values for x(0) and y(0), which I decide. My issue is how I'm supposed to use ode45 to solve the equations. I'm supposed to draw a graph with the help of ode45. I have never seen a system of equations, where there is both x and x', y and y' on both sides of =.

Best Answer

The ODE functions are defined with the derivative on the left-hand-side of the equal sign, and the expression on the right, so first define ‘x’ as ‘z(1)’ and ‘y’ as ‘z(2)’ (or any variable you want), then:
dzdt(1) = cos(z(1) + z(2)); % x'=cos(x+y)
dzdt(2) = cos(z(1) * z(2)); % y'=sin(xy)
That works for a function file, however this system can also be defined easily as an anonymous function:
dzdt = @(t,z) [cos(z(1) + z(2)); cos(z(1) * z(2))];
That will get you started.
I leave the rest to you.
If you have problems getting your complete code to run, post back here with the code you have written, and describing the problems.