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

Matlab使用inline调用变量存储的方程时coeffs函数报错如何解决

报错原因

  • coeffs 是Matlab符号数学工具箱专属函数,仅支持符号表达式、符号多项式类型的输入参数
  • 你通过inline()把输入的方程字符串转为了数值函数对象,该类型不属于coeffs的合法输入范围,因此触发数据类型不匹配报错

解决方案

不需要做inline转换,直接将输入的字符串方程转为符号表达式即可,修正后代码如下:

syms x;
eq = input('Enter Equation Of Divisor: ','s');
% 将字符串转为符号表达式即可,无需转inline
p = str2sym(eq); % 低版本Matlab可替换为 p = sym(eq);
c = coeffs(p);
disp(c);

效果验证

输入x-4时,输出结果为[-4,1],符合预期。

补充说明

  • 若需要调整系数输出顺序、指定提取系数的对应变量,可以给coeffs补充参数,例如按x的降幂输出可写为coeffs(p, x, 'All')
  • 输入的方程中仅允许出现提前声明过的符号变量(此处为x),不可包含其他未定义字符

内容的提问来源于stack exchange,提问作者shakaib naqvi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:36:04