setn=[5 15 30 40 50 60 70 80 90 100 300 500 1000];
len=length(setn);
err=zeros(len,1);
res=zeros(len,1);
cnd=zeros(len,1);
i=1;
for n=setn
A=tril(-1*ones(n),-1)+diag(ones(n,1));
A(:,end)=ones(n,1);
xtrue=ones(n,1);
b=A*xtrue; % Define b
trueres=norm((b-A*xtrue),1);
[L,U,piv]=GEPiv(A);
y=LTriSol(L,b(piv));
x=UTriSol(U,y);
err(i)=norm(xtrue-x,1)/norm(xtrue,1);
res(i)=norm(b-A*x,1);
cnd(i)=cond(A,1);
i=i+1;
end
subplot(3,1,1);
plot(setn,err);
title('Error');
xlabel('n');
subplot(3,1,2);
plot(setn,res);
title('Norm of residual');
xlabel('n');
subplot(3,1,3);
plot(setn,cnd);
title('Condition number');
xlabel('n');