1 / 54

[ 선형대수 : Matlab ] Ch ap 4: 행렬다루기

[ 선형대수 : Matlab ] Ch ap 4: 행렬다루기. 최 윤 정. 학습차례. 행렬 다루기 두 변수 사이의 연산 특수 행렬. 학습목표. 행렬을 다룬다 . 행렬로부터 데이터를 추출한다 . 크기가 다른 2 개의 행렬변수로 문제를 풀 수 있다 . 특수 행렬을 만들고 사용한다. 4.1 행렬 다루기. 지금까지 배운 것을 간단히 복습해본다 . 사각형 괄호 안에 숫자들을 타이핑하여 행렬을 만들어본다. 행렬을 만드는 방법. A=[3.5] B=[1.5, 3.1] 또는 B=[1.5 3.1]

Download Presentation

[ 선형대수 : Matlab ] Ch ap 4: 행렬다루기

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. [선형대수:Matlab]Chap4: 행렬다루기 최 윤 정

  2. 학습차례 • 행렬 다루기 • 두 변수 사이의 연산 • 특수 행렬 MATLAB for Engineers

  3. 학습목표 • 행렬을 다룬다. • 행렬로부터 데이터를 추출한다. • 크기가 다른 2개의 행렬변수로 문제를 풀 수 있다. • 특수 행렬을 만들고 사용한다. MATLAB for Engineers

  4. 4.1 행렬 다루기 지금까지 배운 것을 간단히 복습해본다. 사각형 괄호 안에 숫자들을 타이핑하여 행렬을 만들어본다. MATLAB for Engineers

  5. 행렬을 만드는 방법 • A=[3.5] • B=[1.5, 3.1] • 또는 • B=[1.5 3.1] • C=[-1, 0, 0; 1, 1, 0; 0, 0, 2]; MATLAB for Engineers

  6. 각 행을 한 줄씩 따로 작성하여 2차원 행렬을 만들 수도 있다. C = [-1, 0, 0 1, 1, 0 1, -1, 0 0, 0, 2] F = [1, 52, 64, 197, 42, -42, … 55, 82, 22, 109]; MATLAB for Engineers

  7. 스칼라 MATLAB for Engineers

  8. 벡터 – 쉼표는 넣지 않아도 에러는 없다. MATLAB for Engineers

  9. 이 경우 세미콜론은 넣지 않아도 된다. 2차원 행렬 MATLAB for Engineers

  10. 행렬을 만들 때 이미 만든 다른 행렬을 이용할 수도 있다. MATLAB for Engineers

  11. 인덱스 번호를 사용하여 행렬 안에 원소를 추가할 수도 있다. MATLAB for Engineers

  12. 콜론 연산자(:) • 행렬을 새로 만드는 데 사용 • 이미 만든 행렬에서 특정 원소들을 뽑아내는 데 사용 • 이미 만든 행렬에서 특정 원소들의 값을 바꿀 때 사용 MATLAB for Engineers

  13. 간격이 일정한 벡터 간격 지정하기 간격 값을 지정하지 않으면 매트랩은간격을 1로 잡는다. 간격을 0.5로 지정하는 경우 MATLAB for Engineers

  14. 콜론 연산자는 전체 행 또는 전체 열을 가리키는 데 사용된다. 모든 행의 원소 중에서 1열에 있는 원소 모든 행의 원소 중에서 4열에 있는 원소 1행에 있는 원소 중에서 모든 열의 원소 MATLAB for Engineers

  15. 특정한 행이나 열을 뽑아내는 방법( 행1: 행2, : ) 2~3행에 있는 원소 중에서 모든 열의 원소 2~3행에 있는 원소 중에서 4~5열에 있는 원소 MATLAB for Engineers

  16. 행렬을 열 벡터로 변환하는 방법 콜론 하나만을 입력에 넣으면 행렬이 열벡터로 바뀐다. 매트랩에서는 행보다는 열이 우선이다. MATLAB for Engineers

  17. 행렬 안의 특정 원소를 가리키는 방법 • 인덱스 번호 두 개를 사용(행번호와열번호) • 예: M(2,3) 한 개의 인덱스 번호를 사용하여 M(8) 이라고 해도 M(2,3) 과 마찬가지이다. 2행, 3열의 원소를 가리키려면 M(2,3) 한 개의 인덱스 번호의 순서 MATLAB for Engineers

  18. end는 행렬의 마지막 행이나 마지막 열을 가리키므로 행렬의 크기가 얼마인지 신경쓰지 않아도 된다. 1행, 마지막 열의 원소 마지막 행, 마지막 열의 원소 맨 마지막 원소 MATLAB for Engineers

  19. 실습문제 4.1 풀어보기 MATLAB for Engineers

  20. 4.2 두 변수 사이의 연산 지금까지는 단 1개의 변수만을 사용하는 계산을 공부하였다. 그런데, 대부분의 물리적인 현상은 다양한 요인(즉 변수)에 의해 변하게 된다. 지금부터는 행렬인 변수가 여러 개 존재할 때 계산을 수행하는 방법을 배운다. MATLAB for Engineers

  21. 스칼라 끼리 연산을 하면 스칼라 값이 나온다. MATLAB for Engineers

  22. 스칼라와 벡터 사이의 연산을 수행하면 벡터가 된다. MATLAB for Engineers

  23. 벡터와 벡터를 곱하려면 원소의 수가 서로 같아야 한다. MATLAB for Engineers

  24. 배열 곱셈( .* ,즉 원소끼리의 곱셈)을 해서 얻는 벡터의 원소 수는 원래 벡터의 원소 수와 같다. x 와 y벡터의 크기는 같아야 한다. MATLAB for Engineers

  25. 배열 곱셈 (원소끼리의 곱셈) MATLAB for Engineers

  26. meshgrid함수를 이용하면 두 벡터(1차원 행렬)를2차원 격자(grid) 행렬로 만들 수 있다. MATLAB for Engineers

  27. 두 행렬의 크기가 같으므로 서로 곱할 수 있다. MATLAB for Engineers

  28. 따라서 x와 y의 모든 조합에 대해 곱셈을 한 결과를 얻을 수 있다. MATLAB for Engineers

  29. 실문문제4.2 풀어보기 MATLAB for Engineers

  30. 예제 4.2: 수평선까지의 거리 MATLAB for Engineers

  31. 1. 문제를 명확히 나타낸다. • 달과 지구의 산꼭대기에서 수평선까지의 거리를 구한다. • 산의 높이는 0~8000m 범위로 한다. MATLAB for Engineers

  32. 2. 입력과 출력을 표시한다. • 입력 • 달의 반지름 R=1737 km • 지구의 반지름 R=6378 km • 산의 높이 h=0~8000 m • 출력 • 산꼭대기에서 수평선까지의 거리 d=? MATLAB for Engineers

  33. 3. 손이나 계산기로 문제를 미리 풀어본다. (168쪽 참조) MATLAB for Engineers

  34. 4. 매트랩으로 문제를 푼다. • 손으로 푼 과정을 참고하면서 매트랩으로 문제를 풀어본다.(교재 168~169쪽) MATLAB for Engineers

  35. 5. 풀이를 검사한다. • 손으로 계산한 결과와 일치하는지 확인 • 이치에 맞는 답인지 확인 MATLAB for Engineers

  36. 예제 4.3: 자유낙하 MATLAB for Engineers

  37. 1. 문제를 명확히 나타낸다. • 중력이 서로 다른 행성에서 자유낙하 물체의 낙하거리를 구한다. MATLAB for Engineers

  38. 2. 입력과 출력을 표시한다. • 입력 • 각 행성과 달에서의 • 중력가속도 g 값 • 낙하시간 t=0~100초 • 출력 • 각 행성과 달에서의 • 낙하거리 d MATLAB for Engineers

  39. 3. 손이나 계산기로 문제를 미리 풀어본다. (170쪽 참조) • 수성에서 100초 동안 낙하한 거리? MATLAB for Engineers

  40. 4. 매트랩으로 문제를 푼다. • 손으로 푼 과정을 참고하면서 매트랩으로 문제를 풀어본다.(교재 171~172쪽) MATLAB for Engineers

  41. M파일 실행결과 MATLAB for Engineers

  42. 5. 풀이를 검사한다. • 손으로 계산한 결과와 일치하는지 확인 • 이치에 맞는 답인지 확인 MATLAB for Engineers

  43. 4.3 특수 행렬 zeros 원소의 값이 모두 0인 행렬을 만든다. ones 원소의 값이 모두 1인 행렬을 만든다. diag행렬의 대각선에a 있는 원소를 뽑아낸다. 대각선 행렬이나 단위행렬을 만드는 데도 사용된다. Magic 마방진 행렬을 만든다 MATLAB for Engineers

  44. zeros, ones에 스칼라 입력을 한 개만 넣어주면 정사각형 행렬을 만들 수 있다. MATLAB for Engineers

  45. 두 개의 입력을 사용하면 행의 수와 열의 수를 지정할 수 있다. MATLAB for Engineers

  46. diag 함수 • 정사각형 행렬에 diag함수를 사용하면 주 대각선에 있는 원소들을 뽑아낼 수 있다. MATLAB for Engineers

  47. diag 함수 • diag함수의 입력에 벡터를 넣으면 그 벡터의 원소들이 주 대각선에 배치된다 MATLAB for Engineers

  48. 마방진 행렬 MATLAB for Engineers

  49. 미 목판화는 알브레히트 뒤러 (Albrect Durer)가 1514년에 제작한 멜랑콜리아(Melancholia)이다. 이 그림에서 천사의 머리 위에 마방진 행렬이 있는 것을 을 볼 수 있다. MATLAB for Engineers

  50. 뒤러는 마방진 행렬에 제작년도를 써 넣었다. MATLAB for Engineers

More Related