MATLAB: Ode45 with multiple variables

MATLABode45

How can l solve the system with multiple variables using ode45? For example l want to solve the following system for variables x1 x2 y1 y2 with respect to time t:
x1'=x2/4 – (5*x1)/16 + (15*y1)/16 – (3*y2)/4 – x1*(x1^2 + y1^2 – 1) – 3*y1*(x1^2 + y1^2)
y1'= (3*x2)/4 – (15*x1)/16 – (5*y1)/16 + y2/4 + 3*x1*(x1^2 + y1^2) – y1*(x1^2 + y1^2 – 1)
x2'=x1/8 – (5*x2)/16 + x3/8 – (3*y1)/8 + (15*y2)/16 – (3*y3)/8 – x2*(x2^2 + y2^2 – 1) – 3*y2*(x2^2 + y2^2)
y2'=(3*x1)/8 – (15*x2)/16 + (3*x3)/8 + y1/8 – (5*y2)/16 + y3/8 + 3*x2*(x2^2 + y2^2) – y2*(x2^2 + y2^2 – 1)
My question is that is there a simple way to repersent the variables x1 y1 x2 y2 when use ode45 to solve the equations in time rather than defining each variable as A(1)=x1,A(2)=y1A(3)=x2,A(4)=y2
Is there a approach that allows me to:
f=@(t,x1,y1,x2,y2) ……………
[t,R]=(f,tspan,initial condition);
So that i will not need to repersent each variable as the elements in the matrix A. Please help me, thank you very much.

Best Answer

Below is the right way to do , but maybe you're looking for matlabFunction()?
Y = zeros(4,1);
Y(1)=x1
Y(2)=y1
Y(3)=x2
Y(4)=y2