Extracting polynomial coefficients from function handle

5 次查看(过去 30 天)
I have an unknown large polynomial function handle. for example: f=@(x) 1234*x^2000+654*x^1982+....
I want to extract its coefficients. I know that i Can use a code like this:
%
syms y
coefficients=sym2poly(f(y));
%
but its too slow beacause i need this to repeat in a loop more than 10000 times.
is there any way to extract coefficient directly from function handle???

回答(1 个)

Andrei Bobrov
Andrei Bobrov 2015-12-30
reshape(str2double(regexp(func2str(f),'\d*(?=\*x\^)|(?<=\*x\^)\d*','match')),2,[])'
  1 个评论
meysam esmaeeli
meysam esmaeeli 2015-12-30
i said that my polynomial function handle is unknown. in fact it is in a form like this:
%
A = @ (x,a1,a2,a3) [x^2+a1,...]
f = @(x) det (A(x,1,5,6))

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by