Polynomial Anonymous function degree
13 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Ashish Sahu
il 27 Apr 2019
Commentato: Walter Roberson
il 28 Apr 2019
How can I find the degree of a given "anonymous function" like f=@(x) x^2+2x; given the functions are only polynomials?
1 Commento
dpb
il 27 Apr 2019
Modificato: dpb
il 27 Apr 2019
Convert to string via func2str and regexp() to return powers of exponentials--find max thereof. Of course, that presumes someone doesn't write a function like using the explicit form of Horner's rule--
f=@(x) (x+2).*x;
in which case you've got more work to do... :)
Risposta accettata
Walter Roberson
il 27 Apr 2019
Build a vector
X = realmax.^(1./(1:50));
Evaluate the function at X. The first result that is finite is probably the degree. However, it is possible for a polynomial with sufficiently large coefficients to generate an infinity "early", or for with sufficiently small leading coefficient to be "late" relative to this, so you should use that as a starting point to do more cross-checking.
3 Commenti
Walter Roberson
il 28 Apr 2019
x^4 is a leading coefficient of 1 which is "suffiently small" in terms of what I wrote above.
Perhaps a slightly different X would help? You should analyze why this case fails to figure out what changes to make.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Polynomials in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!