how to numerical solve d2y/dx2+f(x)dy/dx+y=0 in matlab. if f(x)=x^2+2x+1
18 views (last 30 days)
Show older comments
solving ODE for boundary condition y(0)=1,y(2)=10
Answers (1)
Triveni
on 2 Jan 2016
Edited: Triveni
on 2 Jan 2016
syms x y;
f=x^2+2*x+1;
df= diff(f);
d2f = diff(df);
solution = d2f + f *(df) + y;
i don't know whya re are you using isequalto 0 in "d2y/dx2+f(x)dy/dx+y=0"
or
syms x y;
f=x^2+2*x+1;
dy = diff(y);
d2y = diff(dy);
solution = d2y + f* dy + y;
3 Comments
Walter Roberson
on 3 Jan 2016
Well the symbolic solution is
HeunT(3^(2/3), -3, 0, (1/3)*3^(2/3)*(x+1)) * (exp(-26/3) * HeunT(3^(2/3), -3, 0, 3^(2/3)) * (int(exp((1/3)* z1 * (z1^2 + 3*z1+3)) / HeunT(3^(2/3), -3, 0, (1/3)*3^(2/3) * (z1+1))^2, z1, 0, 2)) - (int(exp((1/3) * z1*(z1^2+3*z1+3)) / HeunT(3^(2/3), -3, 0, (1/3)*3^(2/3)*(z1+1))^2, z1, 0, x)) * (exp(-26/3) * HeunT(3^(2/3), -3, 0, 3^(2/3)) - 10 * HeunT(3^(2/3), -3, 0, (1/3)*3^(2/3)))) * exp(-(1/3) *x * (x^2 + 3*x + 3)) / (exp(-26/3) * HeunT(3^(2/3), -3, 0, 3^(2/3)) * (int(exp((1/3)*z1 * (z1^2 + 3*z1+3)) / HeunT(3^(2/3), -3, 0, (1/3)*3^(2/3) * (z1+1))^2, z1, 0, 2)) * HeunT(3^(2/3), -3, 0, (1/3)*3^(2/3)))
where z1 is a temporary variable of integration.
Notice the three unresolved integrals for which there is no known closed form solution. The symbolic solution might tell you what you need to calculate but it is not a numeric solution at all, and the original poster specifically asked for a numeric solution.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!