Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmo: Eliminação de Gauss e Retrosubtituição -->M=[-1.0 3.0 5.0 2.0 10.0; 1.0 9.0 8.0 4.0 15.0; 0.0 1.0 0.0 1.0 2.0; 2.0 1.0 1.0 -1.0 -3.0]; -->A=M A = - 1. 3. 5. 2. 10. 1. 9. 8. 4. 15. 0. 1. 0. 1. 2. 2. 1. 1. - 1. - 3. -->n=4; -->m=n+1; -->pivots=n-1; -->for i=1:pivots -->Mmax=0.0; -->for k=i:n -->termo=M(k, i); -->if 0>termo then -->termo=-termo; -->end -->if termo>Mmax then -->Mmax=termo; -->L=k; -->end -->end -->if Mmax==0 then -->x='Procedimento Interrompido' -->end -->if i~=L then -->for j=1:m -->prov=M(i, j); -->M(i, j)=M(L, j); -->M(L, j)=prov; -->prov=A(i,j); -->A(i,j)=A(L,j); -->A(L,j)=prov; -->end -->end -->pivot=M(i, i); -->prox= i+1; -->for j=prox:n -->const= M(j, i)/pivot; -->for k=i:m -->M(j, k)=M(j, k)-const*M(i, k); -->end -->end -->end -->A A = 2. 1. 1. - 1. - 3. 1. 9. 8. 4. 15. - 1. 3. 5. 2. 10. 0. 1. 0. 1. 2. -->M M = 2. 1. 1. - 1. - 3. 0. 8.5 7.5 4.5 16.5 0. 0. 2.4117647 - 0.3529412 1.7058824 0. 0. 0. 0.3414634 0.6829268 -->for i=1:n -->rev=n+1-i; -->y=M(rev,m); -->if n~=rev then -->for j=2:i -->k=m+1-j; -->y=y-M(rev,k)*X(k); -->end -->end -->X(rev)=y/M(rev,rev); -->end -->X X = - 1. 7.314D-16 1. 2. -->for i=1:n -->y=0.0; -->for j=1:n -->y=y+X(j)*M(i,j); -->end -->if y==M(i,m) then -->z='o valor de x é solução' -->else -->z='não é solução' -->end -->end z = o valor de x é solução z = o valor de x é solução z = o valor de x é solução z = o valor de x é solução Algoritmo: Eliminação de Gausseiger -->M=[-1.0 3.0 5.0 2.0 10.0; 1.0 9.0 8.0 4.0 15.0; 0.0 1.0 0.0 1.0 2.0; 2.0 1.0 1.0 -1.0 -3.0]; -->A=[2.0 1.0 1.0 -1.0 -3.0; 1.0 9.0 8.0 4.0 15.0; -1.0 3.0 5.0 2.0 10.0; 0.0 1.0 0.0 1.0 2.0] A = 2. 1. 1. - 1. - 3. 1. 9. 8. 4. 15. - 1. 3. 5. 2. 10. 0. 1. 0. 1. 2. -->X(1)=0.0; -->X(2)=0.0; -->X(3)=0.0; -->X(4)=0.0; -->for k=1:100 -->X(1)=(-3.0-X(2)-X(3)+X(4))/2.0; -->X(2)=(15.0-X(1)-8.0*X(3)-4.0*X(4))/9.0; -->X(3)=(10.0+X(1)-3.0*X(2)-2.0*X(4))/5.0; -->X(4)=(2.0-X(2))/1,0; -->end -->X X = - 1. 4.768D-09 1. 2. Algoritmo: Determinante -->M=[-1.0 3.0 5.0 2.0; 1.0 9.0 8.0 4.0; 0.0 1.0 0.0 1.0; 2.0 1.0 1.0 -1.0]; -->A=M A = - 1. 3. 5. 2. 1. 9. 8. 4. 0. 1. 0. 1. 2. 1. 1. - 1. -->n=4; -->sinal=1.0; -->pivots=n-1; -->for i=1:pivots -->Mmax=0.0; -->for k=i:n -->termo=M(k, i); -->if 0>termo then -->termo=-termo; -->end -->if termo>Mmax then -->Mmax=termo; -->L=k; -->end -->end -->if Mmax==0 then -->x='Procedimento Interrompido' -->end -->if i~=L then -->sinal=-sinal; -->for j=1:n -->prov=M(i, j); -->M(i, j)=M(L, j); -->M(L, j)=prov; -->prov=A(i,j); -->A(i,j)=A(L,j); -->A(L,j)=prov; -->end -->end -->pivot=M(i, i); -->prox= i+1; -->for j=prox:n -->const= M(j, i)/pivot; -->for k=i:n -->M(j, k)=M(j, k)-const*M(i, k); -->end -->end -->end -->det=M(1,1)*sinal; -->for i=2:n -->det=det*M(i,i); -->end -->A A = 2. 1. 1. - 1. 1. 9. 8. 4. - 1. 3. 5. 2. 0. 1. 0. 1. -->M M = 2. 1. 1. - 1. 0. 8.5 7.5 4.5 0. 0. 2.4117647 - 0.3529412 0. 0. 0. 0.3414634 -->det det = 14.
Compartilhar