Sistems de Equções Lieres Métodos Directos Computção º Semestre 06/07
Sistems de Equções Muitos pricípios fudmetis em problems de ciêci e egehri podem ser epressos em termos de equções: vriável depedete f vriáveis idepede tes, prâmetros, fuções eters Em problems de rízes temos pes um equção e o objectivo é clculr os vlores dos prâmetros que stisfzem Qudo o que pretedemos modelr é costituído por váris compoetes obtemos um sistem de equções: f,,, 0 f,,, 0 fm,,, 0 e o objectivo é clculr os vlores de,, que stisfzem simultemete tods s equções. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos
Sistems de Equções Eemplos: equilíbrio de mss: equilíbrio de forçs: equilíbrio de correte: mss: iputs - outputs forçs horizotis = 0 forçs verticis = 0 correte (i) = 0 equilíbrio de voltgem: ir = 0 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 3
Sistems de Equções Lieres Form gerl: em que,, são s icógits,,, são os coeficietes (costtes) b,, b são costtes é o úmero de equções e icógits Form mtricil: em que 4 Sistems de Equções Lieres - Métodos Directos b b b A b A b b b b 8 Mrço 07
Sistems de Equções Lieres Form mtricil: em que Um sistem de equções lieres é determido se tem um úic solução. Um sistem de equções lieres é determido se e só se verificr qulquer ds dus codições equivletes: ) A - eistir ) det A 0 A A b b b b b 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 5
Métodos Numéricos Métodos Directos: Eemplos: Regr de Crmer, Elimição de Guss Teoricmete permitem clculr soluções ects usdo um úmero fiito de operções ritmétics elemetres. N prátic, devido os erros de rredodmeto, ccelmeto subtrctivo,, clculm pes soluções proimds. Métodos Itertivos: Eemplos: Método de Guss-Seidel, Método de Jcobi A solução é defiid como um limite de um sucessão (ifiit) de vectores N prátic, clcul-se pes um úmero fiito de vectores d sucessão, isto é, clcul-se um úmero fiito de iterções. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 6
Mtrizes Um mtriz é um cojuto de elemetos orgizdo em lihs e colus e represetdo por um símbolo (e: [A]). Um etrd de um mtriz é um elemeto (e: 3 ) 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 7
Mtrizes Um sequêci horizotl de elemetos é um lih e um sequêci verticl de elemetos é um colu. O primeiro ídice de um elemeto idic lih equto que o segudo idic colu. O tmho de um mtriz é idicdo como m lihs por colus, ou simplesmete m por (ou m ). mtrizes são vectores lih. mtrizes m são vectores colu. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 8
Mtrizes Especiis Mtrizes com m= são deomids mtrizes qudrds. Eistem váris mtrizes qudrds especiis: Symmetric 5 A 3 7 7 8 Digol A 33 Idetity A Upper Trigulr A 3 3 33 Lower Trigulr A 3 3 33 Bded A 3 3 33 34 43 44 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 9
Operções com Mtrizes Dus mtrizes são iguis se e só se: São do mesmo tmho Todos os elemetos correspodetes são iguis A dição e subtrcção de mtrizes são efectuds por dição e subtrcção dos elemetos correspodetes. (s mtrizes têm que ter o mesmo tmho) A multiplicção de um mtriz por um esclr é obtid por multiplicção de cd elemeto pelo esclr. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 0
Multiplicção de Mtrizes Os elemetos d mtriz [C] que result d multiplicção de [A] e [B] são: c ij k ik b kj 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos
Mtriz Ivers e Trspost A ivers de um mtriz qudrd [A] é mtriz [A] - que, qudo multiplicd por [A], result mtriz idetidde [I]: [A][A] - =[A] - [A]=[I] A trspost de um mtriz correspode trocr s lihs pels colus: ( ij ) T = ji 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos
Represetção de Álgebr Lier As mtrizes permitem um otção cocis pr represetção e resolução de sistems de equções lieres: 3 3 b 3 3 b 3 3 33 3 b 3 3 3 3 3 33 3 b b b 3 [A]{} {b} 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 3
Resolução com o MATLAB O MATLAB oferece dus forms directs de resolver sistems de equções lieres [A]{}={b}: Divisão-à-esquerd = A\b Mtriz ivers = iv(a)*b A mtriz ivers é meos eficiete que divisão-à-esquerd 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 4
Método Gráfico Pr dus equções: b resolver mbs em ordem : obtedo-se rects: b desehr s rects e loclizr su itersecção (slope) b itercept b 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 5
Método Gráfico Pode judr detectr csos em que: ) Não eistem soluções b) Eistem ifiits soluções c) O problem é ml codiciodo 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 6
Determites O determite D= A de um mtriz A é clculdo prtir dos seus elemetos: 3 3 3 3 3 3 33 3 3 33 3 3 33 3 3 3 Determites de mtrizes miores que 3 3 podem ser muito complicdos de clculr. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 7
Determites Eemplos: D 3 3 8 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 8
Determites Eemplos: D 0 D 0 D.3 5.3 0.04 5 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 9
Regr de Crmer Se A=b é form mtricil de um sistem de equções lieres ode mtriz A é ivertível, etão: det Ai Di i, i,,, det A D ode A i é mtriz que se obtém de A substituido colu i pelo vector b A Regr de Crmer eige o cálculo de + determites de ordem, o que coduz um compleidde O(!) É imprticável pr sistems com mis que 3 equções. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 0
Regr de Crmer Usr Regr de Crmer pr resolver: Clculr o determite D 0.3 0.5 3 0.0 0.5.9 3 0.67 0. 0.3 0.5 3 0.44 D 0.3 0.5 0.5.9 0. 0.3 0.5 0.3.9 0.3 0.5.9 0.50.5 0. 0.5 0.5 0. 0.4 0.00 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos
Regr de Crmer Usr Regr de Crmer pr resolver: 0.3 0.5 3 0.0 0.5.9 3 0.67 0. 0.3 0.5 3 0.44 Clculr os determites D i substituido i-ésim colu por b D 0.0 0.67 0.44 0.5 0.3.9 0.0 0.5 0.3.9 0.67 0.5 0.5 0.44.9 0.67 0.5 0.44 0.3 0.0378 D 0.3 0.0 0.5 0.67.9 0. 0.44 0.5 0.67.9 0.3 0.44 0.5 0.00.5.9 0. 0.5 0.5 0.67 0. 0.44 0.0649 D 0.3 0.5 0. 0.5 0.3 0.0 0.67 0.3 0.44 0.3 0.67 0.5 0.5 0.44 0. 0.67 0.0 0.5 0.44 0. 0.3 3 0.04356 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos
Regr de Crmer Usr Regr de Crmer pr resolver: Clculr solução: 0.3 0.5 3 0.0 0.5.9 3 0.67 0. 0.3 0.5 3 0.44 D D 0.0378 0.00 4.9 D D 0.0649 0.00 9.5 D D 0.04356 0.00 3 3 9.8 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 3
Regr de Crmer Eemplo MATLAB: >> A=[0.3 0.5 ;0.5.9;0. 0.3 0.5]; >> D=det(A) D = -0.00 >> A=A; A(:,)=[-0.0;0.67;-0.44], =det(a)/d A = -0.000 0.500.0000 0.6700.0000.9000-0.4400 0.3000 0.5000 = -4.9000 >> A=A; A(:,)=[-0.0;0.67;-0.44]; =det(a)/d = -9.5000 >> A3=A; A3(:,3)=[-0.0;0.67;-0.44]; 3=det(A3)/D 3 = 9.8000 0.3 0.5 3 0.0 0.5.9 3 0.67 0. 0.3 0.5 3 0.44 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 4
Método de Elimição de Guss Trsformr o sistem origil A=b um sistem equivlete, ms cuj mtriz sej trigulr (de fácil resolução) Dois sistems de equções lieres dizem-se equivletes se possuírem o mesmo cojuto de soluções. Cd sistem de equções lieres A=b tem ssocid su mtriz mplid: b A A mtriz trigulr é obtid por um sequêci de operções elemetres sobre A que preservm equivlêci: permutção de dus lihs multiplicção de um lih por um esclr ão ulo som um lih do produto de outr lih por um esclr. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos b b 5
Método de Elimição de Guss Nïve Nïve sigific que ão são cosiderdos os problems resulttes d divisão por zero Elimição Começdo ª lih, dicior ou subtrir múltiplos dess lih pr elimir o º coeficiete ds lihs seguites. Cotiur o processo ª lih pr remover o º coeficiete ds lihs seguites. Prr qudo se obtiver um mtriz trigulr. Substituição Começdo últim lih, resolver icógit, e itroduzir o resultdo obtido lih imeditmete superior. Porque mtriz é trigulr, o cotiur o processo pr cd lih superior podem ser resolvids tods s icógits. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 6
Método de Elimição de Guss Nïve Eemplo: Elimição: multiplicr ª lih por 0./3 e subtrir o resultdo à ªlih multiplicr ª lih por 0.3/3 e subtrir o resultdo à 3ªlih: multiplicr ª lih por -0.9/7.00333 e subtrir o resultdo à 3ªlih: 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 7
Método de Elimição de Guss Nïve Eemplo: Substituição: resolver 3ª equção: resolver ª equção: resolver ª equção: 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 8
Método de Elimição de Guss Nïve fuctio = GussNive(A,b) % GussNive: ive Guss elimitio % = GussNive(A,b): Guss elimitio without pivotig. % iput: % A = coefficiet mtri % b = right hd side vector % output: % = solutio vector [m,] = size(a); if m~=, error('mtri A must be squre'); ed b = +; Aug = [A b]; 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 9
Método de Elimição de Guss Nïve % forwrd elimitio for k = :- for i = k+: fctor = Aug(i,k)/Aug(k,k); Aug(i,k:b) = Aug(i,k:b)-fctor*Aug(k,k:b); ed ed % bck substitutio = zeros(,); () = Aug(,b)/Aug(,); for i = -:-: (i) = (Aug(i,b)-Aug(i,i+:)*(i+:))/Aug(i,i); ed 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 30
Método de Elimição de Guss Nïve Número de operções de vírgul-flutute (flops) um sistem Elimição: 3 Sistems de Equções Lieres - Métodos Directos ) ( 3 ) )( ( ) )( ( 3 O k k k k k k Adições/Subtrcções Multiplicções/Divisões 8 Mrço 07
Método de Elimição de Guss Nïve Número de operções de vírgul-flutute (flops) um sistem O tempo de eecução umet muito com o tmho do sistem. A elimição é compoete computciol mis crític 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 3
Método de Elimição de Guss Nïve No etto é muito mis eficiete que regr de Crmer! Comprção do tempo de eecução resolução de um sistem de equções lieres, um supercomputdor Cry J90: 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 33
Método de Elimição de Guss Com o método ïve surgem problems se um coeficiete digol (pivot) é 0 (problem: divisão por 0) ou próimo de 0 (problem: erros de rredodmeto) Evitm-se estes problems com técics de selecção de pivot: Determição d lih com o coeficiete de mior vlor bsoluto bio do elemeto pivot Troc ds respectivs lihs A técic que itroduz est troc de lihs deomi-se pivotção prcil. Se tmbém for permitido troc de colus deomi-se pivotção totl. 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 34
Método de Elimição de Guss Eemplo: Versão ïve: (solução =/3, = /3) multiplicr ª lih por /0.0003 e subtrir o resultdo à ªlih: resolver s equções: = /3 sesível os erros de rredodmeto: 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 35
Método de Elimição de Guss Eemplo: Versão com pivotgem: (solução =/3, = /3) trocr ª lih com ªlih: elimir e resolver s equções: = /3 pouco sesível os erros de rredodmeto: 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 36
Método de Elimição de Guss fuctio = GussPivot(A,b) % GussPivot: Guss elimitio pivotig % = GussPivot(A,b): Guss elimitio with pivotig. % iput: % A = coefficiet mtri % b = right hd side vector % output: % = solutio vector [m,]=size(a); if m~=, error('mtri A must be squre'); ed b=+; Aug=[A b]; 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 37
Método de Elimição de Guss % forwrd elimitio for k = :- % prtil pivotig [big,i]=m(bs(aug(k:,k))); ipr=i+k-; if ipr~=k Aug([k,ipr],:)=Aug([ipr,k],:); ed for i = k+: fctor=aug(i,k)/aug(k,k); Aug(i,k:b)=Aug(i,k:b)-fctor*Aug(k,k:b); ed ed % bck substitutio =zeros(,); ()=Aug(,b)/Aug(,); for i = -:-: (i)=(aug(i,b)-aug(i,i+:)*(i+:))/aug(i,i); ed 8 Mrço 07 Sistems de Equções Lieres - Métodos Directos 38