How would i go about adding a line of best fit to this plot?
E = 6.9*10^10;
xaxis = [-20, -11.8, 0.4, 9.4, 20];
stress = [0.00039174, 0.00017886, -2.02e-06, -0.000214, -0.0002926]*E;
stress1 = stress;
plot(xaxis, stress1, 'r', 'Marker', '*')
xlabel('Vertical Distance from Neutral Axis (mm)')
ylabel('Stress (N/mm^2)')
title('Stress data with respect to Neutral axis')
legend('Stress data')

 Accepted Answer

It depends on what you intend by ‘best fit’.
For a linear fit, add these lines:
P = polyfit(xaxis, stress, 1);
linfit = polyval(P, xaxis);
hold on
plot(xaxis, linfit, '--b')
hold off
so the complete code si now:
E = 6.9*10^10;
xaxis = [-20, -11.8, 0.4, 9.4, 20];
stress = [0.00039174, 0.00017886, -2.02e-06, -0.000214, -0.0002926]*E;
stress1 = stress;
plot(xaxis, stress1, 'r', 'Marker', '*')
xlabel('Vertical Distance from Neutral Axis (mm)')
ylabel('Stress (N/mm^2)')
title('Stress data with respect to Neutral axis')
legend('Stress data')
P = polyfit(xaxis, stress, 1);
linfit = polyval(P, xaxis);
hold on
plot(xaxis, linfit, '--b')
hold off
For a different fitting function, use a different model, and likely fminsearch rather than polyfit if it is not a polynomial function.
That is your call.

2 Comments

The linear fit is perfect thankyou!
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.

Sign in to comment.

More Answers (0)

Categories

Find more on Stress and Strain in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!