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

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
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
BN
 
¡Genial! ¡Gracias!
0