×

Loading...
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。

请教数学问题。

请教数学问题。

如果我有一组两维的点,比如{(1,1),(3,0),(4,2),...},我想找到一条曲线(Function)来通过或近似通过,应该如何做?

问题如下:

1,如果我有很多组,我希望Function可以是一个统一的公式,比如aX^5+bX^4+cX^3+dX^2+dX+e=0,每组的差异只是a,b,c,d,e的不同,可不可能?

2,是不是越高的元次表达的精度越高,比如aX^5+bX^4+cX^3+dX^2+dX+e=0的精度就高过bX^4+cX^3+dX^2+dX+e=0?

3,由于一组中的各个点并没有规律性,所以有难度。我知道用波叠加的方式可以较精确的描绘。我的问题是波叠加的结果有没有可能最后变成一个公式,比如aX^5+bX^4+cX^3+dX^2+dX+e=0?

4,如果我想补习或学习这方面的知识,这方面知识的英文名字是什么,以便我去Search?我相信将二维的Set变为Function应该有现成的算法,请问这个算法的英文名字是什么?

谢谢。
Report

Replies, comments and Discussions:

  • 工作学习 / 学科技术讨论 / 请教数学问题。
    请教数学问题。

    如果我有一组两维的点,比如{(1,1),(3,0),(4,2),...},我想找到一条曲线(Function)来通过或近似通过,应该如何做?

    问题如下:

    1,如果我有很多组,我希望Function可以是一个统一的公式,比如aX^5+bX^4+cX^3+dX^2+dX+e=0,每组的差异只是a,b,c,d,e的不同,可不可能?

    2,是不是越高的元次表达的精度越高,比如aX^5+bX^4+cX^3+dX^2+dX+e=0的精度就高过bX^4+cX^3+dX^2+dX+e=0?

    3,由于一组中的各个点并没有规律性,所以有难度。我知道用波叠加的方式可以较精确的描绘。我的问题是波叠加的结果有没有可能最后变成一个公式,比如aX^5+bX^4+cX^3+dX^2+dX+e=0?

    4,如果我想补习或学习这方面的知识,这方面知识的英文名字是什么,以便我去Search?我相信将二维的Set变为Function应该有现成的算法,请问这个算法的英文名字是什么?

    谢谢。
    • 是要做 回归分析(Regression Analysis)吗?
    • 1. Yes, 2. Yes, 3. Yes or no, any function can be written in the sum of many sine/cosine functions (Fourier Transform), but not all the summation can be written in this concise form. 4. Not sure, but you can try "approximation".
    • 1,如果我有很多组,我希望Function可以是一个统一的公式,比如aX^5+bX^4+cX^3+dX^2+dX+e=0,每组的差异只是a,b,c,d,e的不同,可不可能?
      :因为你有可能要近似通过,所以一组数据对应的公式有无穷多个。并且还有其它要求,比如:有可能希望拟合出来的曲线是一条封闭曲线吗?

      2,是不是越高的元次表达的精度越高,比如aX^5+bX^4+cX^3+dX^2+dX+e=0的精度就高过bX^4+cX^3+dX^2+dX+e=0?
      :公式的类型可能有很多种。最简单的当然是线性的了,其它的可能有指数型、幂函数型、……

      3,由于一组中的各个点并没有规律性,所以有难度。我知道用波叠加的方式可以较精确的描绘。我的问题是波叠加的结果有没有可能最后变成一个公式,比如aX^5+bX^4+cX^3+dX^2+dX+e=0?
      :同 1

      4,如果我想补习或学习这方面的知识,这方面知识的英文名字是什么,以便我去Search?我相信将二维的Set变为Function应该有现成的算法,请问这个算法的英文名字是什么?
      :见前一个回复
      • Thank you thank you thank you.
        1,如果我有很多组,我希望Function可以是一个统一的公式,比如aX^5+bX^4+cX^3+dX^2+dX+e=0,每组的差异只是a,b,c,d,e的不同,可不可能?
        :因为你有可能要近似通过,所以一组数据对应的公式有无穷多个。并且还有其它要求,比如:有可能希望拟合出来的曲线是一条封闭曲线吗?
        No, I will have a valid range for X serial.

        2,是不是越高的元次表达的精度越高,比如aX^5+bX^4+cX^3+dX^2+dX+e=0的精度就高过bX^4+cX^3+dX^2+dX+e=0?
        :公式的类型可能有很多种。最简单的当然是线性的了,其它的可能有指数型、幂函数型、……
        Since, there is more than one possibility, as you have mentioned in Item 1, I would prefer to use uniformed formula, like aX^5+bX^4+cX^3+dX^2+dX+e=0. I would prefer not to touch 指数型、幂函数型, etc.
        • re
          2,是不是越高的元次表达的精度越高,比如aX^5+bX^4+cX^3+dX^2+dX+e=0的精度就高过bX^4+cX^3+dX^2+dX+e=0?
          :公式的类型可能有很多种。最简单的当然是线性的了,其它的可能有指数型、幂函数型、……
          Since, there is more than one possibility, as you have mentioned in Item 1, I would prefer to use uniformed formula, like aX^5+bX^4+cX^3+dX^2+dX+e=0. I would prefer not to touch 指数型、幂函数型, etc.

          你仅仅是需要过着些点吗?每组里点的数量一样吗?如果这两个都是肯定的回答,那么用多项式的方式是挺好的,就像 yxes 说的那样。
          但如果点的数量不固定,因为多项式的最高次是和点的数量有关系的,那么在不知道点的数量的情况下,多项式的最高次是没办法确定的。
          简单点,如果公式是aX + b = 0,那么仅仅需要两个点就可以确定,但如果再加一个点,这个点又不在这条直线上,怎么办?

          如果你的公式的形式已经确定,包括它的最高次也确定了,那么就不能保证这些点落在这条曲线上,有可能所有点都不在上面。这种情况下,我觉得还是得用 regression 。具体算法我不清楚,你得自己找了。
          • 每组的点数是一样的。多项式以确定,但最高次没有确定,但会有个范围,比如最高不超过7。不是非要落在线上,但应该尽量接近线。
    • 先谢谢两位大侠。我要慢慢消化。
    • 标准答案
      问题1&2:N阶的polynomial 可以通过平面上N+1个点。
      问题3&4:BSpline或者其通用型NURB是目前最好的算法。
      • 刚看明白Polynomial的概念。也看了Cubic B-spline,Cubic Hermite和NURB的概念。我把我的问题进一步提炼,看大侠能不能给我直接答案,或告诉我哪种B-spline可满足我的要求:
        1,我的数组可以在X轴上简化为连续的值,这样数组就可以变为单一Dimension的数组。我想这样会简单很多。
        2,我希望表达式一定要Polynomial,而且一定要aX^5+bX^4+cX^3+dX^2+dX+e=0这个式样。算法中Term的数量最好能由User控制。

        谢谢大侠。
        • 那就按照你希望的来,这样简单。
          已知 (X1,Y1), (X2,Y2)...(XN,YN), 依次带入polynomial,得到一N阶线性方程组,求解,结果就是系数。
          • 有算法吗?如何控制最高次和精度的关系?
            • Algorithm : Gaussian elimination. Acurracy ? the curve can exaxtly path all your points.
              This solution is cheap, downside is curve vibrate dramatically with some point set.
              • Thanks. Gaussian elimination however is too costly.
                What I want indeed is a balance point where both cost and accuracy are acceptable. Since groups of sets might be very dramatic, I therefore need to develop an algorithm to determine the number of terms in polynomial (the cost) based on the situation of each group.

                Thus, I will stick on the B-spline. Of course, before that, I need to pick the best suitable B-spline.
    • 这个得具体问题具体分析。Regression有很多方法,没有哪个是绝对好的。你现在的问题是两个变量,比较容易。如果是许多变量,问题会复杂的多。