2011-12-20 53 views
3

我有一個適用的數學公式:我寫了一個非遞歸代碼(可惜由於缺乏高級編碼技能),但是math.stackexchange用戶建議我採用遞歸方法來做同樣的事情:應用矩陣和遞歸調用

https://math.stackexchange.com/questions/92942/applying-a-math-formula-in-a-more-elegant-way-maybe-a-recursive-call-would-do-t

Unfortuantely我都在遞歸調用編碼,並在PHP矩陣實施沒有經驗。

請您幫我翻譯他在PHP中寫的內容嗎?

我知道的SO政策是:做你的功課&研究之前發佈,我盡我所能,但這真的似乎超出我的能力。

+0

好的問題,除了手工完成的事情之外,我還沒有看到任何在PHP中實現矩陣的東西,所以我期待着什麼人生病的答案。就遞歸而言,它在php中確實與其他語言沒有太大差別。 – hackartist 2011-12-20 20:40:28

+1

@hackartist - Paul Meagher在Java的JAMA Matrix類中有一個PHP實現(PHP4 alas),位於http://www.phpmath.com/build02/JAMA/docs/package.php – 2011-12-20 21:22:58

+0

可能的重複[Updated:Applying a Math Formula在一個更優雅的方式(也許遞歸調用會做的伎倆)](http://stackoverflow.com/questions/8575534/updated-applying-a-math-formula-in-a-more-elegant-way-maybe -a遞歸調用-W) – 2011-12-29 05:19:32

回答

0

兩件事情:
1.有矩陣計算比PHP(MATLAB例如)
2.你的代碼看起來不錯更好的工具,你可以概括它(使其對任意n> = 3名工作)通過修改代碼:

... 
foreach ($stack as $s) { 
    array_push($result,array($s,0,0,0));      
} 
... 

到:

//$n = number of winners 
    ... 
    foreach ($stack as $s) { 
     $tmp_arr = init_array($s,$n); 
     array_push($result,$tmp_arr);      
    } 
    ... 

不用解釋什麼init_array()做;)