Hello, how do I display the equation for a polyfit line on this plot?

183 vues (au cours des 30 derniers jours)
if true
% code
end
p = polyfit(x,y,1);
d = polyval(p,x);
plot(x,d,'k--')
where x and y are columns of 9, averaged from 3 original sets of 9 data point columns each.
  6 commentaires
Steven Lord
Steven Lord le 2 Juin 2021
One tweak is that you can include + in the format specifier itself to avoid "+ -<number>" while displaying the sign. Look at the linear term in txt1 and txt2.
a = 2;
b = -pi;
c = exp(1);
txt1 = sprintf('y = %.4f*x^2 +%.4f*x +%.4f', a, b, c)
txt1 = 'y = 2.0000*x^2 +-3.1416*x +2.7183'
txt2 = sprintf('y = %.4f*x^2 %+.4f*x %+.4f', a, b, c)
txt2 = 'y = 2.0000*x^2 -3.1416*x +2.7183'
stephen
stephen le 7 Oct 2022
How would you add this equation into the legend?

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 17 Mai 2018
Use text() to display the equation on the graph:
grid on;
% Place equation in upper left of graph.
xl = xlim;
yl = ylim;
xt = 0.05 * (xl(2)-xl(1)) + xl(1)
yt = 0.90 * (yl(2)-yl(1)) + yl(1)
caption = sprintf('y = %f * x + %f', p(1), p(2));
text(xt, yt, caption, 'FontSize', 16, 'Color', 'r', 'FontWeight', 'bold');
  11 commentaires
stephen
stephen le 7 Oct 2022
Great thanks!
Nadir Bait Saleem
Nadir Bait Saleem le 20 Nov 2023
This system works great, thank you!

Connectez-vous pour commenter.

Plus de réponses (1)

the cyclist
the cyclist le 17 Mai 2018
Modifié(e) : the cyclist le 17 Mai 2018

Here is an example of how you can do this.

There are more efficient ways (e.g. using polyval on both the min and max at the same time), but I thought this might be clearer.

rng default
N = 10;
x = randn(N,1);
y = x + 0.3*randn(N,1);
p = polyfit(x,y,1);
x_min = min(x);
x_max = max(x);
d_min = polyval(p,x_min);
d_max = polyval(p,x_max);
figure
hold on
scatter(x,y)
plot([x_min x_max],[d_min d_max],'k--')
  3 commentaires
the cyclist
the cyclist le 17 Mai 2018
Ah, I misunderstood the question. I thought you wanted to graph the equation, and it was not working.
Charles Naegele
Charles Naegele le 17 Mai 2018
Thanks for your response anyway.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects 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!

Translated by