How can I fit a scatter plot?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Giada
am 23 Mär. 2023
Beantwortet: Adam Danz
am 23 Mär. 2023
In MATLAB, I created a scatter plot of my data with this code:
Lac = readmatrix("Lac.xlsx", "Range", "B2:Y8");
t = readmatrix("Lac.xlsx", "Range", "A2:A8");
scatter(t, Lac)
t is a 7x1 matrix; Lac is a 7x24 matrix.
How can I fit a line to this scatter plot?
1 Kommentar
Adam Danz
am 23 Mär. 2023
Is your goal to fit all the data together or to fit each of the 7 groups individually?
Akzeptierte Antwort
Adam Danz
am 23 Mär. 2023
This demo shows how to plot a linera fit using the entire data.
t = rand(7,1)*10;
Lac = rand(7,24)+linspace(0,2,7)';
scatter(t,Lac,'bo')
tm = repelem(t,1,size(Lac,2));
If you have the Curve Fitting Toolbox: fit()
mdl = fit(tm(:),Lac(:),'Poly1')
hold on
plot(mdl, 'r--')
Without the Curve Fitting Toolbox: polyfit()
coefs = polyfit(tm,Lac,1)
hold on
refline(coefs(1),coefs(2))
0 Kommentare
Weitere Antworten (1)
Anton Kogios
am 23 Mär. 2023
If you want to fit a line to the data as a whole, I think this should work:
t = 1:7;
Lac = randi(10,[7,24]);
scatter(t,Lac)
[coeffs] = polyfit(t,mean(Lac'),1)
hold on
plot(t,coeffs(1)*t+coeffs(2))
hold off
where the last argument for polyfit is the degree of the fit that you want.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!