I used bvp4c to solve second order differential equation: A*y'' = f(y), now I want to get some special values from the solutions. How to get the values of y'' and y' from each point?

 Akzeptierte Antwort

Torsten
Torsten am 4 Mai 2015

1 Stimme

If you solved your equation by solving the System
y1'=y2
y2'=f(y)/A,
you can get y' and y'' by
yp=deval(sol.yp,sol.x);
plot(sol.x,yp(1,:),sol.x,yp(2,:));
Here, yp(1,:)=y' and yp(2,:)=y''.
Best wishes
Torsten.

2 Kommentare

Jane
Jane am 4 Mai 2015
Bearbeitet: Jane am 4 Mai 2015
Torsten, thank you very much for your kind help! Sorry to trouble you again, when I use:
yp=deval(sol.yp,sol.x);
it shows:
Error using deval
must be a structure returned by a differential equation solver.
Error in bvp3
yp = deval(sol.yp,sol.x);
What would be wrong with it?
You must call deval with the solution obtained by bvp4c.
Thus
sol=bvp4c(...);
yp=deval(sol.yp,sol.x);
Best wishes
Torsten.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 4 Mai 2015

Kommentiert:

am 5 Mai 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by