I am having trouble getting the Best fit line through the data points in these two codes can you please help me out where I am messing up the code?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
%PS253 Lab 7 Analysis
close all
clear all
clc
figure(1)
%Analysis Stretch
x = [.015 .018 .025 .027 .033 .04 .044 .049 .055 .058 .065 .07 .075 .081 .087];
y = [.637 .686 .882 .98 1.176 1.3906 1.47 1.66502 1.86004 1.95804 2.15404 2.35004 2.44608 2.64306 2.83808];
err = .025*ones(size(y));
errorbar(x,y,err,'.')
p = polyfit(x,y,1);
%Find the slope in th graph
slope = (15*sum(x.*y)-sum(x).*sum(y))./(15*sum(x).^2.-(sum(x)).^2);
hold on
Q = slope.*x;
plot (x,Q,'r-')
legend('Data Points','Best Fit')
title ('Stretch')
xlabel ('Length (m)')
ylabel('Force (N)')
hold off
figure
%Analysis Part 2 Oscillations
M = [.14990 .19980 .24970 .26970 .2897 .2996 .31950 .33950 .34950 .36950 .38950 .39950 .4094 .41940 .54950];
T = [24.0 31.8 32.8 42 46 47.6 50.7 53.8 55.4 58.5 61.7 63.3 64.8 66.4 86.8];
err = .08*ones(size(M));
errorbar(M,T,err,'.')
p = polyfit(M,T,1);
%Find the slope in th graph
slope = (15*sum(M.*T)-sum(M).*sum(T))/(15*sum(M).^2.-(sum(M)).^2)
Q = slope.*M;
plot (M,Q,'r-')
hold on
legend('Data Points','Best Fit')
title ('Expected T')
xlabel ('Mass (kg)')
ylabel('T (s)')
hold off
%PS253 Lab 9 Analysis
% T equals change of temp. J equals change of L K equals original L. L
% equals 1L/2L.
close all
clear all
clc
figure(1)
%Analysis Brass
T = [52 51 49 45 38 26 0];
J = [.1 .15 .16 .19 .26 .35 .7];
K = 518.0;
L = J./K;
err = .0005*ones(size(L));
errorbar (T,L,err,'.')
slope = (sum(T.*L)./sum(T.^2));
dslope = (1./(sqrt(sum(T.^2))));
hold on
Q = slope.*L;
R = dslope.*L;
plot (T,Q,'r-')
plot (T,R,'b-')
legend('Data Points','Equation 4','Equation 5')
title ('Steel Thermal Expansion')
xlabel ('Temp Change Celcius')
ylabel('Length')
hold off
figure
clc
%Analysis Steel
T = [0 20.0 35.0 44.0 48.0 51.0 52.0];
J = [.340 .220 .160 .110 .090 .060 .040];
K = 518.0;
L = J./K;
err = .0005*ones(size(L));
errorbar(T,L,err,'.')
%Find the slope in th graph
slope = (sum(T.*L)./sum(T.^2));
dslope = (1./(sqrt(sum(T.^2))));
hold on
Q = slope.*L;
R = dslope.*L;
plot (T,Q,'r-')
plot (T,R,'b-')
legend('Data Points','Equation 4','Equation 5')
title ('Steel Thermal Expansion')
xlabel ('Temp Change Celcius')
ylabel('Length')
hold off
0 Kommentare
Antworten (1)
KSSV
am 2 Dez. 2021
Use polyval to evaluate the data points of fit curve.
figure(1)
%Analysis Stretch
x = [.015 .018 .025 .027 .033 .04 .044 .049 .055 .058 .065 .07 .075 .081 .087];
y = [.637 .686 .882 .98 1.176 1.3906 1.47 1.66502 1.86004 1.95804 2.15404 2.35004 2.44608 2.64306 2.83808];
err = .025*ones(size(y));
errorbar(x,y,err,'.')
p = polyfit(x,y,1);
%Find the slope in th graph
slope = (15*sum(x.*y)-sum(x).*sum(y))./(15*sum(x).^2.-(sum(x)).^2);
hold on
% Q = slope.*x;
Q = polyval(p,x) ;
plot (x,Q,'r-')
legend('Data Points','Best Fit')
title ('Stretch')
xlabel ('Length (m)')
ylabel('Force (N)')
hold off
0 Kommentare
Siehe auch
Kategorien
Mehr zu 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!