How to draw tangent line at infleciton point?
22 次查看(过去 30 天)
显示 更早的评论
Hy
I would like to draw line to curve at inflection point... the code what I use to find a the point is:
figure(1)
load('data.mat')
plot(t,y);
hold on;
ypp = diff(y,2);
% Find the root using FZERO
t_infl = fzero(@(T) interp1(t(2:end-1),ypp,T,'linear','extrap'),0)
y_infl = interp1(t,y,t_infl,'linear')
plot(t_infl,y_infl,'ro');
hold off;
采纳的回答
Star Strider
2015-11-15
You have the slope at the inflection point as well as the ‘t’ and ‘y’ values at the inflection point, so all you need to do to draw the tangent line at the inflection point is to calculate the slope ‘b’, and that is straightforward.
I would use the gradient function to calculate the derivative, not diff, and the del2 function to calculate the second derivative, both because they are more accurate and because the result of each vector is the same length as the input vector.
5 个评论
blpanther
2016-3-18
Hi, I try to run this script - I have just two columns of excel data and I get the following errors when trying to run: Error using griddedInterpolant The grid vectors must contain unique points.
Error in interp1 (line 161) F = griddedInterpolant(X,V,method);
Error in test1 (line 6) t_infl = interp1(d1y, t, max(d1y)); % Find ‘t’ At Maximum Of First Derivative
what can be causing this problem? Many thanks
Pedro Inácio
2017-10-17
Hi, I think you just need to change the line:
t_infl = interp1(d1y, t, max(d1y));
By,
t_infl = interp1(t, d1y, max(d1y));
I hope it helps.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!