Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 02.12.06 Prihlásený: 17.12.24 Príspevky: 690 Témy: 35 | 35 Bydlisko: Rimavská So... |
ahojte nevite náhodou prečo sa toto furt zacyklí a počíta pri ďalšom priebehu cyklom s pôvodnou tojeterazjedno?
Kód: public class SimplexMethod { private static TriangularMatrixAlgorithms<Fraction> tma = new TriangularMatrixAlgorithms<Fraction>();
public static Fraction Maximize(Vector<Fraction> c, NumericMatrix<Fraction> a, Vector<Fraction> b) { if ((c == null) || (a == null) || (b == null)) { throw new NullPointerException(); } if ((c.getLength() != a.getNoColumns()) || (b.getLength() != a.getNoRows())) { throw new IllegalArgumentException(); } NumericMatrix<Fraction> tojeterazjedno = new NumMatrix<Fraction>(a .getNoRows() + 1, a.getNoColumns() + a.getNoRows() + 1); Fraction[][] polevtjtj = new Fraction[tojeterazjedno.getNoRows()][tojeterazjedno .getNoColumns()]; for (int i = 0; i < tojeterazjedno.getNoRows() - 1; i++) { for (int j = 0; j < tojeterazjedno.getNoColumns() - 1; j++) { if ((i < a.getNoRows()) && (j < a.getNoColumns())) { polevtjtj[i][j] = a.getElement(i, j); } else { if (j == (i + a.getNoColumns())) { polevtjtj[i][j] = Fraction.ONE; } else { polevtjtj[i][j] = Fraction.ZERO; } } }
} for (int i = 0; i < tojeterazjedno.getNoColumns(); i++) { if (i < c.getLength()) { polevtjtj[tojeterazjedno.getNoRows() - 1][i] = c.getElement(i) .negate(); } else { polevtjtj[tojeterazjedno.getNoRows() - 1][i] = Fraction.ZERO; } } for (int i = 0; i < tojeterazjedno.getNoRows() - 1; i++) { polevtjtj[i][tojeterazjedno.getNoColumns() - 1] = b.getElement(i); } tojeterazjedno = new NumMatrix<Fraction>(polevtjtj); System.out.println(tojeterazjedno); boolean optimalne = true; for (int i = 0; i < tojeterazjedno.getNoColumns()-1; i++) { if (tojeterazjedno.getElement(tojeterazjedno.getNoRows() - 1, i) .compareTo(Fraction.ZERO) < 0) { optimalne = false; }
} int stlpec=0; int riadok=0; boolean cyklus=true; ArrayList<Fraction> zoznam = new ArrayList<Fraction>();
while (!optimalne) { for (int i = 1; i < tojeterazjedno.getNoColumns()-1; i++) { zoznam.add(tojeterazjedno.getElement( tojeterazjedno.getNoRows() - 1, i)); } Collections.sort(zoznam); cyklus=true; tu: if(cyklus){ for (int i = 0; i < tojeterazjedno.getNoColumns()-1; i++) { if (tojeterazjedno .getElement(tojeterazjedno.getNoRows() - 1, i).equals( zoznam.get(0))) { stlpec = i; cyklus=false; break tu; } }} zoznam.clear(); for (int i = 0; i < a.getNoRows(); i++) { if (tojeterazjedno.getElement(i, stlpec) .equals(Fraction.ZERO)){ zoznam.add(new Fraction(Integer.MAX_VALUE)); }else{ zoznam.add(tojeterazjedno.getElement(i, tojeterazjedno.getNoColumns() - 1).divide( tojeterazjedno.getElement(i, stlpec))); } } Collections.sort(zoznam); cyklus=true; sem: if(cyklus){ for (int i = 0; i < a.getNoRows(); i++) { if(tojeterazjedno.getElement(i, stlpec).equals(Fraction.ZERO)){ }else{ if (tojeterazjedno.getElement(i, tojeterazjedno.getNoColumns() - 1).divide( tojeterazjedno.getElement(i, stlpec)).equals( zoznam.get(0))) { riadok = i; cyklus=false; break sem; }} }} zoznam.clear(); for (int i = 0; i < tojeterazjedno.getNoRows(); i++) { if (i != riadok){ if (!(tojeterazjedno.getElement(i, stlpec) .equals(Fraction.ZERO))&&(!(tojeterazjedno.getElement(riadok, stlpec).equals(Fraction.ZERO)))) { tojeterazjedno = tma.multiplyRowWithScalar( tojeterazjedno, riadok, tojeterazjedno .getElement(i, stlpec).divide( tojeterazjedno.getElement( riadok, stlpec)) .negate()); tojeterazjedno = tma.sumRows(tojeterazjedno, riadok, i); } } } tojeterazjedno=tma.multiplyRowWithScalar(tojeterazjedno, riadok, tojeterazjedno.getElement(riadok,stlpec).invert()); System.out.println(tojeterazjedno); cyklus=true; optimalne = true; tuto: if(cyklus){ for (int i = 0; i < tojeterazjedno.getNoColumns()-1; i++) { if (tojeterazjedno .getElement(tojeterazjedno.getNoRows() - 1, i) .compareTo(Fraction.ZERO) < 0) { optimalne = false; cyklus=false; break tuto; }
} } }
return null; }
}
_________________ Math is the best! |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 | 35 Bydlisko: BA - WESTSIDE |
Skús si to debuggerom krokovať a kontroluj hodnoty premenných v priebehu výpočtu.
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 02.12.06 Prihlásený: 17.12.24 Príspevky: 690 Témy: 35 | 35 Bydlisko: Rimavská So... |
díky naozaj to pomohlo je v cykle kde sa pridáva do zoznamu som mal int i=1 neviem prečo
_________________ Math is the best! |
|
Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v JavaScript, VBScript, Ajax | 8 | 639 | 04.09.2011 9:49 camo | | v Assembler, C, C++, Pascal, Java | 3 | 626 | 02.04.2010 13:24 vama | | v PHP, ASP | 16 | 1070 | 16.10.2008 15:34 Roko | | v Antivíry a antispywary | 26 | 1356 | 11.07.2012 22:20 MaTT753 | | v JavaScript, VBScript, Ajax | 9 | 649 | 27.05.2010 21:02 Ďuri | | v Intel čipové sady | 5 | 482 | 30.06.2014 13:56 4ndY252 | | v Intel čipové sady | 2 | 519 | 10.07.2014 20:01 kub4n3c | | v Operačné systémy Microsoft | 0 | 395 | 27.09.2015 20:59 tntckoo | | [ Choď na stránku: 1, 2, 3 ] v Novinky | 63 | 2895 | 03.01.2020 16:52 patro16 | | v Ostatné | 4 | 490 | 05.10.2011 19:35 camo | | v Delphi, Visual Basic | 3 | 768 | 21.05.2009 11:19 Patkoo | | v Ostatné | 2 | 412 | 13.06.2018 17:14 void | | [ Choď na stránku: 1 ... 7, 8, 9 ] v Vesmír, veda a technika | 264 | 18447 | 12.11.2013 13:01 marian_r | | v Assembler, C, C++, Pascal, Java | 2 | 648 | 25.08.2017 8:20 mitko | | v Assembler, C, C++, Pascal, Java | 10 | 872 | 26.11.2011 13:57 Fico | | v PHP, ASP | 8 | 570 | 20.11.2010 16:13 venom2 |
|