Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- B = [2 8 -1;5 -1 1;-1 1 4];
- A = [11;10;3];
- E = [B A];
- n =length(B);
- max= 10^(4);
- tol =10^(-7);
- M= zeros(n,n+1);
- p = zeros(1,n);
- e=0;
- id=1
- for i =1:n
- m =B(i,i);
- for j = 1:n
- if(B(i,j)> m)
- p(id)=j;
- id=id+1;
- end
- end
- end
- flag = 1;
- R=unique(p);
- if(numel(p)>numel(R))
- disp('cant do gauss');
- flag = 0;
- else
- for i =1:n
- e=find(p==i);
- M(i,:)=E(e,:);
- end
- for i = 1:n
- s = 0;
- for j = 1 : n
- s = s+abs(M(i,j));
- end;
- s = s-abs(M(i,i));
- if(abs(M(i,i))< s)
- disp('cant do gauss seidal');
- flag = 0;
- end
- end
- end
- if (flag == 1)
- x = zeros(1,n);
- for j = 1:max
- x_bar = x;
- for i = 1:n
- x(i) = (M(i,end)-sum(M(i,1:end-1).*x)+M(i,i)*x(i))./M(i,i);
- end
- if(abs(x_bar-x)<tol)
- break;
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement