MATLAB error in ode45: must return a column vector <p>I am getting this error in my code: </p> <ul> <li><strong>Error using odearguments (line 91) @(T,C)(C1.*((V1.<em>P_OPEN)+V2).</em>(CA_ER-C))-((V3.*(C.^2))/(C.^2+(K3^2))) must return a column vector.</strong></li> </ul> <p>But in the MATLAB documentation there is an example <a href="http://mathworks.com/help/matlab/ref/ode45.html?s_tid=srchtitle#zmw57dd0e475194" rel="nofollow">Example 3</a> where the vectors are given as input but it works just fine. Why is that I get an error in my code?<br> This is my code: </p> <pre><code>Ca_ER = 10e-6; c0 = 2e-6; c1 = .185; v1 = 6; v2 = .11; v3 = .09e6; v4 = 1.2; k3 = .1e-6; a1 = 400e6; a2 = 0.2e6; a3 = 400e6; a4 = 0.2e6; a5 = 20e6; b2 = .21; d1 = 0.13e-6; d2 = b2/a2; d3 = 943.4e-9; d4 = d1*d2/d3; d5 = 82.34e-9; IP= .5e-6; Ca=.001e-6:.01e-6:1e-6; num=Ca.*IP.*d2; deno= (Ca.*IP+ IP*d2+d1*d2+Ca.*d3).*(Ca+d5); p_open=( num./deno).^3; %this is the vector input dc=@(t,c) (c1.*((v1.*p_open)+v2).*(Ca_ER-c))-((v3.*(c.^2))/(c.^2+(k3^2))); [t,c]=ode45(dc,linspace(0, 100, 1000),.19e-6); plot(t,c); </code></pre>