Upper triangularization method (AX=B)

Function X = uptrbk(A,B)

%Input – A is an N x N nonsingular matrix

% B is an N x 1 matrix

% Output – X is an N x 1 matrix containing the solution to AX=B

% Initialize X and the temporary storage matrix C

[N N] = size(A);

X=zeros(N,1);

C=zeros(1,N+1);

%Form the augmented matrix: Aug=[A|B]

Aug=[A B];

for p=1 : N-1

%partial pivoting for column p

[Y,j] = max(abs(Aug(p:N,p)));

%Interchange row p and j

C=Aug(p,: );

Aug(p,: ) = Aug (j+p-1,: );

Aug(j+p-1,: )=C;

If Aug(p,p)==0

‘A was singular. No unique solution’

Break

end

% Eliminating process for column p

for k=p+1:N

m=Aug(k,p)/Aug(p,p);

Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1);

end

end

%Back substitution on [U|Y]

X=backsub(Aug(1:N,1:N),Aug(1:N,N+1));

The above program is to construct the solution to AX=B by reducing the augmented matrix [A B] to upper triangularization method and then performing back substitution.

I am trying to modify this program so that it will solve M linear systems with the same coefficient matrix A but different column matrices B . The M linear systems look like AX1 = B1 AX2 = B2 ...... AXm=Bm

(1 , 2 and m are in subscript)

Please help!!!