Page 59 - MATINF Nr. 1
P. 59

Rezolvarea sistemelor de ecuat , ii liniare                                                    59



                Pentru x 1 , ˆın linia de deasupra zonei centrale g˘asim 1. Din linia corespunz˘atoare, adic˘a
            linia 1 recuper˘am x 1 : din elementul din coloana termenilor liberi, 5, se scad produsele dintre
            elementele din coloanele corespunz˘atoare parametrilor s , i respectivii parametri, adic˘a −1 · α s , i
            −2 · β. Proced˘am similar pentru necunoscutele x 2 s , i x 3 . Obt , inem astfel solut , ia:


                                                   
                                                   x 1 = 5+α+2β
                                                   
                                                   
                                                   
                                                   x 2 = 3−α−2β
                                                   
                                                   
                                                   
                                                   
                                                            5
                                                     x 3 =− −α −β ,                                       (3)
                                                            3
                                                   
                                                   
                                                   x 4 = α
                                                   
                                                   
                                                   
                                                   
                                                   
                                                     x 5 = β
                                                   
            Implementare ˆın limbajul C++
            Algorimul prezentat ˆın acest articol permite realizarea unui program care
                • determin˘a dac˘a un sistem de ecuat , ii liniare este compatibil sau incompatibil
                • identific˘a dac˘a un sistem compatibil este compatibil determinat sau compatibil nedetermi-
                  nat

                • pentru sistemele compatibile determinate calculeaz˘a solut , ia

                • pentru sistemele compatibile nedeterminate determin˘a solut , ia general˘a, ˆın funct , ie de
                  parametri.


                Programul prezentat mai jos, realizat ˆın Code::Blocks, cites , te datele din fis , ierul text
            sistem.txt s , i scrie rezultatele ˆın fis , ierul text solutie.txt.

                Fis , ierul prezentat mai jos (sistem.txt) cont , ine datele corespunz˘atoare sistemului (2). Prima
                                                                                       ˆ
            linie cont , ine m, n, num˘arul ecuat , iilor, respectiv num˘arul necunoscutelor. In continuare se scriu
            elementele matricei extinse de dimensiune m × (n + 1), ultima coloan˘a cont , inˆand termenii liberi.


            4 5
             1    2    3   4    5   6
             2    1    3   2    1   8
             1    5    6  10   14  10
             2    1    6   5    4   3


                Programul respect˘a algoritmul prezentat, cu urm˘atoarele preciz˘ari:

                – Pentru alegerea pivotului se determin˘a elementul din linia curent˘a care are valoarea absolut˘a
                                                                                                           ◦
            maxim˘a. Dac˘a acesta este nul, deducem c˘a toate elementele liniei sunt nule. Se analizeaz˘a Pasul 2 ,
            etapa 1 (a) s , i (b). Dac˘a elementul determinat este nenul, acesta va fi pivotul (se alege elementul cu
            valoare absolut˘a maxim˘a pentru reducerea erorilor de rotunjire).

                – Pentru a verifica dac˘a un num˘ar real este nul, nu ˆıl compar˘am cu 0 ci verific˘am dac˘a valoarea
                                                                                                 ˆ
            absolut˘a a lui este mai mic˘a decˆat ε, unde ε este un num˘ar real pozitiv foarte mic. In program
            ε = 10 −20 .
                                                 ◦
                – Prelucrarea tabelului din Pasul 2 se face parcurgˆand etapele ˆın ordinea 6, 4, 5, 3, 2.
   54   55   56   57   58   59   60   61   62   63   64