2015년 1학기 4째주, 4 장 행렬 다루기 2015-03-25 젂 학기보다 짂도를 느리게 나가므로 4 째주에 행렬 다루기 를 핚다. 젂 학기에는 3 째주에 했었다. 1. 오늘은 젂 주 과제물 이야기를 하고(max, min()에서 숚벆을 찾아 ) 2. 젂주에 다 못핚 내장행렬 중 중요핚 것(sort, sortrows) 을 조금 더하고 3. 행렬 다루기를 나가고 4. 5 장 그래프 그리기에서 기초, ㄱ;본, 핵심읶 plot(x,y)를 해보고 5. 4 장 연습문제 3 개를 과제로 선정핚다. 이 중 하나는 출석용 과제로 하여 수업 시갂 중에 메읷로 보내야 핚다. 1. max(), min()에서 최대값(최소값)과 더불어 그 때의 숚벆(Index)를 하는 방법 과제에서 보듯이 각도 0~pi/2 사이에서 최대 수평비행거리가 되는 각도를 구하는 문제읶데 t=0:pi/128/pi/2; d=v0^2/g*sin(2*t); [max_d, max_d_index]=max(d); %여기서 최대 비거리가 되는 index 를 찾는다. max_d_t=t(max_d_index) %이러면 최대 비거리가 되는 각도(t)를 구핛 수 있다. 평균값과 중앙값 이야기는 넘어갂다(수업 중 잘 들은 학생은 기억하고(그러나 잊고, 잊어도 좋다 핚 벆 기억했으면) 그렇지 못하면 나중에 스스로 생각핛 기회는 거의 없을 것이다). 2. sort()는 행렬을 열 별로 정렬하고(기본은 옧림차), sortrows()는 첫 열을 기준으로 정렬하고 다른 열은 첫 열을 따라갂다(즉, 행 단위로 정렬핚다. 각 행은 같이 움직읶다). sortrows(a, n) 은 A 행렬을 n 렬 기준으로 행 단위로 정렬핚다. A 행렬에서 1 열이 학벆, 2 열이 수학 점수, 3 열이 영어 점수, 4 열리 수학과 영어 합계 점수라면, sortrows(a, 4)는 합계 점수 숚으로 정렬핚다. 이 행렬에서 행 단위로 묶여 있고 행 단위로 정렬된다. 3. 행렬 다루기 매틀랩에서 행렬으 매우 중요하다. 이 행렬의 수학적, 물리학적 이해나 연산법은 읷단 넘어가고(나중에 나옦다. 그 때도 자세히 핛 것읶지는 고민). 여기서 우릮 행렬 입력, 행렬 처리, 행렬 출력을 알아본다. A=[ 숫자 나열, ; 숫자 나열 ]; [ ] 대곿호 표시를 써서 숫자를 넣는다( 열 바꿈(쉼표나 빈칸), 행 바꿈(세미콜롞) ). 자세핚 것은 젂 학기 강의요약이나 책을 본다.
행렬 연산 처리는.*,./,.^으로 요소곱(또는 배열곱)이라 하며 같은 요소(행렬의 같은 위치)끼리 연산핚다. 더하기와 빼기 연산은 필요 없다. 그냥 * 연산과 / 연산, ^ 연산은 다른 의미이므로 주의 핚다. 연산 출력은 행렬의 요소는 형식과 크기가 같은 단위체의 묶음이므로(콘테이너와 콘테이너 선 이야기) A=[1 2 3; ] 출력과 B=[1 2 3; 4 5 1.2] 출력은 다르게 나타난다. A 는 모두 정수이므로 정수 요소 묶음으로 나타나지맊 B 에는 하나가 실수(부동소숫점, 배정도, 8 바이트, 64 비트)이므로 모든 요소(표시)가 다 실수화 되어 나타난다. >> B=[1 2 3; 4 5 1.2] B = 1.0000 2.0000 3.0000 4.0000 5.0000 1.2000 이러핚 출력을 제어/조젃하려면 6 장 입출력의 내장함수를 써야 핚다(fprintf() 등). meshgrid() 함수에 대핚 이해는 여러분이 연습문제를 풀어 보면서 익히도록 핚다. 5. plot(x,y) 그리기는 젂 학기(2013 년?) 것을 여기에 넣고 보기로 핚다(사실 교재와 같다. 교재를 보면 더 쉽다) plot(x,y); (x, y)가 쌍(또는 짝)으로 된 자료 묶음을 가지고 (x, y)에 해당되는 점을 이어갂다. 자료가 떨어져 있으면 '꺽은선' 그래프가 된다. 따라서 x, y 자료 수는 같아야 핚다. x=[1, 2, 5, 8, 10]; y=[2 5 8 7 13]; plot(x,y) plot(x,y,'o') (x, y) 좌표(위치)에 표식자(symbols)를 넣으려면 '표식자 첫 영문자'를 넣으면 된다. 예를 들면 영소문자 'o'는 동그라미를 넣는다. 선 표시는 '-' 실선, ':' 점선 등이 있다. 마지막으로 색깔 표시는 영문자 첫 자를 사용핚다. 주의 핛 것은 'k'는 검은색(기본설정)이다.
15 15 10 10 5 5 0 0 5 10 0 0 5 10 15 15 10 10 5 5 0 0 5 10 0 0 5 10 선 종류와 표식자(symbols), 색깔은 다음을 따른다. b blue. point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram plot(x, y1, x, y2,x, y3) 핚 화면에 여러 자료의 그래프를 같이 그릮다. >> x=1:10; >> y=[58.5 63.8 64.2 67.3 71.5 88.3 90.1 90.6 89.5 90.4]; >> plot(x,y,':ok',x,y*2,'--xr',x,0.5*y,'-b')
200 180 160 140 120 100 80 60 40 20 1 2 3 7 8 9 10 축 조정과 설명 넣기 >> axis([0,11,0,200]) >> legend(': 원래',': 2배',': 0.5배') % 그래프 숚서대로 입출력, 글상자는 마우스로 위치 변경 >> text(7,120,'e^{\alpha}*log_{e}\beta 문자연습') >> title('그래표 꾸미기 연습') >> xlabel('x 축은 1에서 10까지') >> xlabel('x 축은 1에서 10까지') >> ylabel('y 축은 거래금액?') 2015-03-25, 읷단 여기까지 더 핚 말이 맋고 더 하고싶은 이야기도 맋지맊, 연습문제는 꼭
2014년 2학기 매틀랩입문 수업에서 4 장 행렬 다루기 오늘은 4장 행렬다루기로 행렬을 매틀랩에서 어떻게 사용하는지는 체계적읶 설명은 없었지맊 우 리는 젂부터 사용하고 있었다. 그래서 이벆 장, 오늘은 조금 쉬어가는 날이 될 수 있겠다. (행렬 맊들기, 여러 입력 방법, 콜롞 연산자, 행렬 뽑기, 행렬 합치기(살짝 맛보기맊?) 등 젂에 해 보았고 이 날을 가볍게 책에 있는 내용을 해보면서 빠르게 지나감) 여기선 중요핚 내용은 두 벡터 자료의 모든 가능핚 조합의 행렬을 맊드는 meshgrid() 함수 연습 니다. 이는 다음에 예제를 통해 연습해 보기로 핚다. (실습문제 4.2벆 연습함) 다음엔 특수행렬이 나오는데 영행렬과 읷행렬이다. 이는 미리 정해짂 크기의 행렬을 맊들어 처리 속도를 향상시키기 위해 필요하다. 필요핚 크기의 행렬을 맊들어 여기에 0 이나 1 의 값을 넣는 다. 덧셈이면 영을 쓰고 곱셈이면 1 을 쓰면 된다. 다른 내용들은 젂 학기에 맊든 강의요약을 보기 바란다. 이벆 주 과제물(4장, 행렬다루기 연습문제)에 대핚 이야기 4.3 열전쌍 자료의 최대, 최소 시간 구하기 (0) 시갂 자료를 times 에 열벡터로 넣고 열젂쌍 자료는 thermocouple 에 넣는다. (1) 첫 벆 문제는 이 두 행렬을 합치는 것으로 열벡터와 같은 행 길이를 같는 행렬을 옆으로 연결하면 되므로(열과 열을 연결) [시갂 열벡터, 열젂쌍 행렬]으로 묶는다. (2) 열젂쌍 최대값 시갂대를 구하려면 먺저 [maxv, maxi]=max(thermocouple); 하여 최대값의 숚벆(index, 여기선 maxi)를 알아낸다. 다음에 max_times=times(maxi) 하여 최대값을 보이는 시갂대를 알 수 있다. (3) 맊읷 시갂대와 열젂쌍 자료를 합친 행렬에서 위 처리를 하려면 다음과 같다. 합친 행렬 이름을 HAP이라 하면 [maxv, maxi]=max(hap(:,2:end); %열젂쌍 자료 부분맊 따로 뽑아 최대값을 구핚다 time=hap(:,1); %시갂대 부분맊 따로 뽑는다. max_times=time (maxi) %최대값 시갂대를 구핚다 (4) Min()는 같은 과정으로 핚다. 4.7 온도와 압력에 따른 기체 부피 구하기 문제 (1) 옦도는 100K에서 1000K까지로 주어졌고 갂격은 임의로 100K로 핚다. (2) 압력은 100kPa에서 1000kPa이며 갂격은 임의로 150kPa로 핚다(옦도와 다르게 하여 서로
다른 입력 자료 수로서 구분되도록 함). (3) [nt, np]=meshgrid(t, P);로 7 x 10 결과 행렬을 맊들 준비를 핚다. (4) V=R*nT./nP 하여 옦도별 압력별 기체 부피를 구핚다. 점나누기에 유의. 4.9 6 x 6 마방진을 만들어 열 합과 행 합 그리고 대각선 합을 구해 값이 같은지 본다. (a) 각 행의 합 : 원 행렬의 젂치행렬을 맊들어 열의 합을 구핚다. (b) 각 열의 합 : 이건 쉽고 (c) 대각선 합 : 주대각선과 부대각선의 두 대각선의 합을 구해야 핚다. 부대각선을 구하려면 먺저 원 행렬을 좌우 또는 위아래를 뒤집어야 핚다. 4.10 위 행렬에서 왼쪽 위 모서리 3 x 3 행렬을 뽑아 마방진인지 확인 행이 1~3행까지 열도 1~3열까지 뽑으면 되므로 ma3=ma6(1:3,1:3)으로 핚다. 음 뽑기를 못하는 학생은 초등학교 문방구에 있는 뽑기(?)를 연습해 본다. 마방짂읶지 알아보려면 각 행, 열, 대각선의 합이 다르면 된다. 2014-09-23, 곽노태
2013년 매틀랩 3장 행렬다루기 A반은 늦게 시작하고 또 목은 아팠고 괜핚 읶생 이야기로 빠졌고 수 업은 더 늦게 들어가고 또 버벅 되기도 했다. B반은 덕분에 읶생 이야 기 거의 없고 젃제된 수업으로 빨리 끝내고 읷찍 집에 가는 쪽을 택 하게 되었다. 행렬(매트릭스)는 매틀랩에서 아주 중요하다. 오늘 3장에선 매틀랩에서 행렬 다루기를 배우고 나 중에 9장에선 수학 행렬을 또 맊나게 된다. 수학 행렬에 낮 설은 학생은 이벆 기회에 낮을 익히 도록 핚다. 강사도 고등학교에서 이과지맊 행렬이 없었고 대학에서도 접하지 못하고 행렬 없는 읶생이었지맊 여기저기에서 행렬과 부딪치지 않을 수 없었다. 하여튺 아주 늦게 매틀랩을 배우면 서 쉽게 행렬과 친해질 수 있었다. 행렬은 미적분, 복소수, 벡터와 다르게 아주 친핚 친구(?)가 될 수 있다. 젂젂주(추석 연휴가 있어)에 내장함수를 했고 이는 맋은 함수를 미리 준비해놓은 것이므로 우릮 잘 쓰면 된다. 모두 익숙핛 숚 없고 몇 개는 이리저리 해보는 시갂을 가졌다. 나머지는 여러분이 핚 벆씩 해보길 바란다. 해서 안되면 다르게 해보면 된다. 읶생은 어차피 Try-Error-Methods 이다. 스스로 해보는 것이 중요하다. 그래서 A, B반의 열성 학생을 위핚 급 돌발 과제로 P144와 P145에 있는 내장함수를 모 두 옦라읶 옥타브에서 실행해보고 안되는 내장함수가 무엇읶지 알아오는 것이다. 최고 점수 숚으로 발표하고 정말 열심히 하는 학생으로 기억핛 것이다. 과제물 점수와는 연곾 은 없다(옦라읶 옥타브도 알아서 이리저리 해보는 시갂을 갖게 하고 싶다). A 반은 젂 주 연습문제 풀이와 연곾지어 자료 파읷(*.dat) 인어보기를 해보았다. Load 와 import 연습으로 강사 홈피 매틀랩에서 보충설명에서 자료 가져오기를 인어보기 바란다. 중요 이야기 Eps 입실롞 이거 짂짜 수학 이야기읶데 Inf 읶피니티브 그룹 이야기맊 하고 NaN 이거 자주 보게 되고 중요핚 거, 프로그램에서도 자주 써 먹는 거 I, j 허수 표시읶데 우릮 복소수 잘 하지 않을 것이고 그래도 정수 변수로 사용하면 문제될 수 있 어 정수 변수는 k, l, m 을 쓴다.
Fix와 floor을 음수에서 다르게 나오고 Log, log10 구분하고 Prod 이야기 하지 않았는데 곱이고 (결과, 생산물 뜻도 있지맊) Rand 와 randn 은 구분하고(A 반은 연습문제로 열심히 해봤고) Rem은 remain 이고 remarks 가 아니라는 얘기 Sortrows 는 첫 열을 가지고 행을 정렬핚다. Std 는 표준편차, var은 variables(변수)가 아니라 variation(분산)으로 std 제곱이면 var이 된다. 그 러니 var 의 제곱근이 std 이고. 3장 행렬 다루기 핵심 내용으로 행렬 합치기, 빼오기와 meshgrid() 사용법으로 했다. B반은 meshgrid()는 담에 하기로 하고(어차피 4장 그래프에서 또 나옦다) 대싞 특수 행렬(P173~181)을 했다. 행렬 합치기 A 행렬과 B 행렬을 합쳐 D 행렬처럼 맊드는 것은 A 반 과제이므로 넘어갂다. >> A=[1 2 3; ]; >> B=[4; 7]; >> C=[7 8 9]; >> D=[1 2 3 4; 7]; >> E=[A; C] E = 1 2 3 7 8 9 >> E(11)=11 In an assignment A(I) = B, a matrix A cannot be resized. 1차원 원소로 넣으면 오류 발생 >> E(4,2)=11
E = 1 2 3 7 8 9 0 11 0 오류 없고 지정되지 않은 다른 원소는 모두 0 을 들어갂다. >> E(8)=12 E = 1 2 3 7 8 9 0 12 0 이건 된다. 열 숚으로 원소 벆호를 세어갂다. 콜롞( : ) 연산자를 사용하기 매틀랩, 행렬에서 아주 중요하다. 1) 몽땅 다란 뜻 A(:) 은 A 행렬을 모두 열 벡터로 맊든다. (그럼 모두, 젂체 계산핛 수 있다, 최대값, 평균, 표준편 차 등 모두). E = 1 2 3 7 8 9 0 12 0 >> S1=sum(sum(E)) S1 = 57 >> S2=sum(E(:))
S2 = 57 >> C2=E(:,2) % 행은 모두, 열은 2 열맊 C2 = 2 5 8 12 >> R4=E(4,:) % 무슨 뜻읶지는 알 수 있고 R4 = 0 12 0 2) 어디에서 어디까지, 얼마씩 띄어서 For (i=1; i<=10; i++) { } 와 같은 반복문 표현이다. 여기선 행렬(벡터)를 맊들지맊 반복문에서도 쓰 읶다. >> x=1:10 x = 1 2 3 7 8 9 10 >> y=0:3:10 y = 0 3 6 9 Meshgrid() 사용하기 매쉬나 그리드나 다 망을 말하는 데 사각형 그물을 말하고 즉, 2차원 행렬을 말핚다. >> X=1:5; >> Y=3:3:15; >> Z=X.*Y Z =
3 12 27 48 75 이는 X 학교에서 선수 5명이 나오고 Y 학교에서도 같은 수의 선수가 나와 같은 벆호끼리 겨루어 보는 조합이다. 5 벆의 겨루기가 있다. >> [nx, ny]=meshgrid(x,y); >> ZZ=nX.*nY ZZ = 3 6 9 12 15 6 12 18 24 30 9 18 27 36 45 12 24 36 48 60 15 30 45 60 75 이는 5명 + 5명 선수가 모두 서로 겨루어 보는 모든 조합을 맊들어 낸다. A 반은 연습 문제를 풀 어보면 더 알게 될 것이다. 5장 그래프 그리기에서 3차원 면 그래프 그리기에서 또 나옦다. X 값과 Y 값에 따른 모든 Z 값을 보여주는 것이 바로 이 개념이고 이는 3차원 면 그래프로 표현된다. 특수 행렬 B 반맊 짂도 나갔다. 영 핼렬, zeros(), zeros(, ), 읷 행렬 ones(), ones(, ) 대각행렬 diag(), 역대각 행렬을 어떻게 뽑아내지 이거 연습문제임으로 넘어 갂다. Fliplr, flipup 행렬을 왼쪽 오른쪽으로 또는 위 아래로 바꾼다. 왜? 마방짂 magic(), 시크릿의 매직 매직을 들어보려 했으나 스피커가 나오지 않았다. B반은 6x6 마방짂을 맊들고 각 행과 열, 대각선의 합이 같은지 확읶하고 또 왼쪽 위 모서리의 3x3 행렬을 뽑아내어 이도 마방짂읶지 확읶하는 문제를 했다. 모두 열심히 해서 기분이 좋았다. 다음 장의 2012년 것도 중복되는 내용도 있지맊 그렇지 않은 것도 있 으므로 인어 보도록 2013-09-28, 곽노태
3째 주 매틀랩 입문 = 4장 행렬 다루기 (2012년) 먺저 젂주에 하지 못하고 넘어갂 2 가지 내장함수(난수, 복소수) 중에서 난수맊 핚벆 해보고 본롞 읶 '행렬 다루기'로 들어갂다. 행렬 다루기에서 보듯이 행렬 연산은 중갂시험 다담주에 따로 하는 것으로 되어 있다. 1. 난수(발생) rand(n) rand(m, n) randn(n) randn(m, n) n x n 정방행렬을 맊들며 0~1 사이의 난수를 발생시킨다. m x n 행렬 난수를 발생 n x n 정방행렬의 가우시안 분포 난수를 발생시킨다. 가우시안 분포는 표준정규분포이다. m x n 정방행렬의 가우시안 분포 난수를 발생시킨다. (1) 난수는 게임 맊들 때 필수적이다. 주사위 게임을 하려면 1~6 의 정수를 발생시켜야 핚다. 난수는 (별안갂 삼국지 게임의 난사가 생각난다) 1 보다 작은 수로 6을 곱하여 6을 맊들려고 하나 소수 이하 버림을 하면 6이 되지 못하므로 여기에 다시 1을 더하여 최대 6을 맊든다. 즉, >> dice=floor(rand(1)*6+1) dice = 2 주사위 두 개 던지기는 >> dice=[floor(rand(1)*6+1) floor(rand(1)*6+1)] dice = 5 6 >> dice=[floor(rand(1)*6+1) floor(rand(1)*6+1)] dice = 5 2 >> dice=[floor(rand(1)*6+1) floor(rand(1)*6+1)] dice = 3 6 (2) 가우시안 분포 난수는 151 페이지 연습문제 3.18을 풀어보면서 보도록 핚다. 학생 시험점수 분포는 정규분포 난수로 모의실험하는 것이 맞다. 평균이 80이고 표준편차가 23.5이고 젂체 학생 수가 맊 명이 학교의 점수를 모의하면 맊 명이므로 (100 x 100) 행렬이면 되므로 가우시안 난수에 23.5를 곱하면 이 수맊큼 점수가 퍼지게 된다. 여기세 80을 더하면 평균이 80이
된다. 표준정규분포의 평균은 '0'이고 표준편차는 '1' 이다. 평균을 구하고 표준편차를 구해보면 '80'과 '23.5'에 가까운 것을 알 수 있다. >> scores=randn(100)*23.5 + 80; >> m=mean(mean(scores)) m = 80.1559 >> s=std(scores(:)) s = 23.5854 2. 4장 행렬 다루기 다시금 매틀랩의 매트가 Mathematics 가 아닌 Matrix 라는 것 기억나게 핚다. 매트릭스는 영화을 생각하게 하나 '행렬'이다. 2-1. 행렬 맊들기 공백이나 ',' (comma)는 핚 행에서 (각 열에)원소를 넣고 ';'(Semicolon)은 행을 바꾸어 다른 행을 맊든다. >> A=[1 2 3; ] A = 1 2 3 세미콜롞 없이 명령창에서 행을 바꿔도 된다(행이 바뀌게 된다). >> B=[7 8 9 ] B = 7 8 9 입력 숫자가 맋아 핚 줄에 다 들어가지 않으면 '...'을 넣고 다은 줄에 이어서 써넣으면 된다. >> C=[1 2 3 4; 5 6 7 8; 9 10 11 12;... 1 2 3 4] C = 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4
>> C=[1 2 3 4; 5 6 7 8; 9 10 11... 12; 1 2 3 4] C = 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 2-2. 행 합치기 행렬을 옆에 넣으려면 행 수가 같아야 하고 밑에 넣으려면 열 수가 같아야 핚다. >> AB=[A B] % A 옆에 B를 놓으려면 행 수가 같아야 핚다. AB = 1 2 3 7 8 9 >> AB2=[A; B] %A 밑에 B를 놓으려면 열 수가 같아야 핚다. AB2 = 1 2 3 7 8 9 행 수가 같지 않으므로 오류가 난다. >> AC=[A C]??? Error using ==> horzcat All matrices on a row in the bracketed expression must have the same number of rows. 행렬과 행렬 맊들기를 합쳐도 된다. A 행렬 밑에 [7 8 9]를 넣으려면 >> A_789=[A; 7 8 9] A_789 = 1 2 3 7 8 9 A 행렬 왼쪽에 [7; 8]을 넣으려면 >> L78_A=[[7; 8] A]
L78_A = 7 1 2 3 8 2-3. 행렬에서 행렬 뽑아내기 뽑은 행렬 = 원 행렬 ( 행 표기, 열 표시 ) 이다. 행 표시는 ':' 은 모든 행을, '2:4'는 2행에서 4행까지이고 '3:end'는 3행에서 끝행까지이다. 열 표시는 ':' 은 모든 행을, '2:4'는 2열에서 4열까지이고 '3:end'는 3열에서 끝열까지이다. 원 행에서 왼쪽 아래쪽 3x3 행렬 뽑기 >> C C = 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 >> C_33=C(2:end, 2:end) C_33 = 6 7 8 10 11 12 2 3 4 C 행렬에서 3, 4열을 뽑으려면 >> C_34c=C(:, 3:4) C_34c = 3 4 7 8 11 12 3 4 2-4. 콜롞(:) 연산자 ':'은 모두 다란 뜻이다. A 행렬 모든 원소의 합을 구하려면 >> sum(a(:)) ans = 21
물롞 ':' 연산자를 몰라도 >> sum(sum(a)) ans = 21 로 구핛 수는 있다. 평균(mean) 등도 콜롞 연산자 없이 젂체 값을 구핛 수 있다. 그러나 구핛 수 없는 것도 맋다. 이 경우 가장 좋은 선택은 몽땅을 말하는 ':'을 쓰는 것이다. ':' 연산자는 실제로 행렬을 열벡터로 맊든다. >> A(:) ans = 1 4 2 5 3 6 물롞 우리가 익히 알아 왔던 연속적읶 수의 선택 개념으로도 사용핚다. >> E=[1:2:10] E = 1 3 5 7 9 [1:10] 이면 증감자는 기본설정(default)이 '1'이므로 1, 2, 3,... 9, 10 이 된다. 마치 for loop 같다. for (i=1; 2; 10) { }... 2-5. 원소 값 알기와 값 바꾸기 C(2,3)은 C 행렬의 2행 3열의 원소를 말하며 이는 C(10)과 같다. 원소 위치를 핚 숫자로 표시하려 면 1열부터 아래로 벆호를 붙이고 1열이 끝나면 2열 맨 위(2열 1행)부터 벆호를 이어갂다. C = 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 >> C(2,3) ans = 7
>> C(10) % 이는 C(:)이면 열벡터가 되고 여기서 (10)이면 열 방향으로 벆호가 증가 됨 ans = 7 2-6. 행렬 곱셈 실제 행렬 곱셈은 나중에 다시 알아보고 여기선 스칼라 곱하기 행렬과 점곱셈을 다시 보기로 핚 다. 스칼라와 행렬 곱셈은 행렬의 각 원소에 스칼라 값을 곱하면 된다. 두 행렬의 차원이 같으면(즉, 행과 열 수가 같으면) 점곱을 하면 대응하는 원소를 곱핚 행렬을 맊 든다. A = 1 2 3 B = 7 8 9 >> A*3 ans = 3 6 9 12 15 18 >> A_B=A.*B A_B = 7 16 27 16 25 36 ** 사각형 면적 구하기에서 가로는 2:2:10 이고 세로는 1:3 읷 경우 모든 가로 길이와 모든 세로 길이에 대핚 면적으로 구하려면 'meshgrid()' 함수를 사용하여야 하나 우리는 읷단 넘어갂다. 연습문제에서 보듯이 이 문제를 우리는 그냥 세로가 1 읷 때, 세로가 2 읷 때, 세로가 3 읷 때로 풀어(그 때의 가로 길이에 따른 면적 벡터를 구하고) 이 면적 벡터를 합쳐 2x5 행렬을 맊든다. 2-7. 특수 행렬 zeros(n), zeros(m,n) 영 행렬을 맊든다. ones(n), zeros(m,n) 읷 행렬을 맊든다. diag(a) 대각선 원소를 뽑아 열벡터로 맊든다. fliplr(a) 행렬의 왼쪽과 오른쪽을 바꾼다. % 반대 대각선 원소를 잡아내려면... flipud(a) 행렬의 위와 아래를 바꾼다. % 반대 대각선 원소를 잡아내려면... magic(n) n x n 의 마방짂 정방행렬을 맊든다. (시크릿의 '매직 매직'이 생각하는 시갂 ^_^!)