如何将这个'数学模型'转换为php?

时间:2009-11-21 21:55:26

标签: php math mathematical-optimization

我有数学问题,我无法转换为PHP或解释不同。有人能把我的方向发送到正确的方向吗?

我有两个数字按顺序排列(序列)。 #1#2。我想以某种方式比较这两个数字,并得到一个低于100的正数作为比较的结果。值越高,结果应越高。但是,如果#2也很高,那么结果应该相应地“变暗”......

这些是“预期结果”

#1: 5           #2: 10         => ~ 5
#2: 10          #2: 5          => ~ 8
#1: 50          #2: 60         => ~ 12
#1: 50          #2: 100        => ~ 8
#1: 100         #2: 50         => ~ 20
#1: 500         #2: 500        => ~ 25
#1: 500         #2: 100        => ~ 50
#1: 100         #2: 500        => ~ 15

数字(12)值介于01000之间。结果只是估计,它们显然会有所不同。我只是想表明它是如何相关的。

2 个答案:

答案 0 :(得分:1)

首先,您应该尝试通过定义(数学)函数f(x,y)= z来设置干净的数学模型,其中x =#1,y =#2,z =您的输出。我无法通过您的数据说明这样的功能,但这是您在编程语言中实现问题时所需的基础。

所以让我们说你想要像

这样的东西
  f(x, y) =  {
       50 + (x - y) * 50/y   if  y > x
       (y - x) * 50/x        if  y 

this function compares #1 (x) and #2 (y) and gives as a result a number between 50 and 100 or 0 and 50, depending whether x or y is bigger.

Implementing a mathematical function right in any programming language like PHP is very easy:

function f(x, y) { return (y > x) ? ( 50 + (x-y)*50/y ) : ( (y-x) * 50/x ); }

现在您可以通过代码调用该功能,例如通过一些HTML表单。

答案 1 :(得分:1)

听起来像是为曲线拟合数据的机会,他们使用这些系数给出两个输入变量的结果。

要开始,请在方格纸上绘制预期结果,看看你是否有合理的情节。