You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB中coeffs函数为何不返回x³的0系数?

关于MATLAB coeffs函数未返回零系数的原因及解决方法

原因分析

  • MATLAB的coeffs函数默认仅提取多项式中非零的系数,会自动忽略系数为0的项。你的多项式中不存在x³项(系数为0),因此输出结果里不会包含这个0值。
  • 另外需要注意,coeffs默认返回的系数顺序是从低次项到高次项,你得到的[-6, 25, -31, 31, -25, 6]依次对应常数项、x项、x²项、x⁴项、x⁵项、x⁶项的系数,确实跳过了x³的0系数。

解决方法

如果你需要包含所有次数的系数(包括0),可以用以下两种方式:

方法1:使用sym2poly函数

sym2poly会自动返回从高次到低次的完整系数数组,包含所有零系数。示例代码:

syms x;
f = 6*x^6 - 25*x^5 + 31*x^4 - 31*x^2 + 25*x - 6;
cf = sym2poly(f);
disp(cf); % 输出:[6, -25, 31, 0, -31, 25, -6]
% 若需要从低次到高次的顺序,反转数组即可
cf_reversed = flip(cf);
disp(cf_reversed); % 输出:[-6, 25, -31, 0, 31, -25, 6]

方法2:带参数调用coeffs

给coeffs添加'All', true参数,它会返回从0次到最高次的所有系数(包括0)。示例代码:

syms x;
f = 6*x^6 - 25*x^5 + 31*x^4 - 31*x^2 + 25*x - 6;
cf_full = coeffs(f, x, 'All', true);
disp(cf_full); % 输出:[-6, 25, -31, 0, 31, -25, 6]

内容的提问来源于stack exchange,提问作者Deep Voyager

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:30:02