Problem using polyfit with NaN data

Trying to find Young's Modulus in a specific range. I was to plot the the data for that range, but when I try to get the slope value, it gives me NaN. I worked on the code for days and tried various methods and loopholes, but I can't seem to get it.
data = readtable('TITLE.txt','ReadVariableNames',true);
Load = data.Load(1:end);
Displacement = data.Displacement(1:end);
Strain = data.Strain(1:end);
Strain(Strain < 0.001) = NaN;
plot(Strain)
Strain(Strain > 0.003) = NaN;
plot(Strain)
p = plot(Strain, Load, '.', 'color','r')
title('Youngs Modulus','FontSize', 20);
xlabel('Strain (in/in)', 'FontSize', 15);
ylabel('Load(lbf)', 'FontSize', 15);
polyfit(Strain, Load, 1)
polyval(Strain, Load)

 Risposta accettata

Jon
Jon il 18 Nov 2020
Modificato: Jon il 18 Nov 2020
To avoid having NaN in polyfit I would use
iFit = isfinite(Strain)
c = polyfit(Strain(iFit),Load(iFit))
% ok to have NaN when calculating fitted Load
yfit = polyval(c,Strain)
By the way shouldn't Young's Moduls use Tensile Stress (Load/Area) rather than just raw load?

5 Commenti

Jade Pearson
Jade Pearson il 18 Nov 2020
Modificato: Jade Pearson il 18 Nov 2020
I had to change it to
c = polyfit(Strain(iFit),Load(iFit),1)
but it worked! Thank you
Jon
Jon il 18 Nov 2020
Sorry, for the typo. If this solves your problem when you get a chance please accept the answer so others who might have a similar issue will know an answer is available
Jon
Jon il 18 Nov 2020
Thanks - One last style point for the future, the MATLAB answers site encourages brief titles for questions with just the essense of the problem, e.g. Problem using polyfit with NaN data, and then putting the details into the body of the question. Not a big thing but it makes it a little easier to look through the questions if they have brief titles.
Understandable. Thank you, I will remember that.
Jon
Jon il 18 Nov 2020
Very nice - I didn't realize you could edit the original question title. Looks very clean now!

Accedi per commentare.

Più risposte (0)

Richiesto:

il 18 Nov 2020

Commentato:

Jon
il 18 Nov 2020

Community Treasure Hunt

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

Start Hunting!

Translated by