matlab 在使用Coeffs和Collect时出现的奇怪问题

dnph8jn4  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(527)

以下是代码。

expr = 3/z + 2*z^2 + 7*z^3;
[cx,tx] = coeffs(expr)

下面是错误消息。
预期使用symEngine多项式表达式时出错。
在sym/mupAdmexnout中出错(第1177行)out=mupadmex(fcn,args{:});
Sym/coeffs出错(第62行)[csym,tSym]=mupadmexnout(‘symobj::coeffsterms’,p,args{:});
使用Collect时的另一个问题。

syms t z
sympref('PolynomialDisplayStyle','ascend');

a = 5;
n(t) = taylor(cos(t),t,'ExpansionPoint',pi,'Order',a);
s1(t) = taylor(1/(t^2),t,'ExpansionPoint',pi,'Order',a);
s2(t) = 1/(t-pi)^3;
nu(z) = subs(n, t-pi, z)
s(z) = expand(subs(s1 * s2, t-pi, z));
laurent(z) = expand(nu * s)
expr = 3/z + 2*z^2 + 7*z^3;
coeffs_z = collect(laurent,z)

$$\frac{-5,z^8+{\Left(4,\pi\right)},z^7+{\Left(60-3,\pi^2\right)},z^6+{\Left(2,\pi^3-48,\pi\right)},z^5+{\Left(36,\pi^2-\pi^4-120\right)},z^4+{\Left(96,\pi-24,\pi^3\right)},z^3+{\Left(12,\pi^4-72,\pi^2\right)},Z^2+{\Left(48,\pi^3\Right)},z-24,\pi^4}{{\Left(24,\pi^6\Right)},z^3}$$

它的分母是24pi^6z^3,我怎么才能去掉这个分母呢?

h4cxqtbf

h4cxqtbf1#

从错误消息中:
预期使用symEngine多项式表达式时出错。
从文档中:
C=coeffs(P)返回多项式p相对于由symvar确定的所有变量p的系数。
表达式expr = 3/z + 2*z^2 + 7*z^3;不是多项式(对于n>=03/z的形式不是a*z^n)。
问题的其余部分是一个单独的问题,应该放在不同的帖子上。

相关问题