Ряд Тейлора против численного решения нелинейного ДЭ в клене
Я хочу построить два графика: числовое решение DE и приближение рядов Тейлора для заданного DE. я имею
de := diff(y(x), x$2) = x+y(x)-y(x)^2;
cond := y(0) = -1, (D(y))(0) = 1;
stp := 0.1e-1;
a, b := -5, 30;
numpts := floor((b-a)/stp+1);
p := dsolve({cond, de}, y(x), numeric, stepsize = stp, output = listprocedure);
Заговор eval
дает странную вертикальную линию, в то время как я ожидаю получить график, который, кажется, колеблется как x -> ∞
, Для серии Тейлор, я пытался f:=[seq(taylor(y(x),x=i,n),i=-5..30 by stp)];
но похоже, что это не сработает. Что я могу с этим сделать? Почему мой сюжет отличается от ожидаемого?
1 ответ
Решение
restart;
kernelopts(version);
Maple 2018.0, X86 64 LINUX, Mar 9 2018, Build ID 1298750
de := diff(y(x), x$2) = x+y(x)-y(x)^2:
cond := y(0) = -1, (D(y))(0) = 1:
stp := 0.1e-1:
a, b := -5, 30:
numpts := floor((b-a)/stp+1):
p := dsolve({cond, de}, y(x), numeric, stepsize = stp,
output = listprocedure):
Y:=eval(y(x),p);
Y := proc(x) ... end;
plot(Y, 0..20);
Order:=10:
S := convert(rhs(dsolve({cond, de}, {y(x)}, series)),polynom);
plot([S, Y(x)], x=0..1.5);
Order:=40:
S := convert(rhs(dsolve({cond, de}, {y(x)}, series)),polynom):
plot([S, Y(x)], x=0..2.0);