如何省略掉多项式中关于无穷小量的高次项及其乘积项?
mathematica吧
全部回复
仅看楼主
level 1
2022年11月01日 02点11分 1
level 1
SetAttributes[{l, m, g, k, l0}, Constant];
T = 1/2 m (Dt[r, t]^2 + r^2*Dt[\[CurlyPhi], t]^2);
V = 1/2 k (r - l0)^2 - m*g*r (1 - 1/2 \[CurlyPhi]^2);
T = T //. r -> (z + 1) l;
V = V //. {r -> (z + 1) l, l0 -> l - m*g/k};
T = Simplify[T]
V = Simplify[V]
比如说z和[CurlyPhi]及其导数都是无穷小量,如何省略掉多项式中高于三次的z和[CurlyPhi]的项及其乘积项
2022年11月01日 03点11分 2
In[4052]:= Series[Exp[I*x], {x, 0, 3}] Out[4052]= SeriesData[x, 0, {1, Complex[0, 1], Rational[-1, 2], Complex[0, Rational[-1, 6]]}, 0, 4, 1] In[4053]:= Normal[%] Out[4053]= 1 + I x - x^2/2 - (I x^3)/6 不知道这是不是你想要的
2022年11月01日 08点11分
level 1
刚刚学mathematica,捣鼓了一天,借鉴了这个问题的回答https://tieba.baidu.com/p/5970083794
SetAttributes[{l, m, g, k, l0}, Constant];
T = 1/2 m (Dt[r, t]^2 + r^2*Dt[\[CurlyPhi], t]^2);
V = 1/2 k (r - l0)^2 - m*g*r (1 - 1/2 \[CurlyPhi]^2);
T = T //. r -> (z + 1) l
V = V //. {r -> (z + 1) l, l0 -> l - m*g/k}
Total[Cases[Expand[T],
m__ /; Total[
Exponent[m, #] & /@ {z, Dt[z, t], \[CurlyPhi],
Dt[\[CurlyPhi], t]}] < 4]]
Total[Cases[Expand[V],
m__ /; Total[
Exponent[m, #] & /@ {z, Dt[z, t], \[CurlyPhi],
Dt[\[CurlyPhi], t]}] < 4]]
2022年11月01日 13点11分 3
level 7
series〔表达式,{z,0,3}〕
2022年11月04日 12点11分 4
再加个//Normal
2022年11月04日 12点11分
1