- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Popisek: Slouží pouze jako velice dobrá nápověda ke zpracování semestrální práce pro spolubojovníky, které tlačí čas :-)
Zjednodušená ukázka:
Stáhnout celý tento materiáldosazeni2d(matice_F);
System.out.println("Matice A =");
vypis2d(matice_F);
System.out.println("");
System.out.println("A teď matice B:");
System.out.println("");
System.out.println("Zadej počet řádků matice B");
System.out.println("");
int radky_B = vstup.nextInt();
System.out.println("Zadej počet sloupců matice B");
int sloupce_B = vstup.nextInt();
double[][] matice_G = new double[radky_B][sloupce_B];
dosazeni2d(matice_G);
System.out.println("Matice B:");
System.out.println("");
vypis2d(matice_G);
System.out.println("");
System.out.println("Výsledek je:");
System.out.println("");
if (sloupce_A != radky_B) {
System.out.println("Toto neumim!!!! sloupce matice A se nerovnají řádkům matice B");
break;
}
double[][] vysledek = new double[radky_A][sloupce_B];
System.out.println("");
for (int k = 0; k < radky_A; k++) {
for (int j = 0; j < sloupce_B; j++) {
for (int i = 0; i < sloupce_A; i++) {
vysledek[k][j] = vysledek[k][j] + (matice_F[k][i] * matice_G[i][j]);
}
}
}
vypis2d(vysledek);
break;
case 6: //determinant matice
System.out.println("Zadej počet řádků čtvercové matice");
System.out.println("");
int size = vstup.nextInt();
double[][] matrix = new double[size][size];
dosazeni2d(matrix);
System.out.println("");
vypis2d(matrix);
System.out.println("");
for (int k = 0; k < (size - 1); k++) {
for (int j = 1; j < size; j++) {
if (j == k) {
j++;
}
double x = matrix[j][k] / matrix[k][k];
for (int i = 0; i < size; i++) {
matrix[j][i] = matrix[j][i] - (matrix[k][i] * x);
}
}
}
vypis2d(matrix);
double x = 1;
for (int i = 0; i < size; i++) {
x = x * matrix[i][i];
}
System.out.println("Determinant matice = " + x);
break;
case 7: //transponovana matice
System.out.println("");
System.out.println("Zadej počet řádků matice");
System.out.println("");
int sloup = vstup.nextInt();
double[][] matice_transka = new double[sloup][sloup];
System.out.println("");
System.out.println("");
transka2d(matice_transka);
System.out.println("Transponovaná matice:");
System.out.println("");
vypis2d(matice_transka);
break;
case 8: //inverzni matice
System.out.println("");
System.out.println("Zadej počet řádků čtvercové matice");
System.out.println("");
int kfc = vstup.nextInt();
System.out.println("");
double[][] inv = new double[kfc][kfc];
double[][] one = new double[kfc][kfc];
one2d(one);
dosazeni2d(inv);
System.out.println("");
vypis2d(inv);
System.out.println("");
System.out.println("Invertovaná matice:");
System.out.println("");
if (kfc < 1) {
System.out.println("Matice s nulovym determinantem k sobe nema inverzni matici!");
}
if (kfc == 1) {
x = 1 / inv[0][0];
System.out.println("Inverzni matice: " + x);
}
if (kfc == 2) {
x = inv[1][0] / inv[0][0];
inv[1][0] = inv[1][0] - (inv[0][0] * x);
inv[1][1] = inv[1][1] - (inv[0][1] * x);
one[1][0] = one[1][0] - (one[0][0] * x);
one[1][1] = one[1][1] - (one[0][1] * x);
x = inv[0][1] / inv[1][1];
inv[0][1] = inv[0][1] - (inv[1][1] * x);
inv[0][0] = inv[0][0] - (inv[1][0] * x);
one[0][1] = one[0][1] - (one[1][1] * x);
one[0][0] = one[0][0] - (one[1][0] * x);
x = 1 / inv[0][0];
inv[0][0] = inv[0][0] * x;
inv[0][1] = inv[0][1] * x;
one[0][0] = one[0][0] * x;
one[0][1] = one[0][1] * x;
x = 1 / inv[1][1];
inv[1][1] = inv[1][1] * x;
inv[1][0] = inv[1][0] * x;
one[1][1] = one[1][1] * x;
one[1][0] = one[1][0] * x;
}
if (kfc > 2) {
System.out.println("");
for (int k = 0; k < (kfc - 1); k++) { //uprava na horni trojuhelnik
for (int j = 1; j < kfc; j++) {
if (j == k) {
j++;
}
x = inv[j][k] / inv[k][k];
for (int i = 0; i < kfc; i++) {
inv[j][i] = inv[j][i] - (inv[k][i] * x);
one[j][i] = one[j][i] - (one[k][i] * x);
}
}
}
vypis2d(inv);
System.out.println("");
//uprava na spodni trojuhelnik
for (int k = kfc - 1; k > 0; k--) {
for (int j = kfc - 2; j > -1; j--) {
if (j == k) {
j--;
}
x = inv[j][k] / inv[k][k];
for (int i = kfc - 1; i > -1; i--) {
inv[j][i] = inv[j][i] - (inv[k][i] * x);
one[j][i] = one[j][i] - (one[k][i] * x);
}
}
}
vypis2d(inv);
x = 0; //vynasobeni radku cislem -1, pokud je zaporne cislo na hlavni diagonale
for (int j = 0; j < kfc; j++) {
if (inv[j][j] < 0) {
x = -1;
}
if (inv[j][j] > 0) {
x = 1;
}
for (int i = 0; i < kfc; i++) {
inv[j][i] = inv[j][i] * x;
one[j][i] = one[j][i] * x;
}
}
double z = 0;
for (int j = 0; j < kfc; j++) {
z = 1 / inv[j][j];
for (int i = 0; i < kfc; i++) {
inv[j][i] = inv[j][i] * z;
one[j][i] = one[j][i] * z;
}
}
System.out.println("");
for (int j = 0; j < kfc; j++) {
for (int i = 0; i < kfc; i++) {
if (one[j][i] == -0) {
one[j][i] = 0;
}
}
}
vypis2d(inv);
vypis2d(one);
Vloženo: 17.01.2010
Velikost: 26,43 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Copyright 2025 unium.cz


