예제 #1
0
        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;
            }
        }
예제 #2
0
        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();
        }