代码之家  ›  专栏  ›  技术社区  ›  nnyby

考虑到JavaScript中两行的函数,如何找到它们的交点?

  •  0
  • nnyby  · 技术社区  · 7 年前

    我意识到这更像是一个数学问题,但我没有数学头脑。我对用JavaScript解决这个问题特别感兴趣,就针对这个特定的案例。如果有人能用一个简单的函数为我做到这一点,我可以根据需要自己概括解决方案。

    我在图表上有两条线。一个是线性的,直接从(0,0)到(x,x):

    // Line 1
    var f1 = function(x) {
        return x;
    };
    

    另一条线是弯曲的,可以这样画:

    // Line 2
    var f2 = function(x) {
        var alpha = 0.3;
        return (1 - alpha) *
            (1.4 *
             1.6 ** alpha) *
            (x ** -alpha);
    };
    

    如果只有这些函数,我可以写一个函数,给出这两条线相交点的坐标吗?

    我看过这样的事情 algebra.js ,但我自己还没能想出解决方案。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Ripi2 user10587824    7 年前

    衍生过程: enter image description here

    所以,对于 alpha= a= 0.3 我们有:

    k= (1-alpha) * 1.4 * 1.6**alpha = 1.12839738
    
    x= k ** (1/(1 + alpha)) = 1.09737595
    

    所需交点为{x,f(x)}={1.0974,1.0974}