蓝色梧桐 发表于 2008-3-27 21:39:10

关于切线

[转于研学论坛]

貌似很多网友问如何做曲线的切线。方法很多,Origin 也有相关的插件。这里想讨论一下到底怎么去寻找切线。其实这是个中学的数学问题,很简单,只要稍微多想那么一点点就可以了。所以,在发问前请多思考一下,什么问题都问很难得到回帖的。

你可以用 Origin,可以用 MatLab,也可以手算。wiki 上关于切线的定义是:切線(Tangent line) 设L为一条曲线,A,B为此曲线上的点,过此二点作曲线的割线,令B趋向A,如果割线的极限存在,则称此极限(一条直线)为曲线在A的切线。

如果函数形式已知,比如圆,我们可以求出某一点切线的数值解,这只是个解方程的问题而已。但一般情况下,我们拿到的是实验数据,函数形式往往未知,那请记住:离散点连成的曲线无法精确地求切线。这时候,我们可以根据上面切线的定义,用极限的思想,去求某点的切线。比如,有一组数据点 P, P{p1, p2, ... pn, p(n+1), ... pk}。如果要求 pn 的切线,如果 (Delta)p = abs( pn-p(n+1) ) 足够小,那么求出 ( pn, p(n+1) ) 两点间的斜率,就近似认为是切线斜率了。

很简单吧?Origin 的 Pick2Points.ogs,Tangents.OPK 这两个东东都是这样算切线的,应该不难使用,不会的话先练练英文,到 OriginLab 网站上看说明,^_^。

http://www.originlab.com/fileexchange/index.aspx

那么如何得到更精确的切线值呢?把 (Delta)p 做得足够小即可。这时候你可以用插值,在原数据上插出足够多个点,或者用某个函数拟合,让其输出足够多个拟合的数据点就可以了。

写了很多废话,问题也很简单,大学生一眼就看穿了,希望以后类似的问题尽量少出现。

don1989 发表于 2008-4-5 20:23:12

回复 1# 的帖子

问题在于,拟和的话,曲线的特征跟你用什么函数来拟和很有关系啊。尤其是局部的形状。对切线影响是很大的 啊

蓝色梧桐 发表于 2008-4-7 13:16:14

本来离散点求切线就只能是个近似值
页: [1]
查看完整版本: 关于切线