매트랩 matlab 이용한 가우스자이델법
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

<< MATLAB REPORT >>


◉ 문제 11.29 회로도
◉ 프로그램 (Gauss-Seidel 이용)
◉ 실행 결과
◉ 결과 분석

본문내용

,I4 자동 갱신됨
for j=1:3
Ia = Ia + a(i,j)*Iold(j);
end
Iold(i) = b(i) - Ia;
Ia=0;
end
Inew = Iold; %% for문으로계산된 Iold를 Inew로 지정
for i = 1:3;
Ea(i) = ( (Inew(i)-Idummy(i)) / Inew(i) )*100;
end
if max(Ea) <= Es %% Ea1,Ea2,Ea3중 가장 큰 오차가 허용오차보다 작을때
break %% 실행횟수 for문에서 빠져나옴
else
Idummy = Inew; %% Ea계산하기위해 이전변수로 저장
Iold = Inew; %% Inew를 다시 실행횟수for문실행하도록 Iold로 지정해줌
end
end
%%% << step.6- 참값 cramer공식 계산 >> ----------------------------------------------
for j=1:3
a1(j,1)=bdummy2(j);
end
for j=1:3
a2(j,2)=bdummy2(j);
end
for j=1:3
a3(j,3)=bdummy2(j);
end
Itrue = [det(a1)/det(A) ; det(a2)/det(A) ; det(a3)/det(A) ]; %%Cramer법에의한 참값행렬
%%% << step.6- 결과확인 >> ----------------------------------------------
A %% 원래행렬
a %%%% scaling & initializing 된 행렬
Inew %% Gauss-seidel법으로 구한 I1,I3,I4 행렬
Itrue %% Cramer법으로 구한 참값... 비교하기 위해 만듬
Ea %% 백분율 상대오차 행렬
실행 결과
A =
55 0 -25
0 37 -4
-25 -4 29
a =
0 0 -0.4545
0 0 -0.1081
-0.8621 -0.1379 0
Inew =
-4.1081
-6.8690
-1.0406
Itrue =
-4.1103
-6.8695
-1.0426
Ea =
0.0762
0.0108
0.2692
결과 분석
회로도를 루프 해석으로 행렬식을 만들고 그 행렬을 가지고 Gauss-Seidel 알고리즘을 적용하였다. 실행 횟수를 많이 잡았지만 허용오차를 이용하여 허용오차 보다 작을 때 계산을 마치게끔 프로그램 하였다. 또한 Cramer법을 이용, 참값을 계산하여 결과 값과 비교를 하니 오차가 거의 나지 않았음을 알 수 있었다.

키워드

  • 가격1,500
  • 페이지수6페이지
  • 등록일2009.07.27
  • 저작시기2009.5
  • 파일형식한글(hwp)
  • 자료번호#547135
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니