Polynomial Anonymous function degree
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ashish Sahu
le 27 Avr 2019
Commenté : Walter Roberson
le 28 Avr 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 commentaire
dpb
le 27 Avr 2019
Modifié(e) : dpb
le 27 Avr 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... :)
Réponse acceptée
Walter Roberson
le 27 Avr 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 commentaires
Walter Roberson
le 28 Avr 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Polynomials dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!