Saving a polynomial function

11 vues (au cours des 30 derniers jours)
Mak Dukan
Mak Dukan le 1 Nov 2021
Hi all,
I have a simple question. How can I save a polynomial function? By this I mean somethign like "p(x)=p1xn+p2xn−1+...+pnx+pn+1", however with all the coeficients and powers? I need to fit multiple curves and would like to avoid having to type the equation every single time.
Here is the code I am using for an example:
p = polyfit(CapFac_DEAll_2019_sorted,HornsRevB_Prc_sort,5);
y1 = polyval(p,CapFac_DEAll_2019_sorted);
Fig1 = figure('Name','HornsRevB vs All DE for 2019');
scatter(CapFac_DEAll_2019_sorted, HornsRevB_Prc_sort,16,'r');
hold on
plot (CapFac_DEAll_2019_sorted,y1,'--b');
hold off
As you can see I am using first polyfit and then polyval to plot the curve and see if its a good fit.
I need these functions to multiply other timeseries values with them.
Thanks,
Mak

Réponses (1)

Walter Roberson
Walter Roberson le 1 Nov 2021
Just save the p variable. It is an ordered list of coefficients, highest degree first. You can use polyval() and polyder()
If you have the symbolic toolbox, you an also use poly2sym() to get an expression that you could either save or use matlabFunction() with (possibly with the 'File' option.)

Catégories

En savoir plus sur Polynomials dans Help Center et File Exchange

Produits


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by