在 Maxima 中从符号分化到适当分化
From symbolic to proper differentiation in Maxima
我正在努力寻找一种方法来从微分运算符的符号声明切换到它的实现
我举个例子
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)
找到答案了,ev()带有选项diff,解决了表达式中的所有符号微分
另一种解决方案。 ev
的 nouns
选项导致符号导数的计算,以及任何其他名词表达式,如符号积分、符号求和等。
(%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)
我正在努力寻找一种方法来从微分运算符的符号声明切换到它的实现
我举个例子
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)
找到答案了,ev()带有选项diff,解决了表达式中的所有符号微分
另一种解决方案。 ev
的 nouns
选项导致符号导数的计算,以及任何其他名词表达式,如符号积分、符号求和等。
(%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)