ciao a tutti
volevo implementare l'algoritmo di gauss per la riduzione a scalini di matrici. HO fatto vari tentativi ma nulla. Il mio codice è il seguente
non so dove erro...Avete altrimenti l'algoritmo gia' implementato? l'algoritmo che voglio implementare è quello per matrici rettangolari m x n.codice:private ArrayList<Double> Gauss (ArrayList<Double> m, int r, int c){ int k=0, i, h; double temp, pivot; for(i=0; i<r;i++){ h=i; while(m.get(h*c+k)==0){ h++; if(h>=r){ h=i; k++; if(k>=c) break; } } if(k>=c) break; if(i!=h) { for(int j=k; j<c; j++){//scambio temp = m.get(i*c+j); m.set(i*c+j, m.get(h*c+j)); m.set(h*c+j, temp); } } pivot = m.get(h*c+k);//i o h????? for(int j=k; j<c; j++){//cost m.set(h*c+j, (m.get(h*c+j)/pivot)); } for(int l=h+1; l<r; l++){ if(m.get(l*c+k)!=0){ double sign = 1; if((m.get(l*c+k)>0&&m.get(h*c+k)>0)||(m.get(l*c+k)<0&&m.get(h*c+k)<0)) sign = -1; temp = sign * m.get(l*c+k); for(int j=k; j<c; j++){ m.set(l*c+j, (m.get(l*c+j)+temp*m.get(h*c+j))); } } } } return m; }
Grazie in Anticipo
1ronCh4ng


Rispondi quotando