How to add "erf()" part to the ode solution?

2 visualizaciones (últimos 30 días)
Ali Deniz
Ali Deniz el 19 de Oct. de 2022
Comentada: Ali Deniz el 20 de Oct. de 2022
Hi,
I have the ODE : y' = -x+2+10*e^(10*(x-1)^2)
I have numeric solution of below:
I have a analytical solution of ODE below:
y (x)= C1 + 2*x - x^2/2 + (10^(1/2)*pi^(1/2)*erfi(10^(1/2)*(x - 1)))/2, y(0)=1
when I plot the analytical solution without "erfi()" part, the graph is below:
The curve is similar to numarical solution but there is evident error. I think, this error is because of "erf" part of the analytical solution. How can I plot the analytical solution with the "erf()" part. Thank you.

Respuesta aceptada

Torsten
Torsten el 19 de Oct. de 2022
Editada: Torsten el 19 de Oct. de 2022
syms x y(x)
eqn = diff(y,x) - (-x+2+10*exp(-10*(x-1)^2)) == 0;
cond = y(0)==1;
sol = dsolve(eqn,cond)
sol = 
fplot(sol,[0 6])
  3 comentarios
Les Beckham
Les Beckham el 19 de Oct. de 2022
Without the symbolic toolbox:
x = linspace(0, 6, 1000);
rt = sqrt(10);
rp = sqrt(pi);
y = 2*x - x.^2/2 + (rt*rp*erf(rt))/2 + (rt*rp*erf(rt*(x-1)))/2 + 1;
plot(x,y)
grid on
Ali Deniz
Ali Deniz el 20 de Oct. de 2022
Thank you very much.
-Ali

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Numerical Integration and Differential Equations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by