繁体   English   中英

如何归一化分数中的多项式系数?

[英]How to normalise polynomial coefficients in a fraction?

我有以下代码:

syms z
Gc=1.582*(1-0.3679*z^-1)/(1+.418*z^-1);
Ghp=.3679*(z^-1)*(1+.718*z^-1)/((1-z^-1)*(1-.3679*z^-1));
T=(Gc*Ghp)/(1+Gc*Ghp);
clipboard('copy', latex(simplifyFraction(T)));

T结果如下:

在此处输入图片说明

如何归一化系数? 即我希望分母中的 z 2和分子中的 z 的系数为 1。Matlab 中是否有任何函数可以这样做?

您可以提取分子和分母numden ,然后让他们coefficiens与coeffs再次,规范化多项式,和鸿沟。

[n,d] = numden(T);
cn = coeffs(n);
cd = coeffs(d);
T = (n/cn(end))/(d/cd(end));

latex(T)的输出(注意:现在没有simplifyFraction ;它会撤消事情):

输出

如果您更喜欢十进制形式的系数,请使用vpa(T) :这里是latex(vpa(T))

vpa


当然,以上不等于您的原始分数,因为我实际上将其乘以cd(end)/cn(end) 根据您的目的,您可以

  • 在计算中分别保留常数系数cn(end)/cd(end) ,或
  • 使用(cn(end)/cd(end))*((n/cn(end))/(d/cd(end))); 把它放回去。不幸的是,Matlab 太急于将两个分数合二为一,但您仍然可以看到归一化多项式。

新图片

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM