2012-04-22 64 views
2

我有一些我想繪製的測量數據。我只繪製點,並用Curve Fitting工具箱生成我繪製的迴歸函數。計算測量數據的正切值

現在我想計算和繪製某一點上的切線。我如何使用Matlab來做到這一點?

回答

2

如果點和功能,可以計算出切線是:

讓的說所需的索引是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.html http://www.weizmann.ac.il/matlab/toolbox/curvefit/cfit.html http://www.mathworks.com/matlabcentral/newsreader/view_thread/170100

+0

是的,如果我有要點的話。假設我有10個數據點。我使用'Curve Fitting'工具箱完成了插值並得到了一個'cfit'對象。如何獲得數據點下的插值? – Razer 2012-04-22 20:26:11

+0

@Razer添加鏈接告訴我,如果它幫助你,如果不是,我會寫你的代碼 – 0x90 2012-04-22 20:30:53

+2

我只是發現自己的功能feval()。我會盡力而爲。 – Razer 2012-04-22 20:37:21

1

隨着@幫助的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)); 
+0

+1。 – 0x90 2012-04-23 04:14:41