计算测量数据的切线



我有一些测量数据要绘制。我只绘制点,并使用Curve Fitting工具箱生成我绘制的回归函数。

现在我想计算并绘制某个点上的切线。如何使用Matlab做到这一点?

如果你有点和函数,你可以计算切线,即:

假设期望的索引是 5。y = mx+n

m = (diff(y) ./ diff(y)) (5)
n = y(5)-x(5)*m

然后

hold on

plot (x, (m*x+n));

链接:

http://www.kxcad.net/cae_MATLAB/toolbox/curvefit/bqxox7w.htmlhttp://www.weizmann.ac.il/matlab/toolbox/curvefit/cfit.htmlhttp://www.mathworks.com/matlabcentral/newsreader/view_thread/170100

在@0x90的帮助下,我得到了解决方案:

zerocross = ceil(fzero(fit, 1000));
x_tan = zerocross-101:0.1:zerocross+100;
y_tan = feval(fit, x_tan);
k = (diff(y_tan) ./ diff(x_tan));
k = k(length(k) / 2); % get zero point
d = y_tan(5)-x_tan(5)*k;
plot (x_tan, (k*x_tan+d));

最新更新