Similar documents
예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PowerPoint Presentation

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

Microsoft PowerPoint - MDA 2008Fall Ch2 Matrix.pptx

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)


Microsoft PowerPoint - 26.pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

Microsoft PowerPoint - ch07 - 포인터 pm0415

슬라이드 1

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

PowerPoint 프레젠테이션

Microsoft PowerPoint Relations.pptx

Chapter 연습문제답안. y *sin-*cos*^ep-*/sqrt. y [ ; sinpi/ ; sin*pi ; ] 혹은 [ sinpi/ sin*pi ]. a ais[- ] b et.,., sin. c.. a A는주어진행렬 M의 번째열만을표시하는새로운행렬을나타낸다.

i n i n i n 1

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

π >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) π

체의원소를계수로가지는다항식환 Theorem 0.1. ( 나눗셈알고리듬 (Division Algorithm)) F 가체일때 F [x] 의두다항식 f(x) = a 0 + a 1 x + + a n x n, a n 0 F 와 g(x) = b 0 + b 1 x + + b m x

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - lect03.ppt [호환 모드]

Microsoft PowerPoint - hw8.ppt [호환 모드]

행삭제 열삭제

PowerPoint Presentation

슬라이드 1

Microsoft Word - FunctionCall

MATLAB


파이널생명과학1해설OK

PowerPoint 프레젠테이션

<4D F736F F D20BACEB7CF2D4D61744C616220B1E2C3CA20B9D720C7C1B7CEB1D7B7A1B9D62E646F63>

제1장 군 제1절 소개와 예 제2절 이항연산 2.1 보기. 다음은 정수방정식 a + x = b를 푸는 과정이다. (1) 준식에 a를 더하여 ( a) + (a + x) = ( a) + b. (2) 결합법칙을 사용하면 (( a) + a) + x = ( a) + b. (3)

MATLAB for C/C++ Programmers

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

ºÎ·ÏB

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

기초 Matlab 교육 여성공학인재양성 (WE UP) WE UP MATLAB 1

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

SS수학고등지도서(3-3)-13-OK

Microsoft Word - matlab.doc

설계란 무엇인가?

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

기본서(상)해답Ⅰ(001~016)-OK

OCW_C언어 기초

PowerPoint Template

fx-82EX_fx-85EX_fx-350EX

Vector Space Vector space : 모든 n 차원컬럼벡터의집합 : {, :, } (, 2), (2, 5), (-2.4, 3), (2.7, -3.77), (,), 이차원공간을모두채움 : {,, :,, } (2,3,4), (3,2,-5), Vector spa

LM_matrix.pages

PowerPoint Presentation

Microsoft PowerPoint - Chap2 [호환 모드]

Visual Basic 반복문

chap 5: Trees

4장. 순차자료구조

Tcl의 문법

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 27.pptx

수리영역 5. 서로다른두개의주사위를동시에던져서나온두눈의수의곱 이짝수일때, 나온두눈의수의합이 또는 일확률은? 5) 의전개식에서상수항이존재하도록하는모든자 연수 의값의합은? 7) 다음순서도에서인쇄되는 의값은? 6) 8. 어떤특산

Python과 함께 배우는 시스템 해석 - 부록 A.과학계산용 Python 프로그래밍 기초 A-2. Numpy, Matplotlib, Scipy, Sympy 소개

슬라이드 1

MATLAB for C/C++ Programmers

Microsoft PowerPoint - Chapter_04.pptx

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - 제3장-배열.pptx

chap06.hwp

Microsoft PowerPoint - Chapter_08.pptx

Advanced Engineering Mathematics

PowerPoint Presentation

Chapter 4. LISTS

A y y y y y # 2#

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

5Àå-1.hwp

Microsoft PowerPoint - chap-05.pptx

슬라이드 1

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - Zebra ZPL 한글판 명령어 메뉴얼.ppt

OR MS와 응용-03장

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

Microsoft Word - matlab_manual.doc


<C6F7C6AEB6F5B1B3C0E72E687770>

Microsoft PowerPoint - chap11-포인터의활용.pptx

Computer Architecture

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2


<4D F736F F F696E74202D20C1A63134C0E520C6F7C0CEC5CD5FC8B0BFEB>

G5 G25 H5 I5 J5 K5 AVERAGE B5 F5 AVERAGE G5 G24 MAX B5 F5 MIN B5 F5 $G$ $H$25 $G$25 $G$ $H$25 G24 H25 H24 I24 J24 K24 A5 A24 G5 G24, I5

0 cm (++x)=0 x= R QR Q =R =Q = cm =Q =-=(cm) =R =x cm (x+) = +(x+) x= x= (cm) =+=0 (cm) =+=8 (cm) + =0+_8= (cm) cm + = + = _= (cm) 7+x= x= +y= y=8,, Q

BIOROBOTICS LAB. MATLAB 수업자료 ( 기계항공시스템해석 ) 1. Matlab 의소개 1.1 Matlab 이란? Matlab이란 MATrix LABoratory를뜻하는말로서, 수치해석, 행렬연산, 신호처리및간편한그래픽기능등을통합하여고성

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

11장 포인터

PowerPoint Presentation

Microsoft PowerPoint - [2009] 02.pptx

Chap 6: Graphs

1.기본현황 연 혁 m 본면은 신라시대 ~고려시대 상주목에 속한 장천부곡 지역 m 한말에 이르러 장천면(76개 리동),외동면(18개 리동)으로 관할 m 행정구역 개편으로 상주군 장천면과 외동면이 병합하여 상주군 낙동면 (17개 리,25개

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - 제11장 포인터

Transcription:

예제 1.1 ( 행벡터만들기 ) >> a=[1 2 3 4 5] % a 는 1 에서 5 까지 a = 1 2 3 4 5 >> b=1:2:9 % b 는 1 에서 2 씩증가시켜 9 까지 b = 1 3 5 7 9 >> c=[b a] c = 1 3 5 7 9 1 2 3 4 5 >> d=[1 0 1 b(3) a(1:2:5)] d = 1 0 1 5 1 3 5 예제 1.2 ( 복소수사용하기 ) >> [1-2i 3 4 5+6i] % contains 5 elements 1.0000 0-2.0000i 3.0000 4.0000 5.0000 + 6.0000i >> [(1-2i) 3 4 5+6i] % contains 4 elements 1.0000-2.0000i 3.0000 4.0000 5.0000 + 6.0000i >> [1-2i 3 4 5+6i] % contains 4 elements 1.0000-2.0000i 3.0000 4.0000 5.0000 + 6.0000i 예제 1.3 ( 열벡터만들기 ) >> c=[1;2;3;4;5] c = 1 2

3 4 5 예제 1.4 ( 행렬만들기 ) >> g=[1 2 3 4; 5 6 7 8] % g는 2 by 4 matrix g = 1 2 3 4 5 6 7 8 >> g=[g, g; 9:12, 9:12] % g는 6행 4열로확장됨 g = 1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 9 10 11 12 9 10 11 12 >> h=[1 2 3; 4 5 6 7] % 모든 row 가같은수의 column 을가져야만한다.??? All rows in the bracketed expression must have the same number of column π π πππ

π π π π π π π π π π 예제 1.5 (Sampling) >> x=[0.1*pi.2*pi.3*pi.4*pi.5*pi.6*pi.7*pi.8*pi.9*pi pi] x = Column 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Column 8 through 11 2.1991 2.5133 2.8274 3.1416 >> y=sin(x) y = Column 1 through 7 0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 Column 8 through 11 0.8090 0.5878 0.3090 0.0000 >> plot(x,y) % y = sin(x) 의그래프 예제 1.6 (linspace 혹은 logspace 이용하기 ) >> x=(0:0.1:1)*pi % 0 에서 0.1*pi 씩증가하여 1*pi 까지 11 개의원소 x = Column 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850

Column 8 through 11 2.1991 2.5133 2.8274 3.1416 >> x=linspace(0,pi,11) % 0 에서 pi 까지 11 개의원소를표현 x = Column 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Column 8 through 11 2.1991 2.5133 2.8274 3.1416 >> logspace(0,2,11) % 10^0 부터 10^2 까지 11 개의점이포함되도록만듬 Column 1 through 7 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 Column 8 through 11 25.1189 39.8107 63.0957 100.0000

예제 2.1 ( 저장된변수명과변수의크기와길이 ) >> whos Name Size Elements Bytes Density Complex a 1 by 5 5 40 Full No b 5 by 1 5 40 Full No c 1 by 5 5 40 Full No d 1 by 5 5 80 Full Yes e 5 by 1 5 80 Full Yes f 5 by 1 5 80 Full Yes g 3 by 4 12 96 Full No Grand total is 42 elements using 456 bytes leaving 2316084 bytes of memory free. >> A=[1 2 3 4; 5 6 7 8] A = 1 2 3 4 5 6 7 8 >> s=size(a) % size 함수는행의개수와열의개수를알려줌 s = 2 4 >> [r,c]=size(a) r = 2 c = 4 >> r=size(a,1), c=size(a,2) % 두개이상의명령어를쓰려면, 혹은 ; 를사용 r = 2 c = 4 >> length(a) % length 함수는행의개수와열의개수중더큰값을준다 4 >> size([]) 0 0

예제 2.2 ( 특수행렬만들기 ) >> zeros(2) % a 2-by-2 matrix of zeros 0 0 0 0 >> ones(2,4)*pi % a 2-by-4 matrix of ones * pi 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 >> A=[1 2 3; 4 5 6]; % 명령문마지막에 ; 를사용하면결과가출력안됨 >> ones(size(a)) 1 1 1 1 1 1 >> eye(3) 1 0 0 0 1 0 0 0 1 >> eye(3,2) 1 0 0 1 0 0

>> rand(3,1) % 0 과 1 사이의균일하게분포된임의의수들의 3 by 1 행렬 0.2190 0.0470 0.6789 >> randn(2) % 평균 (mean) 이 0 이고표준편차 (variance) 가 1 인 % 정규분포를가진수들의 2 by 2 행렬 1.1650 0.0751 0.6268 0.3516 >> a=[1 2 3;4 5 6]; >> b=find(a>10) b = [ ]

예제 3.1 ( 열벡터만들기 ) >> a=1:5 a = 1 2 3 4 5 >> b=a' b = 1 2 3 4 5 >> c=b' c = 1 2 3 4 5 예제 3.2 ( 전치행렬만들기 ) >> c=a.' % 실수데이터에서는 와. 는서로동일하다. c = 1 2 3 4 5

>> d=a+i*a % 여기서 i=sqrt(-1) d = Columns 1 through 4 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 +4.0000i Columns 5 5.0000 + 5.0000i >> e=d' % complex conjugate transpose of d e = 1.0000-1.0000i 2.0000-2.0000i 3.0000-3.0000i 4.0000-4.0000i 5.0000-5.0000i >> f=d.' % noncomplex conjugate transpose of d f = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 예제 3.3 ( 대칭행렬과반대칭행렬 ) >> a = rand(3), S = (a+a')/2, K = (a-a')/2, sum = S+K a = 0.7564 0.2470 0.7534 0.9910 0.9826 0.6515 0.3653 0.7227 0.0727 S = 0.7564 0.6190 0.5593 0.6190 0.9826 0.6871 0.5593 0.6871 0.0727 K = 0-0.3720 0.1940 0.3720 0-0.0356

-0.1940 0.0356 0 sum = 0.7564 0.2470 0.7534 0.9910 0.9826 0.6515 0.3653 0.7227 0.0727 예제 4.1 ( 뎃셈과상수연산 ) >> g, h % recall previous array g = 1 2 3 4 5 6 7 8 9 10 11 12 h = 1 1 1 1 2 2 2 2 3 3 3 3 >> g+ones(3,3)??? Error using ==> + Matrix dimensions must agree. >> g+h % add h to g on an element-by-element basis 2 3 4 5 7 8 9 10 12 13 14 15 >> ans-h % subtract h from the previous answer to get g back 1 2 3 4

5 6 7 8 9 10 11 12 >> g-2 % g의모든원소에서 2를뺀경우 -1 0 1 2 3 4 5 6 7 8 9 10 >> 2*g-1 1 3 5 7 9 11 13 15 17 19 21 23 >> 2*g-h % multiplies g by 2 and subtracts h from the result 1 3 5 7 8 10 12 14 15 17 19 21 예제 4.2 ( 원소끼리의곱셈과나눗셈 ) >> g.*h 1 2 3 4 10 12 14 16 27 30 33 36 >> g./h 1.0000 2.0000 3.0000 4.0000 2.5000 3.0000 3.5000 4.0000 3.0000 3.3333 3.6667 4.0000 >> h.\g % 슬래쉬 (slash) 나백슬래쉬 (back slash) 모두나눗셈을정의할때, % 슬래쉬아래쪽이슬래쉬위쪽을나눈다.

1.0000 2.0000 3.0000 4.0000 2.5000 3.0000 3.5000 4.0000 3.0000 3.3333 3.6667 4.0000 >> g*h % 행렬의곱셈은매우특별한방식으로정의되어있다.??? Error using ==> * Inner matrix dimensions must agree. >> g/h Warning: Rank deficient, rank = 1 tol = 0 0 0.8333 0 0 2.1667 0 0 3.5000 5.3291e-15 >> h\g % 행렬의두나눗셈이서로다른결과를가지고있다. Warning: Rank deficient, rank = 1 tol = 3.3233e-15 2.7143 3.1429 3.5714 4.0000 0 0 0 0 0 0 0 0 0 0 0 0 예제 4.3 ( 원소끼리의지수승 ) >> g,h g = 1 2 3 4 5 6 7 8 9 10 11 12 h = 1 1 1 1 2 2 2 2 3 3 3 3 >> g.^2 1 4 9 16 25 36 49 64 81 100 121 144 >> g.^-1 % MATLAB doesn't like this syntax

??? g.^- Missing variable or function >> g.^(-1) % However, with parentheses it works! 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 >> 2.^g 2 4 8 16 32 64 128 256 512 1024 2048 4096 >> g.^h 1 2 3 4 25 36 49 64 729 1000 1331 1728 >> g.^(h-1) 1 1 1 1 5 6 7 8 81 100 121 144

예제 5.1 ( 행렬의곱와내적을이용한사이각구하기 ) >> A=[2 1 5; 1 3 2], B=[3 4; -1 2; 2 1] A = 2 1 5 1 3 2 B = 3 4-1 2 2 1 >> A*B

15 15 4 12 >> x = 1:4, y=2:2:8 x = 1 2 3 4 y = 2 4 6 8 >> x * y??? Error using ==> * Inner matrix dimensions must agree. >> x * y' 60 >> a=[-1 2 4]; b=[1.5 2-1]; % angle between vectors a and b >> theta = acos( a*b' / sqrt(a*a'*b*b') ) 5.2 ( 행렬곱연산의교환법칙 ) >> C=[1 3; -1-1] C = 1 3-1 -1 >> C*ones(2,2) % 행렬의곱셈에대한교환법칙은성립하지않는다. 4 4-2 -2 >> ones(2,2)*c 0 2

0 2 >> AB=A*B, AB*C % 행렬의곱셈에대한결합법칙은성립한다. AB = 15 15 4 12 0 30-8 0 >> BC=B*C, A*BC BC = -1 5-3 -5 1 5 0 30-8 0 예제 5.3 ( 행렬의나눗셈 ) >> A=[2 1 5; 1 3 2], B=[3 4; -1 2; 2 1] % 정방행렬이아닌경우의나눗셈 A = 2 1 5 1 3 2 B = 3 4-1 2 2 1 >> (A*B)/B 4.5000-1.5000 0 2.0000 2.0000 0 >> A\(A*B)

0 0-0.7692 2.3077 3.1538 2.5385 >> A=rand(3,3), B=rand(3,3) % 일반적정방행렬의나눗셈 A = 0.2190 0.6793 0.5194 0.0470 0.9347 0.8310 0.6789 0.3835 0.0346 B = 0.0535 0.0077 0.4175 0.5297 0.3834 0.6868 0.6711 0.0668 0.5890 >> (A*B)/B 0.2190 0.6793 0.5194 0.0470 0.9347 0.8310 0.6789 0.3835 0.0346 >> A\(A*B) 0.0535 0.0077 0.4175 0.5297 0.3834 0.6868 0.6711 0.0668 0.5890 예제 6.1 (1 차원배열의주소할당 ) >> x=(0:0.1:1)*pi; % 0 에서 0.1*pi 씩증가하여 1*pi 까지 11 개의원소 >> y=sin(x); >> x(3) % The third element of x 0.6283 >> y(5) % The fifth element of y 0.9511 >> x(1:5) % 첫번째에서다섯번째원소까지나타냄

0 0.3142 0.6283 0.9425 1.2566 >> y(3:-1:1) 0.5878 0.3090 0 >> x(2:2:7) % 두번째, 네번째, 여섯번째원소. % 즉, 두번째원소부터 7보다작은원소까지 2씩증가시킴. 0.3142 0.9425 1.5708 >> y([8 2 9 1]) % [8 2 9 1] 자체가 y의원소들의주소의배열이다 0.8090 0.3090 0.5878 0 예제 6.2 (2차원배열의주소할당 ) >> A=[1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 >> A(2,3)=0 % A(2,3) 의원소 [2nd row, 3rd column] 가 0으로바뀜 A = 1 2 3 4 5 0 7 8 9 >> A(2,6)=1 % 원래 A가 6개의열을가지지않음으로 0을채워서늘려놓았다. A = 1 2 3 0 0 0 4 5 0 0 0 1 7 8 9 0 0 0 >> A=[1 2 3; 4 5 6; 7 8 9]; % restore original data >> B=A(3:-1:1,1:3) % row의순서를거꾸로쓰는법 B = 7 8 9 4 5 6 1 2 3 >> B=A(3:-1:1,:) % 마지막의싱글콜론 (single colon) 은모든열을가지는 % 것을의미한다. 즉, : 은 1:3 을짧게줄여쓴것이다.

B = 7 8 9 4 5 6 1 2 3 >> C=[A B(:,[1 3])] C = 1 2 3 7 9 4 5 6 4 6 7 8 9 1 3 >> B=A(1:2,2:3) B = 2 3 5 6 >> C=[1 3] C = 1 3 >> B=A(C,C) % 여기서는배열 C 가 A 의인덱스 (index) 로사용되어진다. B = 1 3 7 9 예제 6.3 (2 차원배열의조작 ) >> A = [1 2 3; 4 5 6; 7 8 9] >> sum(a) % 합을구하는함수들은열단위로연산한다.

12 15 18 >> sum(sum(a)) 45 >> A(1:9) % A 를행벡터로바꿈 A = 1 4 7 2 5 8 3 6 9 >> B=A(:) % A 의열들을하나의열로펼쳐놓음 B = 1 4 7 2 5 8 3 6 9 >> B=B.' % dot-transpose operation 을이용하여 row 로바꿈 B = 1 4 7 2 5 8 3 6 9 >> B=[1 2 3; 4 5 6; 7 8 9]; >> B(:,2)=[] % [](empty matrix) 는앞의 B 의모든행의두번째열을 % 삭제하라는의미이다 B = 1 3 4 6 7 9 >> B=B.' B = 1 4 7 3 6 9 >> B(2,:)=[] B = 1 4 7 >> A(2,:)=B % 두번째열의모든행원소를 B로대체 A = 1 2 3 1 4 7 7 8 9

>> B=A(:, [2 2 2 2]) % 모든행을두번째열에의해네번반복. % 이런것을 Tony's Trick 이라고함 B = 2 2 2 2 4 4 4 4 8 8 8 8 예제 6.4 ( 배열조작시행렬의크기 ) >> A=[1 2 3; 4 5 6; 7 8 9]; >> A(2,2)=[]??? In an assignment A(matrix,matrix) = B, the number of rows in B and the number of elements in the A row index matrix must be the same. >> B B = 1 4 7 >> B=A(4,:) % A 가네번째 row 를가지고있지않기때문에 % MATLAB 은어떻게하라는건지알지못한다.??? Index exceeds matrix dimensions >> B(1:2,:)=A % 두행렬의크기 (size) 가다른경우 error 가생긴다??? In an assignment A(matrix,:) = B, the number of columns in A and B must be the same.

>> B(3:4,:)=A(2:3,:) % B의크기는 1 by 3이지만, B의 3과 4 행을 % 행렬 A의 2-3 행으로정의함으로서 B의크기가 4 by 3으로바뀐다. % 그러나두번째행에대해서는아무런조건이없으므로 0이대입된다. B = 1 4 7 0 0 0 4 5 6 7 8 9 >> G(1:6)=A(:,2:3) % A 의 2 와 3 열을한행에여섯열로늘어뜨림 G = 2 5 8 3 6 9 >> D=[1 2 3 4; 5 6 7 8; 9 10 11 12], v=[2; 4; 8] D = 1 2 3 4 5 6 7 8 9 10 11 12 v = 2 4 8 >> E=[D(:,1)-v D(:,2)-v D(:,3)-v D(:,4)-v] E = -1 0 1 2 1 2 3 4 1 2 3 4 >> E=D-[v v v v] % 바로위의방법보다더빠르게구할수있다. E = -1 0 1 2 1 2 3 4 1 2 3 4 >> % 그러나 D의열의수를모르는경우 Tony's Trick 을사용하는것이좋다. >> c=size(d,2); % 여기서 c는 D의 column 수를나타낸다. >> E=D-v(:,ones(1,c)) % ones(1,c) 는원소가모두 1인 1-by-4 vector 를만든다. E = -1 0 1 2 1 2 3 4 1 2 3 4

예제 7.1 ( 논리배열 ) >> x=-3:3 % Create data x = -3-2 -1 0 1 2 3 >> abs(x)>1 % x 의절대값이 1 보다크면 1( 참 ) 을, 아니면 0( 거짓 ) 을돌려준다 1 1 0 0 0 1 1 >> y=x(abs(x)>1) % x 의절대값이 1 보다큰경우의 x 값을돌려준다 y = -3-2 2 3

예제 7.2 ( 배열인덱스 ) >> y=x([1 0 1 0]) % [1 0 1 0] 은 x 와같은크기가아니므로배열의 % 인덱스로서 0 을인식하지못한다??? Index into matrix is negative or zero. >> x(abs(x)>1)=[] % abs(x)>1 인경우의값들을제외한나머지 x 의원소만나타냄 x = -1 0 1 예제 7.3 ( 행렬의관계연산 ) >> B=[5-3;2-4] B = 5-3 2-4 >> x=abs(b)>2 % 행렬에대한관계연산자의적용 x = 1 1 0 1 >> y=b(abs(b)>2) y = 5-3 -4 예제 7.4 (find 함수 ) >> x=-3:3 x = -3-2 -1 0 1 2 3 >> k=find(abs(x)>1) % find 함수를이용해서절대값이 1 보다큰경우의 % 배열 x 의인덱스를찾음 k = 1 2 6 7 >> A=[1 2 3; 4 5 6; 7 8 9]

A = 1 2 3 4 5 6 7 8 9 >> [i,j]=find(a>5) % 인덱스 i와 j에각각행과열의인덱스가저장된다 i = 3 3 2 3 j = 1 2 3 3 예제 8.1 ( 성긴행렬 ) >> As=sparse(1:5,1:5,ones(1,5)) As = (1,1) 1 (2,2) 1 (3,3) 1

(4,4) 1 (5,5) 1 >> As=sparse(eye(5)) As = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 (5,5) 1 >> A=full(As) % 성긴행렬의전체적인형태를 full 함수를이용하여볼수있다. A = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 >> clear % 모든변수들을지움 >> B=eye(200) % FULL 200-by-200 identity matrix >> Bs=sparse(B) % Sparse 200-by-200 identity matrix >> whos % Bs는단지 0.5% 의 0 아닌원소만을포함하고 % 3200 bytes 만을저장하면된다. Name Size Elements Bytes Density Complex B 200 by 200 40000 320000 Full No Bs 200 by 200 200 3200 0.0050 No

예제 9.1 (Diary 저장과, Mat-File 저장, 그리고그림화일저장 ) >> diary sec19.txt % 아래에나타나는출력을 sec19.txt 에저장한다. >> x = -pi:0.01:pi; >> % My work will be saved on sec19.txt >> y = sin(x); >> save sec19 x y % 변수 x,y 의값을 sec19.mat 파일에저장한다. >> clear % 모든저장변수값을소거한다. >> load sec19 %sec19.mat 에저장된변수값을읽어온다. >> plot(x,y) >> print -dbmp sec19.bmp % 그림창에나타난그래프를 bmp 형식으로저장한다. >> diary off >> A = [2 3-5; 4-1 6]; B = [1-3 4; 3 0 1]; >> A+B, 2*A, 3*B, 3*A-2*B >> X= 3*B - 1/2 * ( 2*A + B) >> A = [ 1 2 3 4 5; 6 7 8 9 10; 11 12 13 14 15]; >> size(a)

>> a13=a(1,3), a31=a(3,1), a25=a(2,5), a34=a(3,4) >> [i,j] = find(a==4) >> [i,j] = find(a==7) >> [i,j] = find(a==15) >> A = [2 1 0; 3 2 0; 1 0 1]; B=[1 1 1 0; 2 1 1 0; 2 3 1 2]; >> A*B >> % B*A % it's not defined (!) >> A = [1 0 0; 0 1 0; 1 1 0]; B=[1 0 1; 0 1 1; 0 0 1]; >> AB=A*B, BA=B*A >> AB==BA % 정수값을가지는행렬이동치인가를비교하여얻은논리배열 >> all(ab==ba) % 각행의원소가모든같은값을가지면 1 을출력 >> all(all(ab==ba)) % 모든원소가같은값을가지면 1 을출력 >> A = [1 4-1; 3 0 2]; B=[3 0 1; 2 1 3; 4 1 2]; C=[2 1; 0 2; -3 1]; >> (A*B) * C == A * (B*C) >> all(all( (A*B)*C == A*(B*C) )) % integer matrix equality check

>> A=rand(2,2); B=rand(2,2); C=rand(2,2); >> A*(B+C) - (A*B+A*C) %#% A*(B+C) == A*B + A*C >> (A+B)*C - (A*C+B*C) %#% (A+B)*C == A*C + B*C >> A = rand(4); A = (A-A')/2; A2 = A^2; >> A2 - A2', max(max(abs(a2-a2'))) >> P = [523 107 48 16; 12 349 6 2; 157 112 18 264]; >> di = sum(p(1,:)) >> rc = sum(p(:,2)) >> iu = P(3,4)

π π