9-14수치해석(조교수업)[1] [호환...

55
MATLAB HCH 2장 배열과 행렬 1/53 >> >> C=[ C=[1 2+3i; 2-3i 4] C=1 2+3i 2-3i 4 >> >> C‘ C‘ ans ans = 1 2+3i 2-3i 4 >> >> C. ' ans ans = 1 2-3i 2+3i 4 복소수 복소수 행렬의 행렬의 전치 전치(transpose) (transpose) (1/2) (1/2) >> >> v=[ v=[1+2i 3+4i] i] v= 1.0000 0000+2.0000 0000i 3.0000 0000+4.0000 0000i >> >> w=v w=v' w = 1.0000 0000 - 2.0000 0000i 3.0000 0000 - 4.0000 0000i >> >> x=v x=v.' x = 1.0000 0000 + 2.0000 0000i 3.0000 0000 + 4.0000 0000i v 복소수 복소수 벡터나 벡터나 복소수 복소수 행렬을 행렬을 전치시키면 전치시키면, 복소수 복소수 원소는 원소는 모두 모두 공액복소 공액복소 수로 수로 바뀐 바뀐 다음에 다음에 전치 전치(complex complex conjugate conjugate transpose) transpose)된다는 된다는 점에 점에 주의 주의. v 복소수 복소수 벡터나 벡터나 복소수 복소수 행렬을 행렬을 공액복소수 공액복소수 변환없이 변환없이 단순히 단순히 전치만 전치만 시키 시키 고자 고자 하는 하는 경우에는 경우에는 .' 와 같이 같이 마침표와 마침표와 따옴표를 따옴표를 같이 같이 사용한다 사용한다.

Transcript of 9-14수치해석(조교수업)[1] [호환...

Page 1: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 1/53

>>>> C=[C=[11 22++33ii;; 22--33ii 44]]CC == 11 22++33ii

22--33ii 44>>>> C‘C‘ansans == 11 22++33ii

22--33ii 44>>>> CC.. ''ansans == 11 22--33ii

22++33ii 44

복소수복소수 행렬의행렬의 전치전치(transpose) (transpose) (1/2)(1/2)

>>>> v=[v=[11++22ii 33++44i]i]vv ==

11..00000000++22..00000000ii 33..00000000++44..00000000ii>>>> w=vw=v''ww == 11..00000000 -- 22..00000000ii

33..00000000 -- 44..00000000ii>>>> x=vx=v..''xx == 11..00000000 ++ 22..00000000ii

33..00000000 ++ 44..00000000ii

vv 복소수복소수 벡터나벡터나 복소수복소수 행렬을행렬을 전치시키면전치시키면,, 복소수복소수 원소는원소는 모두모두 공액복소공액복소

수로수로 바뀐바뀐 다음에다음에 전치전치((complexcomplex conjugateconjugate transpose)transpose)된다는된다는 점에점에 주의주의..

vv 복소수복소수 벡터나벡터나 복소수복소수 행렬을행렬을 공액복소수공액복소수 변환없이변환없이 단순히단순히 전치만전치만 시키시키

고자고자 하는하는 경우에는경우에는 ..'' 와와 같이같이 마침표와마침표와 따옴표를따옴표를 같이같이 사용한다사용한다..

Page 2: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 2/53

복소수복소수 행렬의행렬의 전치전치(transpose)(transpose) (2/2)(2/2)

>>>> rr == 11 :: 33;;>>>> CC == rr ++ r*ir*iCC ==

11..00000000 ++ 11..00000000ii 22..00000000 ++ 22..00000000ii 33..00000000 ++ 33..00000000ii>>>> CtCt == CC''CtCt ==

11..00000000 -- 11..00000000ii22..00000000 -- 22..00000000ii33..00000000 -- 33..00000000ii>>>> Cdt=CCdt=C..''CdtCdt ==

11..00000000 ++ 11..00000000ii22..00000000 ++ 22..00000000ii33..00000000 ++ 33..00000000ii

Page 3: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 3/53

벡터벡터 원소의원소의 주소주소 지정지정(Array addressing)(Array addressing)

vv 행렬이나행렬이나 배열에서배열에서 한한 개개 또는또는 여러여러 개의개의 원소의원소의 위치를위치를 찾거나찾거나 접근접근

할할 수수 있다있다.. 이것은이것은 행렬이나행렬이나 배열의배열의 일부일부 원소들의원소들의 값을값을 갱신하거나갱신하거나

계산에서계산에서 특정특정 원소를원소를 이용하려고이용하려고 할할 때때,, 또는또는 일부일부 원소들을원소들을 새새 변수변수

에에 할당하고자할당하고자 할할 때때 유용하게유용하게 사용될사용될 수수 있다있다..vv 벡터에서벡터에서 원소의원소의 주소는주소는 첫번째첫번째 원소로부터원소로부터 해당해당 원소의원소의 순서이다순서이다..

벡터벡터 vv에서에서 v(k)v(k)는는 kk번째의번째의 벡터벡터 vv의의 원소원소를를 나타낸다나타낸다..즉즉,, 벡터벡터 v=[v=[1212 88 99 66 2828]]에서에서 v(v(11)=)=1212,, v(v(33)=)=99,, v(v(55)=)=2828이다이다.. 벡터의벡터의

한한 원소를원소를 나타내는나타내는 v(k)v(k)는는 변수처럼변수처럼 사용할사용할 수수 있으므로있으므로 수학식에도수학식에도

사용할사용할 수수 있다있다..>>>> v(v(33))ansans == 99>>>> v(v(33)=)=8080;; %% 세세 번째번째 원소의원소의 값값 변경변경

>>>> v(v(44)=v()=v(33)/)/88++33 %% 수학식을수학식을 이용한이용한 네네 번째번째 원소의원소의 변경변경

vv ==1212 88 8080 1313 2828

Page 4: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 4/53

벡터벡터 원소의원소의 주소주소 지정지정 예예

>>>> VCT=[VCT=[3535 4646 7878 2323 55 1414 8181 33 5555]]VCTVCT ==

3535 4646 7878 2323 55 1414 8181 33 5555>>>> VCT(VCT(44)) %% 네네 번째번째 원소를원소를 출력함출력함

ansans ==2323

>>>> VCT(VCT(66)=)=273273 %% 66 번째번째 원소에원소에 새로운새로운 값을값을 할당함할당함

VCT=VCT=3535 4646 7878 2323 55 273273 8181 33 5555

>>>> VCT(VCT(22)+VCT()+VCT(88)) %% 수학식에수학식에 벡터벡터 원소를원소를 사용함사용함

ansans ==4949

>>>> VCT(VCT(55)^VCT()^VCT(88)+sqrt(VCT()+sqrt(VCT(77))))ansans ==

134134

Page 5: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 5/53

행렬행렬 원소의원소의 주소주소 지정지정

vv 행렬원소의행렬원소의 주소는주소는 원소가원소가 있는있는 열열(row)(row)과과 행행(column)(column)의의 위치이다위치이다.. 행렬행렬

AA에서에서 A(r,A(r, c)c)는는 행렬행렬 AA의의 rr번째번째 열과열과 cc번째번째 행에행에 위치한위치한 원소를원소를 나타낸나타낸

다다..

vv 행렬행렬 AA가가 이면이면,, A(A(11,,11)=)=55,, A(A(22,,22)=)=11,, A(A(33,,33)=)=33이다이다..

>>>> AA == [[55 1010 99 88;; 1818 11 77 1111;; 2929 1414 33 66]];; %% 33xx44 행렬을행렬을 생성함생성함

>>>> A(A(33,,11)=)=1313 %% 위치위치 ((33,,11))의의 원소에원소에 새로운새로운 값을값을 할당함할당함

AA == 55 1010 99 881818 11 77 11111313 1414 33 66

>>>> A(A(22,,11)) == A(A(22,,11))--A(A(22,,44)) %% 수학식에수학식에 원소를원소를 사용함사용함

AA == 55 1010 99 8877 11 77 1111

1313 1414 33 66

úúú

û

ù

êêê

ë

é=

63142911711889105

A

Page 6: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 6/53

콜론콜론((:):)을을 이용한이용한 벡터의벡터의 주소주소 지정지정 (1/2)(1/2)

vv 콜론을콜론을 이용하여이용하여 벡터나벡터나 행렬의행렬의 일정일정 범위의범위의 원소들을원소들을 지정할지정할 수수 있다있다..vv 벡터벡터 vv의의 경우경우

vv((::)) :: 벡터벡터 vv의의 모든모든 원소를원소를 열벡터로열벡터로 나타낸다나타낸다..vv(m(m::n)n) :: 벡터벡터 vv의의 mm 번째번째 원소에서원소에서 nn 번째번째 원소까지원소까지의의 원소들을원소들을 나타낸다나타낸다..endend는는 벡터나벡터나 행렬의행렬의 마지막마지막 원소의원소의 주소주소를를 나타내는나타내는 데데 사용되며사용되며,, 벡터의벡터의

경우경우 endend는는 명령어명령어 length(length(벡터벡터))의의 실행실행 결과와결과와 같은같은 값을값을 갖는다갖는다..

>>>> v=[v=[1010 2020 3030 4040 5050]];;>>>> v(v(33))ansans == 3030>>>> w=v(w=v(22::44))ww ==

2020 3030 4040>>>> length(v)length(v)ansans == 55

>>>> v=[v=[1010 2020 3030 4040 5050]];;>>>> x=v(x=v(22::end)end)xx == 2200 3300 4400 5050>>>> y=v(y=v(22:: length(v))length(v))yy == 2200 3300 4400 5050>>>> v(v(33::end)=end)=00vv ==

1010 2020 00 00 00

Page 7: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 7/53

콜론콜론((:):)을을 이용한이용한 벡터의벡터의 주소주소 지정지정 (2/2)(2/2)

>>>> v=[v=[1010 2020 3030 4040 5050]];;>>>> ww == v(v(33 ::--11 :: 11)) %% v(v(33),), v(v(22),), v(v(11)) 원소를원소를 가진가진 벡터벡터 생성생성

ww ==3030 2020 1010

>>>> y=v(y=v(22::33::55)) %% v(v(22),), v(v(55)) 원소를원소를 가진가진 벡터벡터 생성생성

yy ==2020 5050

>>>> zz =v(=v( [[11 33 44]] )) %% v(v(11),), v(v(33),), v(v(44)) 원소를원소를 가진가진 벡터벡터 생성생성

zz ==1010 3030 4040

>>>> vt=zvt=z(( ::)) %% 콜론에콜론에 의한의한 전체전체 원소의원소의 선택은선택은 전치와전치와 동일동일 효과효과

vtvt ==101030304040

Page 8: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 8/53

콜론을콜론을 이용한이용한 행렬의행렬의 주소주소 지정지정 (1/2)(1/2)

vv 콜론을콜론을 이용하여이용하여 행렬행렬 AA의의 일부일부 행이나행이나 열을열을 지정할지정할 수수 있다있다..A(A( ::,, n)n) 행렬행렬 AA의의 nn번째번째 열열(column)(column)의의 모든모든 원소원소를를 가리킴가리킴

A(n,A(n, :: )) 행렬행렬 AA의의 nn번째번째 행행(row)(row)의의 모든모든 원소원소를를 가리킴가리킴

A(A(::,, mm::n)n) 행렬행렬 AA의의 mm ~~ nn번째번째 열열(column)(column)의의 모든모든 원소원소를를 가리킴가리킴

A(mA(m::n,n, ::)) 행렬행렬 AA의의 mm ~~ nn번째번째 행행(row)(row)의의 모든모든 원소원소를를 가리킴가리킴

A(mA(m::n,n, pp::q)q) mm ~~ nn번째번째 행과행과 p~qp~q번째번째 열에열에 해당하는해당하는 원소원소를를 가리킴가리킴

>>>> AA ==[[22 44 1313 99;;1616 33 77 1111;;88 2121 66 55]];;>>>> CC == A(A(22::33,, 11::33))CC == 1616 33 77

88 2121 66>>>> D=A(D=A(:: ,, 22)) >>>> E=A(E=A(11::22,, ::))DD == 44 EE ==

33 22 44 1313 992121 1616 33 77 1111

úúú

û

ù

êêê

ë

é=

5621811731691342

A

Page 9: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

2장 배열과 행렬 9/53

콜른을콜른을 이용한이용한 행렬의행렬의 주소주소 지정지정 (2/2)(2/2)

>>>> B=[B=[ 99::--22::11;; zeros(zeros(11,, 33)) 11 22;; ones(ones(22,, 55)*)*22 ]]BB ==

99 77 55 33 1100 00 00 11 2222 22 22 22 2222 22 22 22 22

>>>> B(B(::,, end)end) == 11BB ==

99 77 55 33 1100 00 00 11 1122 22 22 22 1122 22 22 22 11

>>>> C=C= B(B( [[11 33],], [[11,, 33::44]] ))CC ==

99 55 3322 22 22

>>>> D=[D=[1111 1212 1313;;2121 2222 2323]]DD ==

1111 1212 13132121 2222 2323

>>>> vv ==D(D(::))vv ==

111121211212222213132323

>>>> v=vv=v’’vv ==

1111 2121 1212 2222 1313 2323

vv 행렬의행렬의 벡터벡터 변환변환

úû

ùêë

é=

232221131211

D

Page 10: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 10/35

행렬의행렬의 덧셈과덧셈과 뺄셈뺄셈

vv 같은같은 크기의크기의((같은같은 행과행과 열의열의 수를수를 가진가진)) 배열들에배열들에 대한대한 덧셈과덧셈과 뺄셈뺄셈

은은 같은같은 위치의위치의 원소들을원소들을 더하거나더하거나 빼서빼서 구한다구한다..

úû

ùêë

é±±±

±±±=±Þú

û

ùêë

é=ú

û

ùêë

é=

232322222121

131312121111

232221

131211

232221

131211 , babababababa

bbbbbb

aaaaaa

BABA

>> v = [3 6 2]; w=[9 >> v = [3 6 2]; w=[9 --1 5];1 5];>> z = v + w>> z = v + wz =z =

12 5 712 5 7>> A=[2 >> A=[2 --3 7; 8 4 5]; 3 7; 8 4 5]; >> B=[10 7 4; >> B=[10 7 4; --11 15 1];11 15 1];>> C = A >> C = A -- BBC = C =

--8 8 --10 310 319 19 --11 411 4

>>>> DD == AA ++ BBDD == 1212 44 1111

--33 1919 66>>>> DD--22ansans == 1010 22 99

--55 1717 44>>>> CC ** 22ansans ==

--1616 --2020 663838 --2222 88

행렬의행렬의 덧셈이나덧셈이나뺄셈에뺄셈에 스칼라가스칼라가포함된포함된 경우경우,, 행렬행렬의의 모든모든 원소에원소에 스스칼라를칼라를 더하거나더하거나뺀다뺀다..

Page 11: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 11/35

배열의배열의 덧셈과덧셈과 뺄셈뺄셈 응용예응용예

vv 세세 학생의학생의 과목별과목별 중간고사중간고사 및및 기말고사기말고사 성적은성적은 다음다음 표와표와 같다같다.. 세세 학생의학생의

각각 과목별과목별 평균점수와평균점수와 중간고사에중간고사에 대한대한 성적향상성적향상 점수를점수를 구하라구하라..

이이 름름중간고사중간고사 기말고사기말고사

국어국어 영어영어 수학수학 물리물리 국어국어 영어영어 수학수학 물리물리

이스근이스근 6161 7878 3939 4242 6969 8484 5151 4646

강후동강후동 4949 5757 2424 3636 5555 5353 3131 4040

이숭기이숭기 9292 9797 8989 8484 9696 9797 9292 9090

>> M = [61 78 39 42; 49 57 24 36; 92 97 89 84]; >> M = [61 78 39 42; 49 57 24 36; 92 97 89 84]; %%중간고사중간고사 성적성적

>> F = [69 84 51 46; 55 53 31 40; 96 97 92 90]; >> F = [69 84 51 46; 55 53 31 40; 96 97 92 90]; %%기말고사기말고사 성적성적

>> T = 0.5*(M + F) >> T = 0.5*(M + F) % % 학생별학생별, , 과목별과목별 총점총점 구하기구하기T = T = 65.0000 81.0000 45.0000 44.000065.0000 81.0000 45.0000 44.0000

52.0000 55.0000 27.5000 38.000052.0000 55.0000 27.5000 38.000094.0000 97.0000 90.5000 87.000094.0000 97.0000 90.5000 87.0000

>> E = F >> E = F –– M M % % 학생별학생별, , 과목별과목별 성적성적 향상향상E = E = 8 6 12 48 6 12 4

6 6 --4 7 44 7 44 0 3 64 0 3 6

Page 12: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 12/35

배열의배열의 곱셈곱셈

vv MATLABMATLAB에서에서 행렬의행렬의 곱은곱은 선형대수의선형대수의 규칙에규칙에 따라따라 행해진다행해진다..

úû

ùêë

é++++

++++=´Þ

úúú

û

ù

êêê

ë

é=ú

û

ùêë

é=

322322221221312321221121

321322121211311321121111

3231

2221

1211

232221

131211

,

babababababababababababa

bbbbbb

aaaaaa

BA

BA

>> A = [ 1 4 3; 2 6 1; 5 2 8]; >> A = [ 1 4 3; 2 6 1; 5 2 8]; >> B = [5 4; 1 3; 2 6]; >> B = [5 4; 1 3; 2 6]; >> C = A*B>> C = A*BT = T = 15 3415 34

18 3218 3243 7443 74

>> D = B*A>> D = B*A??? Error using ==> mtimes??? Error using ==> mtimesInner matrix dimensions must agree.Inner matrix dimensions must agree.

úúú

û

ù

êêê

ë

é=

úúú

û

ù

êêê

ë

é

´+´+´´+´+´

´+´+´´+´+´

´+´+´´+´+´

=

úúú

û

ù

êêê

ë

é´úúú

û

ù

êêê

ë

é

744332183415

683245281255613642211652633441231451

623145

825162341

Page 13: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 13/35

행렬행렬 곱과곱과 벡터벡터 곱곱 (1/2)(1/2)

vv 행렬의행렬의 곱은곱은 교환법칙이교환법칙이 성립하지성립하지 않는다않는다.. 즉즉,, ABAB≠≠BABA이다이다..vv 벡터벡터 곱곱 vv´́ww의의 경우경우,, 두두 벡터의벡터의 원소원소 개수는개수는 같아야같아야 하고하고 한쪽한쪽 벡터가벡터가 행행

벡터이면벡터이면 나머지나머지 벡터는벡터는 열벡터이어야열벡터이어야 하며하며,, 스칼라스칼라 또는또는 행렬을행렬을 얻게얻게

된다된다.. dot(a,dot(a, b)b) 내장함수는내장함수는 두두 벡터의벡터의 행행∙∙열열 구분구분 없이없이 내적을내적을 구한다구한다..

[ ] [ ]úúú

û

ù

êêê

ë

é=´

úúú

û

ù

êêê

ë

é++=

úúú

û

ù

êêê

ë

é´

332313

322212

312111

321

3

2

1

332211

3

2

1

321 , vwvwvwvwvwvwvwvwvw

vvvwww

wvwvwvwww

vvv

>> A = [ 6 2; 4 7]; B = [3 9; 5 1]; >> A = [ 6 2; 4 7]; B = [3 9; 5 1]; >> C = A*B, D = B*A >> C = A*B, D = B*A % A*B≠B*A% A*B≠B*AC =C =

28 5628 5647 4347 43

D =D =54 6954 6934 1734 17

Page 14: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 14/35

>> v = [ 6 2 4 ]; w = [3; 9; 5]; >> v = [ 6 2 4 ]; w = [3; 9; 5]; >> x = v*w>> x = v*wx =x =

5656>> z = w*v>> z = w*vzz ==

18 6 1218 6 1254 18 3654 18 3630 10 2030 10 20

>> dot(v, w) >> dot(v, w) % v*w% v*wans = ans =

5656>> F=[1 3; 5 7]; G=[4 2; 1 6];>> F=[1 3; 5 7]; G=[4 2; 1 6];>> F*G>> F*Gans = ans =

7 207 2027 5227 52

>> G*F>> G*Fans =ans =

14 2614 2631 4531 45

>> >> A=[2 5 7 0; 10 1 3 4; 6 2 11 5]A=[2 5 7 0; 10 1 3 4; 6 2 11 5]A = A =

2 5 7 02 5 7 010 1 3 410 1 3 4

6 2 11 56 2 11 5>> C = 3*A>> C = 3*ACC ==

6 15 21 06 15 21 030 3 9 1230 3 9 1218 6 33 1518 6 33 15

>> D=A*3>> D=A*3DD ==

6 15 21 06 15 21 030 3 9 1230 3 9 1218 6 33 1518 6 33 15

v*wv*w≠ ≠ w*vw*v

수와수와 행렬의행렬의 곱은곱은행렬의행렬의 각각 원소에원소에수를수를 곱해곱해 구한다구한다..

행렬행렬 곱과곱과 벡터벡터 곱곱 (2/2)(2/2)

Page 15: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 15/35

원소별원소별(Element(Element--byby--Element) Element) 연산연산

vv 행렬에행렬에 대한대한 곱셈과곱셈과 나눗셈은나눗셈은 선형대수의선형대수의 법칙을법칙을 따른다따른다.. 그러나그러나 두두 행행

렬의렬의 원소와원소와 원소원소 사이의사이의 연산이연산이 필요한필요한 경우가경우가 많다많다.. 덧셈과덧셈과 뺄셈은뺄셈은 원원

래래 행렬의행렬의 같은같은 위치의위치의 원소끼리원소끼리 더하거나더하거나 빼므로빼므로 원칙적으로원칙적으로 원소별원소별 연연

산에산에 해당된다해당된다..

vv 원소별원소별 연산은연산은 다음과다음과 같이같이 점점 뒤에뒤에 연산기호를연산기호를 붙이면붙이면 된다된다::

..** ((원소별원소별 곱셈곱셈),), ..^̂ ((원소별원소별 지수승지수승),), ..// ((우측우측 나눗셈나눗셈),), ..\\ ((좌측좌측 나눗셈나눗셈))

vv 두두 벡터벡터 vv와와 ww가가 각각각각 v=[v=[vv11,, vv22,, vv33],], w=[w=[ww11 ww22 ww33]]이라면이라면,,

vv..**ww == [[ vv11ww11,, vv22ww22,, vv33ww33 ]] vv..//ww == [[ vv11//ww11,, vv22//ww22,, vv33//ww33 ]]

vv..^̂ww == [[ vv11ww11,, vv22

ww22,, vv33ww33 ]]

vv 두두 행렬행렬 AA와와 BB에에 대해대해

11 12 13 11 12 13 11 11 12 12 13 13

21 22 23 21 22 23 21 21 22 22 23 23

31 32 33 31 32 33 31 31 32 32 33 33

.* a a a b b b a b a b a ba a a b b b a b a b a ba a a b b b a b a b a b

é ù é ù é ùê ú ê ú ê ú= =ê ú ê ú ê úê ú ê ú ê úë û ë û ë û

A B

Page 16: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 16/35

/////////

./ /.

333332323131

232322222121

131312121111

333231

232221

131211

333231

232221

131211

úúú

û

ù

êêê

ë

é=

úúú

û

ù

êêê

ë

é

úúú

û

ù

êêê

ë

é=

bababababababababa

bbbbbbbbb

aaaaaaaaa

BA

.^

333231

232221

131211

úúú

û

ù

êêê

ë

é

=nnn

nnn

nnn

aaaaaaaaa

nA >>>> C=AC=A../B/BCC ==22..00000000 11..50005000 00..3000300011..66676667 44..00000000 00..57145714

>>>> 22..^B^Bansans ==22 1616 1024102488 44 128128

>>>> A*BA*B?????? ErrorError using==>using==> mtimesmtimesInnerInner matrixmatrix dimensionsdimensions mustmust agreeagree..

úû

ùêë

é=

úû

ùêë

é=

7231041

485362

B

A

행렬의행렬의 원소별원소별 연산연산

>>>> A=[A=[22 66 33;; 55 88 44]];;>>>> B=[B=[11 44 1010;; 33 22 77]];;>>>> AA..*B*Bansans ==

22 2424 30301515 1616 2828

Page 17: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 17/35

원소별원소별 연산연산 예예

vv 원소별원소별 연산은연산은 많은많은 독립변수에서독립변수에서 함수값을함수값을 계산할계산할 때때 매우매우 유용하다유용하다.. 먼먼

저저 독립변수의독립변수의 값들을값들을 벡터로벡터로 정의하고정의하고 이이 벡터를벡터를 이용하여이용하여 함수값을함수값을 원원

소별소별 연산을연산을 이용하여이용하여 계산한다계산한다..vv yy((xx)=)= 22xx22-- 55x+x+11 함수의함수의 값값 계산계산

2 4 6-10

0

10

20

30

40

50

60

70

x

y

y=2x2 - 5x + 1

1 1.5 2 2.5 3-100

-80

-60

-40

-20

0

20

40

60

x

y

y=(x.3 + 5x)/(4x2 - 10)

>>>> xx == 11::77xx ==

11 22 33 44 55 66 77>>>> yy == 22*x*x..^̂22 –– 55*x*x ++ 11yy ==

--22 --11 44 1313 2626 4343 6464>>>> plot(x,plot(x, y)y)

vv yy((xx)) == ((xx33 ++ 55xx)/()/(44xx22 –– 1010))의의 계산계산

>>>> xx == [[11::00..0303::33]];;>>>> yy == (x(x..^̂33 ++ 55*x)*x)../(/(44*x*x..^̂22 -- 1010));;>>>> plot(x,plot(x, y)y)

Page 18: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 18/35

내장함수에서의내장함수에서의 배열배열 사용사용 (1/2)(1/2)

vv MATLABMATLAB의의 내장함수는내장함수는 입력인자가입력인자가 배열인배열인 경우경우 함수에함수에 의해의해 정의된정의된 연연산이산이 배열의배열의 각각 원소에원소에 대해대해 수행되도록수행되도록 만들어져만들어져 있으므로있으므로,, 함수를함수를 원소원소별로별로 적용하는적용하는 것으로것으로 생각할생각할 수수 있다있다.. 따라서따라서 출력은출력은 입력인자입력인자 배열의배열의 각각원소를원소를 함수에함수에 대입하여대입하여 얻은얻은 결과를결과를 해당해당 원소로원소로 갖는갖는 배열이다배열이다..

vv cos(x)cos(x) 함수의함수의 계산계산

>>>> x=[x=[00::pi/pi/66::22*pi]*pi]xx ==

ColumnsColumns 11 throughthrough 7700 00..52365236 11..04720472 11..57085708 22..09440944 22..61806180 33..14161416

ColumnsColumns 88 throughthrough 131333..66526652 44..18881888 44..71247124 55..23602360 55..75967596 66..28322832

>>>> y=cos(x)y=cos(x)yy ==

ColumnsColumns 11 throughthrough 7711..00000000 00..86608660 00..50005000 00..00000000 --00..50005000 --00..86608660 --11..00000000

ColumnsColumns 88 throughthrough 1313--00..86608660 --00..50005000 --00..00000000 00..50005000 00..86608660 11..00000000

>>>> plot(x,plot(x, y),y), gridgrid onon

0 1 2 3 4 5 6-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Page 19: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

3장 배열과 행렬 19/35

vv sqrt(x)sqrt(x) 함수의함수의 계산계산

>>>> d=[d=[11 44 99;; 1616 2525 3636;; 4949 6464 8181]]dd ==

11 44 991616 2525 36364949 6464 8181

>>>> h=sqrt(d)h=sqrt(d)hh ==

11 22 3344 55 6677 88 99

내장함수에서의내장함수에서의 배열배열 사용사용 (2/2)(2/2)

Page 20: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 20/65

강의강의 내용내용

vvplotplot 명령어명령어

vv fplotfplot 명령어명령어

vv같은같은 그래프에그래프에 여러여러 곡선곡선 출력하기출력하기

vv그래프의그래프의 형식지정형식지정

vv로그로그 축축 그래프그래프

vv특수특수 그래프그래프

vv히스토그램히스토그램

vv같은같은 페이지에페이지에 여러여러 그래프그래프 그리기그리기

vv다중다중 그림그림 창창

vv응용예제응용예제

Page 21: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 21/65

PLOT PLOT 명령어명령어

vv 정보를정보를 표현하는표현하는 데데 그래프는그래프는 매우매우 유용한유용한 도구이다도구이다.. MATLABMATLAB에는에는

여러여러 유형의유형의 그래프를그래프를 생성하는생성하는 데데 사용할사용할 수수 있는있는 많은많은 명령어들명령어들

이이 있다있다..

uu 그래프그래프 종류종류 :: 선형축선형축 표준표준 그래프그래프,, 로그로그 및및 세미로그세미로그 축축 그래프그래프,, 극좌표극좌표

그래프그래프,, 막대그래프막대그래프 및및 계단그래프계단그래프,, 33차원차원 윤곽윤곽 표면표면 및및 망망 그래프그래프 등등

uu 그래프그래프 형식지정형식지정 :: 선선 형태형태((직선직선,, 파선파선 등등),), 색깔색깔,, 두께두께 등등 지정지정.. 그래프그래프

의의 제목과제목과 텍스트텍스트 설명설명,, 데이터데이터 표식표식(marker)(marker)과과 격자선격자선(grid(grid line)line) 추가추가..

여러여러 개의개의 곡선을곡선을 한한 그래프에그래프에 표시하기표시하기,, 여러여러 그래프를그래프를 한한 페이지에페이지에 나나

타내기타내기.. 범례범례(legend)(legend) 표시하기표시하기 등등..

vv 이이 장에서는장에서는 MATLABMATLAB을을 이용하여이용하여 여러여러 유형의유형의 22차원차원 그래프를그래프를 생생

성하고성하고 그래프의그래프의 형식을형식을 지정하는지정하는 방법에방법에 대해대해 기술한다기술한다..

vv 33차원차원 그래프는그래프는 99장에서장에서 별도로별도로 다루기로다루기로 한다한다..

Page 22: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 22/65

그래프그래프 구성구성 요소요소

Figure window titleFigure window titleFigure window Figure window title numbertitle number

Plot titlePlot title

LegendLegend

X axis labelX axis label

Y axis labelY axis label

MarkerMarker

Text labelText label

Page 23: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 23/65

그래프그래프 생성생성 프로그램프로그램 예예

x=[10:0.1:22]; y=95000./x.^2;xd=[10:2:22]; yd=[950 640 460 340 250 180 140];plot(x,y, '-', 'LineWidth', 1.0)xlabel('\fontname{돋움}거리(cm)')ylabel('\fontname{돋움}세기(lux)')axis([8 24 0 1200])title('\fontname{바탕}\bf거리 함수인 빛의 세기', …

'FontSize',14)text(14,700,'\fontname{돋움}이론과 실험의 비교', …

'EdgeColor','r','LineWidth',2)grid on, hold onplot(xd, yd, 'ro--', 'LineWidth', 1.0, 'MarkerSize', 10)legend('\fontname{돋움}이론', '\fontname{돋움}실험', 0)set(gcf, 'Name', 'Fig. 5-8') %set(… ,'NumberTitle', 'off')hold off

Page 24: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 24/65

PLOT PLOT 명령어명령어

vv 22차원차원 그래프를그래프를 생성하는생성하는 데데 사용되는사용되는 plotplot 명령어의명령어의 형식형식 ::

§§ xx :: xx 좌표값들을좌표값들을 가진가진 벡터벡터

§§ yy :: yy 좌표값들을좌표값들을 가진가진 벡터벡터

§§ x,x, yy 두두 벡터로부터벡터로부터 형성되는형성되는 순서쌍을순서쌍을 그래프에그래프에 점으로점으로 나타내고나타내고 점들점들을을 직선으로직선으로 잇는다잇는다..

plot(x, y)

vv 그래프그래프 예예

>>>> x=[x=[11 22 33 55 77 77..55 88 1010]];;>>>> y=[y=[22 66..55 77 77 55..55 44 66 88]];;>>>> plot(x,plot(x, y),y), gridgrid onon

vv 그래프의그래프의 기본기본 선선 색깔은색깔은 파란색이다파란색이다..

Page 25: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프25/65

그래프그래프 형식형식 지정자지정자

vv plot plot 명령어의명령어의 옵션으로옵션으로 선선 색깔과색깔과 종류종류, , 데이터데이터 표식표식(marker) (marker) 모양모양 등을등을 지정지정

할할 수수 있다있다. . 옵션을옵션을 사용하기사용하기 위한위한 plot plot 명령어의명령어의 형식형식 ::

선선 색깔색깔 지정자지정자

rreded rr

ggreenreen gg

bbluelue bb

ccyanyan cc

mmagentaagenta mm

yyellowellow yy

blacblackk kk

wwhitehite ww

plot(x, y, ‘line specifiers', 'PropertyName', PropertyValue)

선과선과 markermarker의의 모양모양∙∙색색 지정지정 선의선의 굵기굵기, marker, marker의의 크기크기∙∙테두리테두리 ∙∙배경배경 색색 지정지정

선선 종류종류 지정자지정자

실선실선((기본기본))Solid lineSolid line --

파파 선선Dashed lineDashed line ----

점점 선선Dotted lineDotted line ::

일점쇄선일점쇄선DashDash--dot linedot line --..

Marker Marker 모양모양 지정자지정자

plus plus 부호부호 ++

원원 o(o(알파벳알파벳))

별표별표 **

점점 ..

▲▲/ / ▼▼/ / ◄◄//►► ^/^/vv/</>/</>

■■ ss

♦♦ dd

xx xx

Page 26: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 26/65

그래프그래프 형식형식 지정지정 예예

Page 27: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프27/65

그래프그래프 형식형식 지정자지정자 사용시사용시 유의할유의할 점점

vv 선택사항인선택사항인 지정자는지정자는 plotplot 명령어명령어 안에안에 문자열로문자열로 표시한다표시한다..vv 여러여러 개의개의 지정자를지정자를 문자열문자열 내에내에 표시하는표시하는 경우경우 순서는순서는 상관없다상관없다..

uu plot(x,plot(x, y)y) 파란파란 실선실선((기본기본 설정설정)) ♦♦ plot(x,plot(x, y,y, 'r')'r') 빨간빨간 실선실선

uu plot(x,plot(x, y,y, ''----y')y') 노란노란 파선파선

uu plot(x,plot(x, y,y, '*')'*') 연결선연결선 없이없이 데이터값만데이터값만 ‘‘**’’로로 표시표시

uu plot(x,plot(x, y,y, ''gg::dd')') 데이터데이터 값을값을 ‘‘♦♦’’로로 표시한표시한 후후,, 녹색녹색 점선점선으로으로 연결연결

Page 28: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프28/65

그래프그래프 속성속성(property) (property) 지정지정

vv plotplot 명령어에서명령어에서 그래프그래프 속성속성 이름과이름과 속성값을속성값을 지정함으로써지정함으로써 선선 두께두께,,markermarker의의 크기크기와와 테두리테두리 색색,, 채움채움 색색을을 지정할지정할 수수 있다있다..

vv 속성속성 이름이름(Property(Property name)name)과과 해당해당 속성값속성값(Property(Property value)value) ::

속성속성 이름이름 설명설명 가능한가능한 속성속성 값값

LineWidthLineWidth 선의선의 굵기굵기 지정지정 pointpoint 단위의단위의 수수((기본기본 값값 00..55))

MarkerSizeMarkerSize markermarker의의 크기크기 지정지정 pointpoint 단위의단위의 수수

MarkerEdgeColorMarkerEdgeColor markermarker의의 테두리선테두리선 색색 지정지정 이전이전 표의표의 색깔색깔 지정자지정자 사용사용

MarkerFaceColorMarkerFaceColor markermarker의의 배경색배경색 지정지정 이전이전 표의표의 색깔색깔 지정자지정자 사용사용

vv 속성속성 지정의지정의 예예

plot(x,y,plot(x,y,''--mo'mo',, ‘MarkerSize'‘MarkerSize',,1212,, 'MarkerEdgeColor''MarkerEdgeColor','g',,'g', ‘MarkerFaceColor'‘MarkerFaceColor',, 'y','y',

'LineWidth''LineWidth',, 22))

원형원형 marker marker 표시표시, magenta, magenta색색 실선실선

선선 두께두께 2 point2 point

markermarker의의 크기크기: 12 point. Marker: 12 point. Marker는는녹색녹색 테두리에테두리에 노란노란 색으로색으로 채워짐채워짐

Page 29: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프29/65

주어진주어진 데이터로부터데이터로부터 그래프그래프 그리기그리기

vv 주어진주어진 데이터를데이터를 이용하여이용하여 벡터를벡터를 생성하고생성하고,, 이이 벡터들을벡터들을 이용하여이용하여 plotplot명령어로명령어로 그래프를그래프를 그린다그린다..

예예)) 어떤어떤 회사의회사의 19881988~~19941994년년 판매판매 데이터를데이터를 그래프로그래프로 표시하기표시하기

연도 1988 1989 1990 1991 1992 1993 1994

매출액 8 12 20 22 18 24 27

Page 30: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH 주어진주어진 데이터로부터데이터로부터 그래프그래프 그리기그리기

5장 2차원 그래프30/65

>>>> yr=[yr=[19881988::19941994]];;>>>> ssaaleless=[=[88 1212 2020 2222 1818 2424 2727]];;>>>> plot(yr,plot(yr, ssaaleless,, ''----r*'r*',, ''LLineineWWidth'idth',, 22,, ……

‘MarkerSize‘MarkerSize'',, 1212))

Page 31: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프31/65

함수의함수의 그래프그래프 그리기그리기

vv plotplot 명령어로명령어로 함수함수 yy==ff((xx))를를 그리기그리기

uu 함수의함수의 정의역에정의역에 대한대한 xx 값값 벡터를벡터를 생성한다생성한다..uu 원소별원소별 연산을연산을 이용하여이용하여 xx 값값 벡터에서의벡터에서의 ff((xx)) 값들을값들을 구하여구하여 벡터벡터 yy를를 생성한다생성한다..uu 생성된생성된 두두 벡터로부터벡터로부터 plotplot 명령어로명령어로 그래프를그래프를 그린다그린다..

예예)) 정의역정의역 --22≤≤xx≤≤44에에 대한대한 함수함수 yy==33..55--00..55xxcos(cos(66xx))의의 그래프그래프

Page 32: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH 함수의함수의 그래프그래프 그리기그리기

5장 2차원 그래프32/65

>>>> x=[x=[--22::00..33::44]];;>>>> y=y=33..55..^(^(--00..55*x)*x)..*cos(*cos(66*x)*x);;>>>> plot(x,plot(x, y)y)

벡터벡터 xx의의 원소원소 간격을간격을미세하게미세하게 생성함생성함

>>>> x=[x=[--22::00..0101::44]];;>>>> y=y=33..55..^(^(--00..55*x)*x)..*cos(*cos(66*x)*x);;>>>> plot(x,plot(x, y)y)

Page 33: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프33/65

한한 그래프에그래프에 여러여러 곡선곡선 출력하기출력하기

vv 한한 그래프에그래프에 여러여러 곡선을곡선을 표시하는표시하는 세세 가지가지 방법방법 ::

11.. plotplot 명령어명령어 속에속에 표시할표시할 곡선곡선 데이터를데이터를 나열하는나열하는 방법방법

22.. holdhold on,on, holdhold offoff 명령어를명령어를 사용하는사용하는 그래프를그래프를 계속계속 그리는그리는 방법방법

33.. lineline 명령어를명령어를 사용하는사용하는 방법방법

vv plotplot 명령어를명령어를 이용한이용한 다중다중 그래프그래프 출력출력

plot(plot( X1, Y1, X1, Y1, [[LineSpec1]LineSpec1], , X2, Y2, [LineSpec2]X2, Y2, [LineSpec2], , X3, Y3, [LineSpec3]X3, Y3, [LineSpec3] ))

(X(X11,, YY11))과과 (X(X22,, YY22),), (X(X33,, YY33)) 등등 세세 곡선을곡선을 같은같은 그림그림 창에창에 나타낸다나타낸다.. LineSpecLineSpec을을 각각각각 지정하지지정하지 않는않는 경우경우,, MATLABMATLAB이이 각각 곡선의곡선의 구분을구분을 위해위해 곡선곡선 색깔을색깔을

자동으로자동으로 다르게다르게 표시한다표시한다..

예예)) plot(plot(x,x, y,y, ''--r'r',, u,u, v,v, ''----b',b', t,t, h,h, 'g'g::''))(x,x, y)y) 곡선은곡선은 빨간빨간 실선실선,, (u,(u, v)v) 곡선은곡선은 파란파란 파선파선,, (t,(t, h)h) 곡선은곡선은 녹색녹색 점선점선으으

로로 한한 그래프에그래프에 출력된다출력된다..

Page 34: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프34/65

예제예제 5.1 5.1 함수와함수와 도함수의도함수의 그래프그래프 그리기그리기

vv --22≤x≤≤x≤44에에 대해대해 함수함수 yy == 33xx33 -- 2626xx ++ 1010과과 이이 함수의함수의 11차차 도함수도함수 및및 22차차 도도

함수함수 그래프를그래프를 같은같은 그그림림 창창에에 표시하라표시하라..

풀이풀이))yy'' ==99xx22 –– 2626,, yy'''' == 1818xx

Page 35: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH 예제예제 5.1 5.1 함수와함수와 도함수의도함수의 그래프그래프 그리기그리기

5장 2차원 그래프35/65

x=[x=[--22::00..0101::44]];;y=y=33*x*x..^̂33--2626*x+*x+66;;yd=yd=99*x*x..^̂22 -- 2626;;yddydd == 1818*x*x;;plot(plot( x,x, y,y, ''--b',b', x,x, yd,yd, ''----r'r',, x,x, ydd,ydd, ''::k'k' ))

Page 36: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프36/65

hold on/offhold on/off를를 이용한이용한 다중다중 그래프그래프

vv holdhold on/offon/off 명령어를명령어를 이용한이용한 다중다중 그래프그래프 작성작성

1)1) plotplot 명령어를명령어를 이용하여이용하여 첫첫 번째번째 그래프를그래프를 그린다그린다..2)2) holdhold onon 명령어를명령어를 입력한다입력한다.. holdhold onon 명령어는명령어는 첫첫 번째번째 그래프가그래프가 그려진그려진 그그

림림 창을창을 열린열린 채로채로 유지하며유지하며 축의축의 속성과속성과 형식지정도형식지정도 그대로그대로 유지한다유지한다..3)3) 이후부터이후부터 plotplot 명령어를명령어를 추가하면추가하면 현재현재 그래프에그래프에 곡선이곡선이 추가된다추가된다..4)4) holdhold offoff 명령어를명령어를 입력하면입력하면,, plotplot 명령어를명령어를 수행할수행할 때마다때마다 이전이전 그래프를그래프를

지우고지우고 축의축의 속성을속성을 초기화하는초기화하는 초기설정초기설정 모드모드(default(default mode)mode)로로 MATLABMATLAB을을 원상회복시킨다원상회복시킨다..

x=[x=[--22::00..0101::44]];; y=y=33*x*x..^̂33--2626*x+*x+66;;yd=yd=99*x*x..^̂22 -- 2626;; yddydd == 1818*x*x;;plot(x,plot(x, y,y, ''--b')b')hold onhold onplot( plot( x,x, yd,yd, ''----rr‘‘))plot( plot( x,x, ydd,ydd, ':k':k‘‘))hold offhold off

Page 37: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 37/65

line line 명령어를명령어를 이용한이용한 다중다중 그래프그래프 (1/2)(1/2)

vv 이미이미 존재하는존재하는 그래프에그래프에 lineline 명령어를명령어를 이용하여이용하여 곡선을곡선을 추가로추가로 더더 표시할표시할

수수 있다있다.. lineline 명령어의명령어의 형식은형식은 다음과다음과 같다같다::line(X,line(X, Y,Y, ‘‘PropertyNamePropertyName’,’, PropertyValuePropertyValue))

vv lineline 명령어는명령어는 선선 지정자를지정자를 갖지갖지 않지만않지만,, PropertyNamePropertyName과과 PropertyValuePropertyValue를를 이이용하여용하여 선선 종류와종류와 색색,, 데이터데이터 표식표식 등을등을 지정할지정할 수수 있다있다.. 속성은속성은 옵션이며옵션이며,, 아무아무것도것도 입력하지입력하지 않으면않으면 기본기본 속성속성 및및 값들을값들을 이용한다이용한다.. 예를예를 들어들어

line(x,line(x, y,y, 'linestyle','linestyle', ''----',', 'color','color', 'r','r', 'marker','marker', 'o')'o')위위 명령어는명령어는 기존기존 그래프그래프에에 원형원형 markermarker와와 빨간빨간 파선의파선의 곡선을곡선을 추가추가한다한다..

vv plotplot 명령어는명령어는 실행될실행될 때마다때마다 새로운새로운 그래프를그래프를 시작하는시작하는 반면반면,, lineline 명령어는명령어는 기기존존 그래프에그래프에 선들을선들을 추가한다추가한다.. 여러여러 곡선을곡선을 한한 그래프에그래프에 그리려면그리려면,, plotplot 명령어명령어를를 먼저먼저 실행하고실행하고 lineline 명령어로명령어로 곡선을곡선을 추가한다추가한다..

(옵션)선 종류와 색, 두께, 데이터 표식의 모양과 크기, 표식의 테두리선 색 및 배경색 등을 지정하는 데 사용할 수 있는 속성과 값

Page 38: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 38/65

vv lineline 명령어를명령어를 plotplot 명령어보다명령어보다 먼저먼저 입력하면입력하면 에러에러 메시메시지지가가 출력된다출력된다..

x=[x=[--22::00..0101::44]];;y=y=33*x*x..^̂33--2626*x+*x+66;;yd=yd=99*x*x..^̂22 -- 2626;;yddydd == 1818*x*x;;plot(x,plot(x, y,y, 'LineStyle''LineStyle',, ''--'',, 'color''color',, 'b''b'))lineline(x,(x, yd,yd, 'LineStyle''LineStyle',, ''----'',, 'color''color',, 'r''r'))lineline(x,(x, ydd,ydd, 'LineStyle''LineStyle',, ''::'',, 'color''color',, 'k''k'))

line line 명령어를명령어를 이용한이용한 다중다중 그래프그래프 (2/2)(2/2)

Page 39: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 39/65

그래프의그래프의 형식형식 지정지정

vv plotplot 명령어와명령어와 fplotfplot 명령어는명령어는 기본기본 형태로형태로 그래프를그래프를 출력한다출력한다.. 따라서따라서 그그

래프가래프가 특정한특정한 모양을모양을 갖도록갖도록 하거나하거나 추가추가 정보정보 표시를표시를 위해서는위해서는 그래프그래프

형식형식 지정이지정이 필요하다필요하다..§§ 격자격자(grid)(grid) 표시하기표시하기,, 축축 범위범위 재설정재설정 하기하기

§§ 축축 라벨과라벨과 그래프그래프 제목제목,, 범례범례(legend),(legend), 텍스트텍스트 라벨라벨 등등 추가하기추가하기

vv 그래프그래프 형식형식 지정지정 방법방법

§§ plotplot 또는또는 fplotfplot 명령어명령어 실행실행 후후,, MATLABMATLAB 형식지정형식지정 명령어를명령어를 사용하는사용하는 방법방법..이이 방법은방법은 plotplot 명령어가명령어가 스크립트스크립트 파일에파일에 포함되어포함되어 있을있을 때때 유용하며유용하며,, 프로그램프로그램

이이 실행될실행될 때마다때마다 지정한지정한 형식이형식이 적용된적용된 그래프가그래프가 그려진다그려진다..

§§ 그림그림 창의창의 그래프그래프 편집기편집기(Plot(Plot Editor)Editor)를를 이용하여이용하여 대화식으로대화식으로 지정하는지정하는 방법방법..그래프가그래프가 생성된생성된 후후 그래프그래프 편집기편집기로로 해당해당 그래프에그래프에 대해대해 형식형식 지정을지정을 하므로하므로,,해당해당 그래프에그래프에 대해서만대해서만 지정한지정한 형식이형식이 유효하며유효하며,, 그래프가그래프가 새로새로 생성되면생성되면 형식형식

지정을지정을 다시다시 해야해야 한다한다..

Page 40: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 40/65

MATLAB MATLAB 형식형식 지정지정 명령어명령어

명명 령령 설설 명명

gtext(‘gtext(‘텍스트텍스트’’))text(x,y,text(x,y, ‘‘텍스트텍스트’’))

마우스로마우스로 ‘‘텍스트텍스트’’를를 그래프내의그래프내의 원하는원하는 위치에위치에 놓는다놓는다..(x,y)(x,y) 위치에위치에 ‘‘텍스트텍스트’’의의 첫첫 글자가글자가 위치하도록위치하도록 표시한다표시한다..

title(‘title(‘텍스트텍스트’’)) 그래프그래프 윗부분에윗부분에 ‘‘텍스트텍스트’’를를 제목으로제목으로 표시한다표시한다..

xlabel(‘xlabel(‘텍스트텍스트’’))ylabel(‘ylabel(‘텍스트텍스트’’))

그래프의그래프의 가로축에가로축에 ‘‘텍스트텍스트’’를를 축축 라벨로라벨로 표시한다표시한다..그래프의그래프의 세로축에세로축에 ‘‘텍스트텍스트’’를를 라벨로라벨로 표시한다표시한다..

axisaxis axis(axis( [xmin[xmin xmaxxmax yminymin ymax]ymax] )) :: 좌표축좌표축 범위범위 지정지정

axisaxis [tight/normal/equal][tight/normal/equal] :: 좌표축좌표축 scalingscaling 및및 모양조정모양조정

gridgrid [on/[on/offoff]] 그래프그래프 바탕에바탕에 격자격자(grid)(grid)를를 표시하거나표시하거나 지운다지운다..

holdhold [on/[on/offoff]] 현재현재 그래프와그래프와 좌표계좌표계 특성을특성을 유지한유지한 채채,, 새로운새로운 그래프를그래프를

추가하거나추가하거나,, 기본설정으로기본설정으로 새로운새로운 그래프를그래프를 생성생성..

[x,y]=ginput(n)[x,y]=ginput(n) 마우스로마우스로 그래프에서그래프에서 점을점을 선택하여선택하여 그그 점의점의 (x,(x, y)y) 좌표를좌표를

읽어읽어 벡터벡터 x,x, yy에에 저장한다저장한다.. nn은은 읽을읽을 점의점의 개수이다개수이다..

legend(legend(‘s‘s11’,’, ‘s‘s22’,’,……,, pos)pos) 선선 종류와종류와 입력한입력한 문자열을문자열을 지정한지정한 위치위치(pos)(pos)에에 표시한다표시한다..

Page 41: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 41/65

그래프그래프 형식형식 지정지정 명령어명령어

xx,, yy 좌표축좌표축 부근에부근에 축축 라벨라벨을을 붙인다붙인다..

그래프그래프 제목제목을을 그림그림 상단에상단에 표시한다표시한다..

그래프그래프 안에안에 텍스트를텍스트를 표시표시한다한다.. texttext명령어는명령어는 그래프의그래프의 좌표좌표로로 (x,(x, y)y) 위치에위치에,, gtextgtext는는 마우스를마우스를 클릭한클릭한 위치에위치에 텍스트텍스트 첫첫글자의글자의 왼쪽왼쪽 하단모서리가하단모서리가 놓이도록놓이도록 한다한다..

§§곡선의곡선의 출력순서대로출력순서대로 texttext를를 입력하면입력하면곡선곡선 종류와종류와 입력한입력한 텍스트를텍스트를 범례로범례로그래프에그래프에 표시한다표시한다..

§§표시표시 위치는위치는 pospos에에 의해의해 결정된다결정된다..pos=pos=--11 :: 우측우측 경계선경계선 밖밖

pos=pos=11~~44 :: 우측우측 상단부터상단부터 우측우측 하단까지하단까지시계반대방향시계반대방향 순서로순서로 그래프그래프 안쪽안쪽

pos=pos=00 :: 우측우측 상단에상단에 그래프와그래프와 안안 겹치게겹치게

xlabel(xlabel(‘‘텍스트’텍스트’))ylabel(ylabel(‘‘텍스트’텍스트’))

title(title(‘‘텍스트’텍스트’))

text(x,text(x, y,y, ‘‘텍스트텍스트’’))gtext(gtext(‘‘텍스트텍스트’’))

legend(legend(‘text1’, ‘text2’, …, ‘text1’, ‘text2’, …, pospos))

titletitle

legendlegend

xlabelxlabel

pos=0pos=0pos=1pos=1

pos=2pos=2

pos=4pos=4pos=3pos=3

Page 42: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 42/65

title, text, xlabeltitle, text, xlabel에서의에서의 텍스트텍스트 형식지정형식지정

vv xlabel,xlabel, ylabel,ylabel, title,title, text,text, legendlegend 명령어에명령어에 포함된포함된 텍스트텍스트 문자열의문자열의 글자글자폰트와폰트와 크기크기,, 위치위치((위첨자위첨자,, 아래첨자아래첨자),), 모양모양((이탤릭이탤릭,, 볼드볼드 등등),), 글자글자 색색 등등을을 지정하여지정하여 화면에화면에 표시할표시할 수수 있다있다.. 더더 자세한자세한 내용은내용은 도움말도움말 창의창의 TextText와와 TextText PropertiesProperties 항목항목을을 참조한다참조한다..

vv 문자열의문자열의 형식은형식은 문자열문자열 안에안에 수정자수정자(modifier)(modifier)를를 추가하거나추가하거나 명령어명령어 옵옵션인션인 PropertyNamePropertyName과과 PropertyValuePropertyValue 인자들을인자들을 문자열문자열 다음에다음에 추가하여추가하여조정할조정할 수수 있다있다..

vv 수정자수정자(modifier)(modifier)ModifierModifier 효과효과

\\bfbf 볼드체볼드체

\\itit 이탤릭체이탤릭체

\\rmrm 로만로만((보통보통))체체\\fontname{fontname{폰트이름폰트이름}} 폰트폰트 지정지정

\\fontsize{fontsize{폰트폰트 크기크기}} 폰트폰트 크기크기 지정지정

\\color{color{색깔이름색깔이름}} 폰트폰트 색깔색깔 지정지정

§§ 수정자는수정자는 해당해당 문자열의문자열의 삽입한삽입한위치위치 이후의이후의 문자에문자에 대해서만대해서만 효효력을력을 미친다미친다..

§§ 문자열문자열 중중 일부일부 텍스트만텍스트만 수정하수정하려는려는 경우경우,, 수정할수정할 텍스트를텍스트를 수정수정자자 뒤에뒤에 중괄호중괄호 {{ }} 안에안에 삽입하삽입하면면 된다된다..

§§ 폰트폰트 색깔이름색깔이름:: blueblue,, magentamagenta,, ……

Page 43: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 43/65

문자열문자열 내에서의내에서의 텍스트텍스트 형식지정형식지정

vv 위위 첨자와첨자와 아래첨자아래첨자uu _(_(밑줄밑줄 글자글자))나나 ^̂ 뒤의뒤의 낱개낱개 글자를글자를 아래아래 첨자나첨자나 위위 첨자로첨자로 출력시킨다출력시킨다..uu __나나 ^̂ 다음에다음에 여러여러 개의개의 연속된연속된 글자들을글자들을 중괄호중괄호 {{ }} 속에속에 표시하면표시하면 여러여러 개개의의 글글

자자를를 아래아래 첨자나첨자나 위위 첨자로첨자로 표시할표시할 수수 있다있다..vv 그리스그리스 문자문자

uu 문자열문자열 안의안의 ‘‘\\그리스그리스 문자이름문자이름’’은은 실행실행 시시 그리스그리스 문자로문자로 변환되어변환되어 출력된다출력된다..uu 그리스그리스 문자이름문자이름을을 전부전부 영어영어 소문자로소문자로 표기하면표기하면 그리스그리스 문자가문자가 대문자대문자,, 소문자소문자

로로 표기하면표기하면 그리스그리스 문자가문자가 대문자로대문자로 출력된다출력된다..

문자열에서의문자열에서의 표기표기 그리스그리스 문자문자

\\alphaalpha aa

\\betabeta bb

\\gammagamma gg

\\thetatheta qq

\\pipi pp

\\sigmasigma ss

문자열에서의문자열에서의 표기표기 그리스그리스 문자문자

\\PhiPhi FF

\\deltadelta DD

\\GammaGamma GG

\\LambdaLambda LL

\\OmegaOmega WW

\\SigmaSigma SS

Page 44: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 44/65

문자열문자열 내에서의내에서의 텍스트텍스트 형식지정형식지정

''\\fontname{fontname{휴먼옛체휴먼옛체}}\\fontsize{fontsize{1818}}\\color{red}color{red}11자유도자유도 감쇠진동감쇠진동''

''\\fontnamefontname{Times{Times NewNew RomanRoman}}\\fontsizefontsize{{1515}x(}x(\\itittt\\rmrm)=)=33..55^{^{--00..55\\ititt}t}\\rmrmcos(cos(22\\pipi\\itittt\\rmrm)')'

Page 45: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 45/65

속성속성 인자를인자를 이용한이용한 텍스트텍스트 형식형식 지정지정

v xlabel, ylabel, title, text 명령어 안에서 문자열 뒤에 옵션인 PropertyName과PropertyValue 인자를 추가하여 출력되는 텍스트의 형식을 지정할 수도 있다.

예)

v PropertyName은 문자열로 입력되며, PropertyValue는 속성값 종류에 따라 수또는 문자열로 입력한다.

v PropertyName과 가능한 PropertyValue에 대한 일부 예를 다음 슬라이드에 표시하였으며, 나머지는 도움말을 참조한다.

ttextext(( xx, , yy,, ‘‘텍스트텍스트 문자열’문자열’, , XPropertyName, PropertyValueXPropertyName, PropertyValue ))

Page 46: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 46/65

속성속성 인자의인자의 예예

v PropertyName과 PropertyValue 인자의 예

속성명속성명 설명설명 가능한가능한 속성값속성값

RotationRotation 텍스트의텍스트의 방위방위(orientation)(orientation)를를 지정함지정함 스칼라스칼라((°°),), 초기설정초기설정 값값== 00 °°

FontAngleFontAngle 글자를글자를 이탤릭체로이탤릭체로 할할 지를지를 지정함지정함 normalnormal ((default)default),, italicitalic

FontNameFontName 텍스트의텍스트의 폰트를폰트를 지정함지정함 시스템에서시스템에서 제공하는제공하는 폰트명폰트명

FontSizeFontSize 폰트의폰트의 크기를크기를 지정함지정함스칼라스칼라((단위단위:: point)point)초기설정초기설정 값값==1010

FontWeightFontWeight 글자의글자의 굵기를굵기를 지정함지정함 light,light, normalnormal(default)(default),, boldbold

ColorColor 텍스트의텍스트의 색을색을 지정지정 색색 지정자지정자((55..11절절 참조참조))

BackgroundColorBackgroundColor 배경색을배경색을 지정함지정함((직사각형직사각형 영역영역)) 색색 지정자지정자((55..11절절 참조참조))

EdgeColorEdgeColor 텍스트를텍스트를 둘러싼둘러싼 직사각형직사각형 글상자의글상자의테두리테두리 색을색을 지정함지정함

색색 지정자지정자((55..11절절 참조참조))초기설정초기설정 값값:: 없음없음

LineWidthLineWidth 텍스트를텍스트를 둘러싼둘러싼 직사각형직사각형 글상자의글상자의테두리선의테두리선의 두께를두께를 지정함지정함

스칼라스칼라((단위단위:: point)point)초기설정초기설정 값값:: 00..55

Page 47: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 47/65

axis axis 명령어와명령어와 grid grid 명령어명령어 (1/2)(1/2)

v axis 명령어는 좌표축의 범위와 모양을 변경할 때 사용된다.v MATLAB은 벡터 x와 y의 원소들 중에서 최소값과 최대값에 근거한 경계

값에 따라 자동으로 좌표축을 설정하므로, 때로는 좌표축을 재조종할 필

요가 있을 수 있다.예)

%% 그래프그래프 그리기그리기

xx == 00:: 00..0202:: pi/pi/22;;plot(x,plot(x, tan(x),tan(x), ''--ro')ro')axis([axis([00 pi/pi/22 00 55])])%% 최대값에최대값에 맞추어맞추어 설정된설정된 좌표축의좌표축의 재설정재설정

axis([axis([00 pi/pi/22 00 55])])

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.60

10

20

30

40

50

60

70

80

90

100

0 0.5 1 1.50

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Page 48: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 48/65

v axis 명령어의 가능한 몇 가지 형태

axis([xmin,axis([xmin, xmax,xmax, ymin,ymin, ymax])ymax])좌표축좌표축 범위를범위를 xmin~xmax,xmin~xmax, ymin~ymaxymin~ymax로로 지정지정

axisaxis tighttight 좌표축좌표축 범위를범위를 데이터데이터 범위에범위에 맞춤맞춤

axisaxis equalequal 데이터데이터 단위가단위가 모든모든 방향으로방향으로 같도록같도록 aspectaspect ratioratio를를 맞춘다맞춘다..axisaxis normalnormal 기본기본 모우드로모우드로 설정한다설정한다..

v grid 명령어

gridgrid onon 그래프에그래프에 격자선격자선(grid)(grid)을을 추가함추가함

gridgrid offoff 그래프에서그래프에서 격자선격자선(grid)(grid)을을 제거함제거함

axis axis 명령어와명령어와 grid grid 명령어명령어 (2/2)(2/2)

Page 49: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 49/65

그래프그래프 형식지정형식지정 예예

Page 50: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 50/65

단위단위 원원 그리기그리기

vv 반지름이반지름이 11인인 단위단위 원원 그리기그리기

%% 데이터데이터 생성생성(( x=cosx=cos qq,, y=siny=sin qq ,, 00≤≤ qq ≤≤22pp ))thetatheta == linspace(linspace(00,, 44*pi,*pi, 100100));;x=cos(theta)x=cos(theta);; y=sin(theta)y=sin(theta);;

%% 원과원과 격자선격자선 그리기그리기

plot(x,plot(x, y)y)gridgrid onon

%% 좌표축좌표축 조정조정

axisaxis equalequal

Page 51: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 51/65

그래프그래프 편집기를편집기를 이용한이용한 형식지정형식지정

vv 그림그림 창에서창에서 그래프그래프 편집기를편집기를 이용하여이용하여 대화식으로대화식으로 그래프를그래프를 편집할편집할 수수 있다있다..vv FigureFigure ToolbarToolbar의의 화살표화살표(Edit(Edit Plot)Plot)를를 클릭하면클릭하면 편집모드가편집모드가 되며되며,, 편집대상편집대상 주위에주위에

검은검은 점들이점들이 표시된다표시된다.. 편집할편집할 개체를개체를 선택하여선택하여 더블더블 클릭하면클릭하면,, 해당해당 개체의개체의 속성속성

Figure ToolbarFigure Toolbar

을을 변경할변경할 수수 있는있는 PropertyProperty EditorEditor 창이창이 그그림림 창창 밑에밑에 나타난다나타난다.. 라벨라벨,, 범례범례 등은등은 마우마우스로스로 드래깅하여드래깅하여 위치를위치를 바꿀바꿀 수수 있다있다..

Page 52: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 52/65

속성속성 편집창편집창((Property EditorProperty Editor))

vv PropertyProperty EditorEditor 창에서창에서 해당해당 그래프그래프 요소의요소의 속성을속성을 편집할편집할 수수 있다있다.. FigureFigureToolbarToolbar 우측우측 끝의끝의 ‘‘ShowShow EditEdit Tools’Tools’ 버튼을버튼을 눌러도눌러도 속성편집창이속성편집창이 나타난다나타난다..

Show Edit Tools

Page 53: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 53/65

같은같은 페이지에페이지에 여러여러 그래프그래프 그리기그리기 (1/2)(1/2)

vv subplotsubplot 명령어를명령어를 이용하여이용하여 동일한동일한 페이지에페이지에 여러여러 개의개의 그래프를그래프를 그릴그릴 수수

있다있다..vv SubplotSubplot 명령어의명령어의 형식형식

subsubplot(plot(mm, , nn, , pp))

그림그림 창을창을 mm××nn의의 작은작은 사각형사각형 그래프그래프 영역으로영역으로나누고나누고,, 각각 그래프그래프 영역에영역에 대해대해 첫첫 줄부터줄부터 마지마지막막 줄까지줄까지 왼쪽에서왼쪽에서 오른쪽오른쪽 순서대로순서대로 차례로차례로 일일련번호를련번호를 부여한부여한 후후,, pp 번째번째 영역을영역을 그래프그래프 출력출력대상대상 영역으로영역으로 만든다만든다.. 즉즉,, 이이 명령어명령어 뒤에뒤에 오는오는plotplot 명령어명령어와와 형식지정형식지정 명령어는명령어는 pp 번째번째 영역에영역에적용된다적용된다..

예예)) subplot(subplot(33,, 22,, 11))은은 우측우측 그림과그림과 같이같이 세세 줄과줄과두두 칸으로칸으로 배열된배열된 66개의개의 그래프그래프 영역을영역을 만만든든 후후,, 첫첫 번째번째 그래프그래프 영역을영역을 활성화한다활성화한다..

(3,2,(3,2,11)) (3,2,(3,2,22))

(3,2,(3,2,33)) (3,2,(3,2,44))

(3,2,(3,2,55)) (3,2,(3,2,66))

Page 54: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 54/65

vv subplotsubplot 명령어명령어 사용사용 예예

같은같은 페이지에페이지에 여러여러 그래프그래프 그리기그리기 (2/2)(2/2)

Page 55: 9-14수치해석(조교수업)[1] [호환 모드]isdl.cau.ac.kr/education.data/numerical.analysis/prac2.pdf · MATLAB HCH 2장배열과행렬 3/53 벡터원소의주소지정(Array

MATLAB HCH

5장 2차원 그래프 55/65

55장장 강의록강의록 끝끝