6
Ho una ricorsione da risolvere per.Come calcolare efficientemente le relazioni di ricorsione in matematica?
f(m,n)=Sum[f[m - 1, n - 1 - i] + f[m - 3, n - 5 - i], {i, 2, n - 2*m + 2}] + f[m - 1, n - 3] + f[m - 3, n - 7]
f(0,n)=1, f(1,n)=n
Tuttavia, il seguente codice MMA è molto inefficiente
f[m_, n_] := Module[{},
If[m < 0, Return[0];];
If[m == 0, Return[1];];
If[m == 1, Return[n];];
Return[Sum[f[m - 1, n - 1 - i] + f[m - 3, n - 5 - i], {i, 2, n - 2*m + 2}] + f[m - 1, n - 3] + f[m - 3, n - 7]];]
Prende insopportabile tempo per calcolare f [40,20]. Qualcuno potrebbe suggerire un modo efficace per farlo? Grazie molto!
Questo non è "risolvere" una ricorsione. Quello che stai chiedendo è "l'implementazione di una funzione di due variabili definite dalla ricorsione". Risolvere una ricorsione richiede di trovare una formula diretta in termini di m e n che non implichi la ricorsione. – ogerard