hi am working on a code for gaussian elimination
Afficher commentaires plus anciens
hi am working on a code for gaussian elimination but I can't get the code to run for non square matrix please what should I do Here is the code and thanks in advance
function [x,U] = gausselim(A,b)
% function to perform gauss eliminination
%FORWARD ELIMINATION
n=length(b);
m=zeros(n,1);
x=zeros(n,1);
for k =1:n-1;
%compute the kth column of M
m(k+1:n) = A(k+1:n,k)/A(k,k);
%compute An=Mn*An-1, bn=Mn*bn-1
for i=k+1:n;
A(i, k+1:n) = A(i,k+1:n)-m(i)*A(k,k+1:n);
end;
b(k+1:n)=b(k+1:n)-b(k)*m(k+1:n);
end;
U= triu(A);
%BACKWARD ELIMINATION
x(n)=b(n)/A(n,n);
for k =n-1:-1:1;
b(1:k)=b(1:k)-x(k+1)* U(1:k,k+1);
x(k)=b(k)/U(k,k);
end;
end
1 commentaire
John D'Errico
le 22 Mai 2014
I fixed it for you, but you need to learn how to flag a block of code as such. Otherwise, it is unreadable.
Réponse acceptée
Plus de réponses (1)
Cory Cress
le 17 Juil 2016
Modifié(e) : Walter Roberson
le 17 Juil 2016
R = rref(A)
[R,jb] = rref(A)
[R,jb] = rref(A,tol)
It produces a matrix in reduced row echelon form. Perhaps your exercise was to write it yourself, but for others that want to use a built-in function use rref.
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!