With the way you've written this at least one of the inputs to ode_function must be a plactice object. ode45 won't call your function with either t or y a plactice object.
In addition, I suspect you expect that because the ode_function method has additional input arguments beyond the second required one whose names match the properties of your object that MATLAB will "automatically" pass those property values into your ode_function. That is not the case.
You can do this approach using Constant properties and a Static method. You would call it like:
sol = ode45(@plactice.ode_function, plactice.Tspan, plactice.theta_ic)
Here is the updated definition of plactice.
Tspan = linspace(0,2,20);
function [dtheta_dt] = ode_function(t, theta)
dtheta_dt = [dtheta1_dt; dtheta2_dt];
It would be possible to do this with a non-Static method and non-Constant properties, but you would have to pass an instance of your object into ode_function as an additional parameter. The ode45 documentation page includes a link to a page describing a few techniques for passing additional parameters into the ode function.