Undefined function 'diff' for input arguments of type 'cfit'.

2 views (last 30 days)
% How do I differentiate the f function so as to get a change in slope graph.
L = 152.4;
b = 76;
d = 12.5;
data = readmatrix('H-3point_63_1.csv');
displacement = data(:,2);
force = data(:,3);
% Cleaning the Data
corr_val = find(force<0|force==0);
if corr_val>0
val = max(corr_val)+1;
else
val = 1;
end
% Plotting Raw Data
plot(displacement(val:end),force(val:end),'-or')
xlabel('Displacement (mm)')
ylabel('Force (kN)')
% Finding and plotting peak force
peakforce = max(force(val:end));
A = find(force == peakforce);
B = max(A);
hold on
plot(displacement(B),force(B),'r*')
% Flexural Strength
sigma = 3*peakforce*L/(2*b*(d^2));
% Curve Fitting
f=fit(displacement(val:end),force(val:end),'poly6');
plot(f,'b')
% Slope
df = diff(f);
  1 Comment
Yash Mistry
Yash Mistry on 11 Aug 2020
I have used the MATLAB addon called Curve Fitting. Please help me with this small doubt.
Thank you so much.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 11 Aug 2020
Edited: KSSV on 11 Aug 2020
<https://www.mathworks.com/help/curvefit/sfit.differentiate.html>
differentiate() not diff()
You will need to pass in the locations to differentiate at.

Community Treasure Hunt

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

Start Hunting!