我正在尝试将数学公式转换为PHP代码。
您可以在此处看到公认答案中的公式:Applying a Math Formula in a more elegant way (maybe a recursive call would do the trick).
我不是一个专业的程序员,所以我尽我所能翻译,但我的技能有限,我遇到了一些问题。
我们开始吧
有一个向量包含玩家的堆栈:我认为二维数组应该完成这个工作。我会添加一个键来标识每个参与者。
$array = array(1 => 2000, 3 => 5000 ...);
现在他想创建一个矩阵的价值观,我做了我的研究,并找到了一个PEAR包称为数学矩阵,安装它,但我想知道如何创建这种矩阵。
我担心我不能翻译整个代码,因为他使用了递归调用等高级方法。
你能帮帮我吗?
- 编辑:旧赏金 *
我尝试了你的建议,但我觉得浪费我的时间,因为我的编程技术差。
我已经决定提供50英镑,如果有人想帮助我翻译公式在PHP。
请注意,如果您认为用Python翻译更容易/更合适/其他,请提供一种方法来将Python脚本包含在PHP脚本中,因为我计划在网站中使用此公式。
3条答案
按热度按时间hmmo2u0o1#
给你。
我把这个代码放到公共领域。
示例:
关于矩阵的使用:
在PHP中,矩阵可以表示为数组的数组。你可以在函数
makematrix
中看到,它返回一个长度为height
的数组,每个元素是一个由width
个零组成的数组。你的问题使用了下面的矩阵运算,这两个运算都很简单:matrixadd
),这里只将一个矩阵的元素与另一个矩阵的对应元素相加。matrixmultiply
)只涉及将矩阵的每个元素乘以该数。shstlldc2#
如果你安装了Matlab,用符号数学工具箱
你可以使用
ccode
函数来把这个公式(或者任何其他的)翻译成c代码(非常类似于php)。slsn1g293#
我想最大的问题是你打算用它来做什么。最后我真的建议不要用PHP。它不是为这种类型的工作设计的,你以后会给自己带来很多工作。
如果你只是在寻找一种计算它的方法,我推荐使用Octave(MATLAB的开源版本)。如果你真的想围绕它构建一个程序,你应该使用NumPy模块研究Python:Link
如果你有这个能力,我建议你使用mod_python来运行NumPy来处理这个问题。这可能是最简单的方法,因为NumPy本身就可以处理矩阵。除此之外,你应该看看PHP中存在的用于处理矩阵的类。一些人已经开发了一些专门用于处理矩阵的类。
http://www.phpkode.com/scripts/item/matrix-new/http://www.phpclasses.org/package/2859-PHP-Perform-operations-with-matrices.html