function x = GaussPivot(A,b)
[m,n]=size(A);
if m~=n, error('Matrix A must be square'); end
nb=n+1;
Aug=[A b];
% forward elimination
for k = 1:n-1
% partial pivoting
[p,i]=max(abs(Aug(k:n,k)));
ipr=i+k-1;
if ipr~=k
Aug([k,ipr],:)=Aug([ipr,k],:);
end
for i = k+1:n
factor=Aug(i,k)/Aug(k,k);
Aug(i,k:nb)=Aug(i,k:nb)-factor*Aug(k,k:nb);
end
end
% back substitution
x=zeros(n,1);
x(n)=Aug(n,nb)/Aug(n,n);
for i = n-1:-1:1
x(i)=(Aug(i,nb)-Aug(i,i+1:n)*x(i+1:n))/Aug(i,i);
end
코드하나 잡고 분석하면서 매틀랩 공부시작하려고하는데요 질문이 몇개있습니다
1. 4번째 줄에 nb=n+1 에서 nb는 행렬이고 n+1는 스칼라인데 식이 성립하나요?
2. 9번째 줄에 우측항은 알겠는데 좌측항이 무엇을 뜻하는지 모르겠어요 ㅜㅜ [p, i] 이형태는
행렬 합성시킬때 사용하는거 아닌가요? 그런데 우측항은 순수히 값이 나오는데 말이죠...
3. 2번질문과 마찬가지로 Aug([k,ipr],:)=Aug([ipr,k],:) 이런문장에서 대괄호가 무슨의미인지
잘모르겠습니다
뭐가 간단하다는거지
엌ㅋㅋㅋ맛나욬ㅋㅋㅋㅋㅋ