从matlabFunction返回多项式系数作为数组

时间:2016-08-25 11:47:27

标签: arrays matlab symbolic-math polynomials coefficients

使用符号数学我使用poly2sim以下列方式生成多项式:

nOrderA=input('Power of=')
A = sym('A', [1 nOrderA])
p = poly2sym(A,x)

这将返回一个多项式,其顺序取决于用户输入。在用户输入为3的情况下,p的输出由

给出
p = (sym)

       2
  A₁₁⋅x  + A₁₂⋅x + A₁₃

我打算将此输出用作函数,并执行以下操作:

F = matlabFunction((p))

返回的F值为

@(A11, A12, A13, x) A11 .* x .^ 2 + A12 .* x + A13

这里代替系数A11,A12,A13作为函数的单独输入,我想把它们作为一个系数数组输入,即

返回的F值应为

 @(A, x) A11 .* x .^ 2 + A12 .* x + A13

其中A = [A11,A12,A13]

我应该怎么做呢?

1 个答案:

答案 0 :(得分:0)

使用coeffs功能:

C = coeffs(p)

返回pp确定的所有变量的多项式symvar的系数。