您的位置:程序门 -> vb -> vba



excel已知曲线求曲线上的点


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


excel已知曲线求曲线上的点
发表于:2008-02-18 09:42:24 楼主
      最近在项目中遇到一个棘手的问题,很长一段时间一直没有得到解决。今天在这里求助各位大侠,能否帮忙出出主意。
      要求大概是这样的:利用excel,在cell里面输几组坐标,然后利用excel的功能生成散布图,接下来要利用这个生成的图的曲线,输入x求y,或者输入y求x。有哪位大侠有好的方法请多多指教,小弟感激不尽。以上要求的具体描述请见附件。
该帖包含附件:
发表于:2008-02-18 10:11:591楼 得分:0
你这个问题有点麻烦,就是无法得到你要通过平滑得到的目标曲线函数。
如果你的曲线就是那三条线段的简单合成,问题就简单了:

你取得三条线段的4个端点坐标,(x1,   y1),   (x2,   y2),   (x3,   y3),   (x4,   y4),存入数组   x(3),   y(3)。
利用线段公式   y   =   ax   +   b   求出线段参数:
a   =   (yn   -   yn-1)   /   (xn   -   xn-1)
b   =   yn   -   axn
存入数组   a(2),   b(2)
 
当用户输入   x   或   y   坐标时,你只需先查出它落在那个区段,然后采用相应线段参数来计算就可以了:

y   =   x   *   a(i)   +   b(i)
x   =   (y   -   b(i))   /   a(i)
发表于:2008-02-18 11:03:512楼 得分:0
问题是任意两点之间不一定是直线,而且很可能是曲线。所以并不是三个线段的简单合成。
发表于:2008-02-18 13:40:493楼 得分:0
如果哪些点不在一直线上,哪么你必须得拟合成某种曲线,如二次曲线,三次,指数......或组合曲线,这首先应该是一个数学问题!
发表于:2008-02-18 14:08:574楼 得分:0
如果拟合成2次曲线的话,有办法解决吗?
发表于:2008-02-19 09:45:015楼 得分:0
拟合2次曲线,   最简单的了,用最小二乘法!
发表于:2008-02-19 10:07:076楼 得分:0
你这些坐标点是如何得到的?先有曲线,还是先有点?
发表于:2008-02-19 12:42:377楼 得分:0
坐标点是先输入的,根据输入的点利用excel生成曲线,反过来又要利用这曲线,求曲线上任意点的坐标。由x求y或者由y求x


快速检索

最新资讯
热门点击