От символического к правильному дифференцированию в максимах - PullRequest
0 голосов
/ 25 ноября 2018

Я изо всех сил пытаюсь найти способ перейти от символьного объявления дифференциального оператора к его реализации

Я приведу вам пример.

F: (10-'diff(x(t),t)^2 -2*x(t)*'diff(x(t),t) -5*x(t)^2)*%e^(-t);

E: ratsimp(diff(F, x(t)) - diff(diff(F, 'diff(x(t),t)), t));

sol: ode2(E, x(t), t);
sol: ev(sol, [%k1 = C1, %k2=C2]);

trans_cond: diff(F, 'diff(x(t), t));
trans_cond: ev(trans_cond, sol);
trans_cond: at(trans_cond, [t=1]);

Соответствующий вывод поддерживаетсимволическая запись, тогда как я хотел бы оценить diff (), полученный после последней замены.

Дать результат:

% 4*C1-C2^(-2)

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Другое решение.Опция nouns для ev вызывает оценку символьных производных, а также любых других существительных выражений, таких как символьные интегралы, символьные суммирования и т. Д.

(%i2) 'diff(4*x^2, x);
                            d      2
(%o2)                       -- (4 x )
                            dx
(%i3) ev (%o2, nouns);
(%o3)                          8 x

Признается более короткая форма ev(..., nouns)по интерактивной консоли.Вместо этого вы можете ввести ..., nouns.

(%i5) %o2, nouns;
(%o5)                          8 x

Здесь ev(..., nouns) применяется к символьному интегралу:

(%i6) 'integrate (x^2, x);
                             /
                             [  2
(%o6)                        I x  dx
                             ]
                             /
(%i7) %, nouns;
                                3
                               x
(%o7)                          --
                               3

и здесь, к символическому суммированию:

(%i8) 'sum (f(k), k, 1, 3);
                            3
                           ====
                           \
(%o8)                       >    f(k)
                           /
                           ====
                           k = 1
(%i9) %, nouns;
(%o9)                  f(3) + f(2) + f(1)
0 голосов
/ 25 ноября 2018

Найдя ответ, ev () содержит опцию diff, которая решает все символические различия в выражении.

...