Matlab ch ap 4
This presentation is the property of its rightful owner.
Sponsored Links
1 / 54

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


  • 172 Views
  • Uploaded on
  • Presentation posted in: General

[ 선형대수 : 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Matlab ch ap 4

[선형대수:Matlab]Chap4: 행렬다루기

최 윤 정


Matlab ch ap 4

학습차례

  • 행렬 다루기

  • 두 변수 사이의 연산

  • 특수 행렬

MATLAB for Engineers


Matlab ch ap 4

학습목표

  • 행렬을 다룬다.

  • 행렬로부터 데이터를 추출한다.

  • 크기가 다른 2개의 행렬변수로 문제를 풀 수 있다.

  • 특수 행렬을 만들고 사용한다.

MATLAB for Engineers


Matlab ch ap 4

4.1 행렬 다루기

지금까지 배운 것을 간단히 복습해본다.

사각형 괄호 안에 숫자들을 타이핑하여 행렬을 만들어본다.

MATLAB for Engineers


Matlab ch ap 4

행렬을 만드는 방법

  • 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


Matlab ch ap 4

각 행을 한 줄씩 따로 작성하여 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


Matlab ch ap 4

스칼라

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

이 경우 세미콜론은 넣지 않아도 된다.

2차원 행렬

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

콜론 연산자(:)

  • 행렬을 새로 만드는 데 사용

  • 이미 만든 행렬에서 특정 원소들을 뽑아내는 데 사용

  • 이미 만든 행렬에서 특정 원소들의 값을 바꿀 때 사용

MATLAB for Engineers


Matlab ch ap 4

간격이 일정한 벡터

간격 지정하기

간격 값을 지정하지 않으면

매트랩은간격을 1로 잡는다.

간격을 0.5로 지정하는 경우

MATLAB for Engineers


Matlab ch ap 4

콜론 연산자는 전체 행 또는 전체 열을 가리키는 데 사용된다.

모든 행의 원소 중에서 1열에 있는 원소

모든 행의 원소 중에서 4열에 있는 원소

1행에 있는 원소 중에서 모든 열의 원소

MATLAB for Engineers


Matlab ch ap 4

특정한 행이나 열을 뽑아내는 방법( 행1: 행2, : )

2~3행에 있는 원소 중에서 모든 열의 원소

2~3행에 있는 원소 중에서 4~5열에 있는 원소

MATLAB for Engineers


Matlab ch ap 4

행렬을 열 벡터로 변환하는 방법

콜론 하나만을 입력에 넣으면 행렬이 열벡터로 바뀐다.

매트랩에서는 행보다는 열이 우선이다.

MATLAB for Engineers


Matlab ch ap 4

행렬 안의 특정 원소를 가리키는 방법

  • 인덱스 번호 두 개를 사용(행번호와열번호)

  • 예: M(2,3)

한 개의 인덱스 번호를 사용하여 M(8) 이라고 해도 M(2,3) 과 마찬가지이다.

2행, 3열의 원소를 가리키려면

M(2,3)

한 개의 인덱스 번호의 순서

MATLAB for Engineers


Matlab ch ap 4

end는 행렬의 마지막 행이나 마지막 열을 가리키므로 행렬의 크기가 얼마인지 신경쓰지 않아도 된다.

1행, 마지막 열의 원소

마지막 행, 마지막 열의 원소

맨 마지막 원소

MATLAB for Engineers


Matlab ch ap 4

실습문제 4.1 풀어보기

MATLAB for Engineers


Matlab ch ap 4

4.2 두 변수 사이의 연산

지금까지는 단 1개의 변수만을 사용하는 계산을 공부하였다.

그런데, 대부분의 물리적인 현상은 다양한 요인(즉 변수)에 의해 변하게 된다.

지금부터는 행렬인 변수가 여러 개 존재할 때 계산을 수행하는 방법을 배운다.

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

배열 곱셈( .* ,즉 원소끼리의 곱셈)을 해서 얻는 벡터의 원소 수는 원래 벡터의 원소 수와 같다.

x 와 y벡터의 크기는 같아야 한다.

MATLAB for Engineers


Matlab ch ap 4

배열 곱셈 (원소끼리의 곱셈)

MATLAB for Engineers


Meshgrid 1 2 grid

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

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

실문문제4.2 풀어보기

MATLAB for Engineers


Matlab ch ap 4

예제 4.2: 수평선까지의 거리

MATLAB for Engineers


Matlab ch ap 4

1. 문제를 명확히 나타낸다.

  • 달과 지구의 산꼭대기에서 수평선까지의 거리를 구한다.

  • 산의 높이는 0~8000m 범위로 한다.

MATLAB for Engineers


Matlab ch ap 4

2. 입력과 출력을 표시한다.

  • 입력

    • 달의 반지름 R=1737 km

    • 지구의 반지름 R=6378 km

    • 산의 높이 h=0~8000 m

  • 출력

    • 산꼭대기에서 수평선까지의 거리 d=?

MATLAB for Engineers


3 168

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

MATLAB for Engineers


Matlab ch ap 4

4. 매트랩으로 문제를 푼다.

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

MATLAB for Engineers


Matlab ch ap 4

5. 풀이를 검사한다.

  • 손으로 계산한 결과와 일치하는지 확인

  • 이치에 맞는 답인지 확인

MATLAB for Engineers


Matlab ch ap 4

예제 4.3: 자유낙하

MATLAB for Engineers


Matlab ch ap 4

1. 문제를 명확히 나타낸다.

  • 중력이 서로 다른 행성에서 자유낙하 물체의 낙하거리를 구한다.

MATLAB for Engineers


Matlab ch ap 4

2. 입력과 출력을 표시한다.

  • 입력

    • 각 행성과 달에서의

    • 중력가속도 g 값

    • 낙하시간 t=0~100초

  • 출력

    • 각 행성과 달에서의

    • 낙하거리 d

MATLAB for Engineers


3 170

3. 손이나 계산기로 문제를 미리 풀어본다. (170쪽 참조)

  • 수성에서 100초 동안 낙하한 거리?

MATLAB for Engineers


Matlab ch ap 4

4. 매트랩으로 문제를 푼다.

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

MATLAB for Engineers


Matlab ch ap 4

M파일 실행결과

MATLAB for Engineers


Matlab ch ap 4

5. 풀이를 검사한다.

  • 손으로 계산한 결과와 일치하는지 확인

  • 이치에 맞는 답인지 확인

MATLAB for Engineers


Matlab ch ap 4

4.3 특수 행렬

zeros 원소의 값이 모두 0인 행렬을 만든다.

ones 원소의 값이 모두 1인 행렬을 만든다.

diag행렬의 대각선에a 있는 원소를 뽑아낸다.

대각선 행렬이나 단위행렬을 만드는 데도 사용된다.

Magic 마방진 행렬을 만든다

MATLAB for Engineers


Zeros ones

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

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

diag 함수

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

MATLAB for Engineers


Matlab ch ap 4

diag 함수

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

MATLAB for Engineers


Matlab ch ap 4

마방진 행렬

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

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

MATLAB for Engineers


Matlab ch ap 4

뒤러는 제작년도를 표시하기 위해 2열과 3열의 원소를 서로 바꾸었다.

뒤러의마방진 행렬은 매트랩으로 만든 마방진 행렬과 약간 다르다.

MATLAB for Engineers


Matlab ch ap 4

요약

  • 행렬을 몇 개 결합하여 다른 행렬을 만들 수 있다.

  • 이미 존재하는 행렬에서 필요한 부분을 따로 뽑아낼 수 있다.

MATLAB for Engineers


Matlab ch ap 4

요약

  • 콜론 연산자

    • 원소의 간격이 일정한 행렬을 만들 수 있다.

    • 행렬에서 특정 부분의 원소들을 뽑아내는 데 사용된다.

    • 2차원 행렬을 열 벡터로 변환하는 데 사용된다.

  • Meshgrid

    • 1차원 벡터로부터 2차원 행렬을 만들어준다.

    • 크기가 다른 두 벡터 사이의 곱셈을 수행할 수 있다.

MATLAB for Engineers


Matlab ch ap 4

요약

  • zeros

    • 원소의 값이 모두 0인 행렬을 만든다.

  • ones

    • 원소의 값이 모두 1인 행렬을 만든다.

  • diag

    • 행렬의 대각선에 있는 원소를 뽑아낸다. 대각선 행렬이나 단위행렬을 만드는 데도 사용된다.

  • magic

    • 마방진 행렬을 만든다.

MATLAB for Engineers


  • Login