MatLab para el método de pivoteo de Gauss

Resuelto
magimax69 Mensajes publicados 1 Estado Miembro -  
 saida -
Hola,
de hecho, estoy empezando a trabajar con Matlab, por favor, quiero un programa Matlab para el método de Gauss para resolver Ax=b (utilizando pivoteo).
Gracias
Configuración: Windows XP Firefox 1.5.0.7

8 respuestas

  1. brahim.bms
     
    clear all
    close all
    a=[1 5 8;2 -4 10;6 2 -5]
    b=[5;1;3]
    A=[a b]
    n=size(A,1)
    for k=1:n-1
    for i=k+1:n
    w=A(i,k)/A(k,k)
    for j=k:n+1
    A(i,j)=A(i,j)-w*A(k,j)
    end
    end
    end
    A
    for i=n:-1:1
    s=0;
    for j=i+1:n
    s=s+A(i,j)*x(j);
    end
    x(i)=(A(i,n+1)-s)/A(i,i)
    end
    x
    106
    1. randa
       
      ```matlab function x = gaussElimination(A, b) n = length(b); % Augmenter la matrice A avec le vecteur b Aug = [A b]; for k = 1:n % Vérifier si le pivot est nul if (Aug(k, k) == 0) % Chercher une ligne en dessous pour échanger for i = k+1:n if (Aug(i, k) ~= 0) Aug([k, i], :) = Aug([i, k], :); break; end end end % Appliquer l'élimination de Gauss for i = k+1:n factor = Aug(i, k) / Aug(k, k); Aug(i, :) = Aug(i, :) - factor * Aug(k, :); end end % Résoudre le système par substitution arrière x = zeros(n, 1); for i = n:-1:1 x(i) = (Aug(i, end) - Aug(i, 1:n) * x) / Aug(i, i); end end ```
      0
    2. BN
       
      ¡Genial! ¡Gracias!
      0