Polyfit with plot, semilogx, semilogy, and loglog scales.
22 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
So I have vector x and vector y, and I need to determine which scale fits the data.
x = 2004:2015;
y = [9214, 9271, 9320, 10413, 10930, 11242, 10873, 11801, 13245, 14728, 15463, 16297];
So I decided to use polyfit and use all the plots and let MATLAB show me which one best fits.
%Output:
subplot(1,3,1)
p1 = polyfit(x_new,y,1);
m1 = p1(1);
b1 = p1(2);
plot(x, y, 'o', x, m1.*x+b1), xlabel('years'), ylabel('sales'), title('years vs sales')
subplot(1,3,2)
p2 = polyfit(x_new,log(y),1);
m2 = p2(1);
b2 = 10^(p2(2));
semilogy(x, y, 'o', x, b2*10.^(m2.*x)), xlabel('years'), ylabel('sales'), title('years vs sales')
subplot(1,3,3)
p3 = polyfit(log10(x),log10(y),1);
m3 = p3(1);
b3 = 10^(p3(2));
loglog(x, y, 'o', x, b3.*x.^m3), xlabel('years'), ylabel('sales'), title('years vs sales')
And this is the graph I am getting:
I think the first one is right, and I believe that the line shouldn't look like that in the second one, and the third is just not working for some reason!!!
0 commentaires
Réponses (1)
Prabhan Purwar
le 2 Mar 2020
Hi,
Try fitting a higher degree of a polynomial using polyfit function while fitting a curve to logarithmic data as it tends to be a curve rather than a straight line.
For more details refer to the following link
Hope it helps!!
0 commentaires
Voir également
Catégories
En savoir plus sur Interpolation 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!