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

1 回表示 (過去 30 日間)
Ali Deniz
Ali Deniz 2022 年 10 月 19 日
コメント済み: Ali Deniz 2022 年 10 月 20 日
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.

採用された回答

Torsten
Torsten 2022 年 10 月 19 日
編集済み: Torsten 2022 年 10 月 19 日
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 件のコメント
Les Beckham
Les Beckham 2022 年 10 月 19 日
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 2022 年 10 月 20 日
Thank you very much.
-Ali

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCalculus についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by