&% completa risoluzione di un sistema lineare usando la riduzione % in matrice triangolare superiore con gauss pivoting parziale % e algoritmo di bottom up con sostituzione U=[0,20,30;0,5,3;0,56,34]; % matrice di input b=[1;2;17]; %termini noti n= length(b); U= [U,b]; U for i=1:1:n-1 x_max = max ( abs(U(i:n,i)) ); if x_max == 0 disp('errore matrice di input, det 0') break else [x,y]= ind2sub(size(U), find (abs(U(i:n,i)) == x_max) ); x= x + i -1; y = i; if x~= i U([i x],:) = U([x i],:); end for j=i+1:1:n U(j,:) = U(j,:) + ( U(i,:) * (- U(j,i) / U(i,i) ) ) ; end end end if x_max ~= 0 b=U(:,n+1); U=U(1:n,1:n); x=[]; n= length(b); x(n) = b(n)/U(n,n); for i=n-1:-1:1 somma = 0; for k=i+1:n somma=somma+U(i,k) * x(k); end x(i) = (b(i) - somma)/ U(i,i); end disp ('La soluzione è ') x end