private void button1_Click(object sender, EventArgs e) { //Matrica matrica; //matrica = Matrica.UcitajIzDatoteke("matrica.txt"); //textBox1.Text = matrica.ToString(); //Matrica A = new Matrica(2, 3); //A.NapuniMatricu(new double[] {1,2,3, 4,5,6}); //A *= 2; //A.ZapisiUDatoteku("nekaj.txt"); //txtMatricaA.Text = A.ToString(); //txtMatricaA.Text += Environment.NewLine + Environment.NewLine; //txtMatricaA.Text += (A.Transponiraj()).Transponiraj().ToString(); A = Matrica.UcitajIzDatoteke("matricaA.txt"); txtMatricaA.Text = A.ToString(); b = Matrica.UcitajIzDatoteke("vektorB.txt"); txtVektorB.Text = b.ToString(); Matrica permVektor; Matrica Adek = A.DekompozicijaLUP(out permVektor); MessageBox.Show(Adek.ToString()); Matrica y_ = Adek.SupstitucijaUnaprijed(b.VratiPermutiraniVektor(permVektor)); //MessageBox.Show(Adek.ToString()); Matrica x = Adek.SupstitucijaUnatrag(y_); txtVektorX.Text = x.ToString(); }
private void btnLUP_Click(object sender, EventArgs e) { txtRezultati.Text = ""; try { if ((object)A == null) { throw new Exception("Potrebno je učitati matricu A!"); } if ((object)b == null) { throw new Exception("Potrebno je učitati vektor b!"); } if (A.brojRedaka != b.brojRedaka) { throw new Exception("Dimenzije matrice i vektora nisu kompatibilne za nastavak LUP dekompozicije!"); } Matrica permVektor; Matrica Adek = A.DekompozicijaLUP(out permVektor); /**/ txtRezultati.Text += "LUP Dekompozicija matrice A" + nl; /**/ txtRezultati.Text += Adek.ToString() + nl; /**/ txtRezultati.Text += "Matrica L" + nl; /**/ txtRezultati.Text += Adek.VratiMatricuL().ToString() + nl; /**/ txtRezultati.Text += "Matrica U" + nl; /**/ txtRezultati.Text += Adek.VratiMatricuU().ToString() + nl; /**/ txtRezultati.Text += "Permutacijski vektor" + nl; /**/ txtRezultati.Text += permVektor.ToString() + nl; /**/ txtRezultati.Text += "Vektor y' nakon permutacije" + nl; /**/ txtRezultati.Text += b.VratiPermutiraniVektor(permVektor).ToString() + nl; Matrica y_ = Adek.SupstitucijaUnaprijed(b.VratiPermutiraniVektor(permVektor)); /**/ txtRezultati.Text += "Vektor y' nakon supstitucije unaprijed" + nl; /**/ txtRezultati.Text += y_.ToString(); x = Adek.SupstitucijaUnatrag(y_); /**/ txtVektorX.Text = x.ToString(); /**/ txtRezultati.Text += nl + "Sustav ima rješenje!"; } catch (Exception ex) { txtRezultati.Text += "Proces rješavanja zaustavljen!!" + nl; txtRezultati.Text += ex.Message; } }