목차
<< MATLAB REPORT >>
◉ 문제 11.29 회로도
◉ 프로그램 (Gauss-Seidel 이용)
◉ 실행 결과
◉ 결과 분석
◉ 문제 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법을 이용, 참값을 계산하여 결과 값과 비교를 하니 오차가 거의 나지 않았음을 알 수 있었다.
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법을 이용, 참값을 계산하여 결과 값과 비교를 하니 오차가 거의 나지 않았음을 알 수 있었다.
추천자료
- [과외]중학 수학 2-2학기 중간 예상문제 21
- [과외]중학 수학 2-2학기 중간 예상문제 24
- [과외]중학 수학 2-2학기 중간 예상문제 31
- [과외]고등 공통수학 1-2학기 기말 예상문제 10
- [과외]고등 공통수학 1-2학기 기말 예상문제 15
- [과외]고등 수학1 2-1학기 중간 예상문제 01
- [과외]고등 수학1 2-1학기 중간 예상문제 05
- [과외]고등 공통수학 심화 10
- [과외]고등 공통수학 심화 17
- [과외]고등 수학 예상문제 IV-3.도형의 이동과 부등식의 영역
- [과외]고등 수학 u삼각그래프기본공식
- [과외](고1) 05 모의고사 수리영역 문제지
- 2010년 2학기 선형대수 기말시험 핵심체크