【问题标题】:Extract coefficients from symbolic expression从符号表达式中提取系数
【发布时间】:2016-09-21 23:19:05
【问题描述】:

syms h

g=exp(h)+h*exp(h)+h^2

所以,g 相对于h 的系数由函数coeffs 给出:

coeffs(g,h)

然后它返回:

[exp(h),exp(h),1]

就像这个函数处理h中的多项式一样的符号表达式。

问题是这个函数不返回零系数,所以如果我有一个

g=h*exp(h)+h^2

函数只返回:

[exp(h), 1].

但我需要的是:

[0,exp(h), 1]

那么,我可以在这里做什么?

【问题讨论】:

    标签: matlab symbolic-math coefficients


    【解决方案1】:

    我去了很多关于 SO 的话题,解决方案是:

    syms  h
    g=h*exp(h)+h^2
    m = eval(feval(symengine,'coeff',g,h,'All'));
    

    【讨论】:

      【解决方案2】:

      我不想成为那些讲课的海报中的一员,但这已在 Matlab 帮助 (help coeff) 或 online 中列出

      coeffs(g,h, 'All')
      

      【讨论】:

      • 我认为你的意思是coeffs(g,h,'All'),因为coeff 不存在。函数coeffs 的问题是你不能输入三个参数,它只接受两个。你测试过你的答案吗?
      • 是的,我测试过了。我只是重新输入了它,因为它太短了。点击该链接,您会看到这是一个选项。
      猜你喜欢
      • 1970-01-01
      • 2015-12-27
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多