Bonjour à tous,
Je suis actuellement en train de développer une fonction Java à partir d'un code MatLab. Je bloque pour retourner le résultat de la fonction MatLab nchoosek(n,k) sachant que dans mon cas n correspond à un vecteur.
Pour être plus explicite, voici le morceau de code MatLab que je souhaite coder en Java :
Code MatLab : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 A=zeros(2^n-2,n); A1=A; k1=1:n; nn1=1; for i=1:n x=nchoosek(k1,i); [n1 n2]=size(x); A(nn1:nn1+n1-1,1:n2)=x; nn1=nn1+n1; end
Pour l'instant, voici ma fonction retournant le coefficient binomial, mais qui ne prend pas en paramètre un vecteur.
Code fct binomialCoef(n,m) équivalente à nchoose(n,m) MatLab : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public static int binomialCoef(int n, int m) { int[] b = new int[n + 1]; b[0] = 1; for (int i = 1; i <= n; i++) { b[i] = 1; for (int j = i - 1; j > 0; j--) { b[j] += b[j - 1]; } } return b[m]; }
Je ne suis pas le roi de l'algorithmique (ni de MatLab d'ailleurs), du cout j'aimerai de l'aide pour passer ce casse-tête.
Cordialement,
Tehko
Partager