How to draw tangent line at infleciton point?
7 ビュー (過去 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;
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/151748/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/151749/image.png)
2 件のコメント
jayraj rajput
2020 年 12 月 12 日
can you share your matlab code for draw tangent at inflection point ?
Star Strider
2020 年 12 月 12 日
採用された回答
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!