Extracting polynomial coefficients from function handle

5 views (last 30 days)
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???

Answers (1)

Andrei Bobrov
Andrei Bobrov on 30 Dec 2015
reshape(str2double(regexp(func2str(f),'\d*(?=\*x\^)|(?<=\*x\^)\d*','match')),2,[])'
  1 Comment
meysam esmaeeli
meysam esmaeeli on 30 Dec 2015
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))

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!