Mouli Modak
Mouli Modak

Reputation: 1

How do I get the values of y and y' for specific values of t from ode45 in Matlab?

I have to solve a second-degree differential equation and I specifically need the value of the first derivative of y at the final time point. My code is the following:

[T Y]=ode45(@(t y)vdp4(t,y,0.3),[0 1],[0.3/4,((3*0.3)^0.5)/2]);

I know the output will contain the values at which ode45 evaluated the function. To get the y values at specific time value at have it has been advised to give more than two time points in the MATLAB documentation. I did that too.

tspan=[0:0.01:1]
[T Y]=ode45(@(t y)vdp4(t,y,0.3),tspan,[0.3/4,((3*0.3)^0.5)/2]);

The T vector still does not have all the values from 0 to 1 (The last value is 0.39). This happens especially after multiple executions of ode45 function. I found something else in the MATLAB documentation: using "sol" structure to deval the values for specific t values. Is that the right way to go? For reference, my differential equation is in the following function.

function dy = vdp4(t,y,k)

dy = zeros(2,1);    % a column vector

dy(1)=y(2);
dy(2)=(y(2)^2-2*t*y(2)+2*y(1))/k+2;

end

Edit: I provided the parameter value. It should now be executable.

Upvotes: 0

Views: 1067

Answers (1)

shade
shade

Reputation: 161

Try to plot your solution, you will find the answer

Upvotes: 0

Related Questions