[ 선형대수 : matlab ] ch ap 9: matrix algebra

29
[ 선선선선 :MATLAB] CHAP 9: MATRIX ALGEBRA 1 Applied Force F = 200 lbf Pivot Point θ = 60 0 20 feet

Upload: nelle-rocha

Post on 03-Jan-2016

223 views

Category:

Documents


0 download

DESCRIPTION

Applied Force. F = 200 lbf. 20 feet. θ = 60 0. Pivot Point. 최 윤 정. [ 선형대수 : Matlab ] Ch ap 9: Matrix Algebra. 학습내용. 행렬의 기본연산 형렬 연산을 이용하여 연립방정식 풀이 방법 특수행렬을 사용하여 적용하기. The difference between an array and a matrix. Most engineers use the two terms interchangeably - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

1

[ 선형대수 :MATLAB]

CHAP 9: MATRIX ALGEBRA

최 윤 정

Applied Force F = 200 lbf

Pivot Point

θ = 600

20 feet

Page 2: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

학습내용

행렬의 기본연산 형렬 연산을 이용하여 연립방정식 풀이 방법 특수행렬을 사용하여 적용하기

2

Page 3: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 3

The difference between an array and a matrix

Most engineers use the two terms interchangeably

Technical definition

Array : an orderly grouping of information

Arrays can contain numeric information, but they can also con-

tain character data, symbolic data etc.

Matrix : a two-dimensional numeric array used in linear al-

gebra

Not even all numeric arrays can precisely be called matrices

used extensively in engineering applications

Matrix algebra is different from the array calculations

(only those upon which you intend to perform linear transformations meet the strict definition of a

matrix.

The only time you need to be concerned about the difference is when you perform matrix algebra

calculations)

Page 4: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 4

Array & Matrix Operation

Dot products : dot(X,Y) == X.*Y

Cross products

Inverse( 역행렬 )

Determinants( 행렬식 )

같은 위치의 원소끼리의 계산에 사용

행렬연산

Transpose( 전치 )

Multiplication( 행렬곱셈 )

Division( 행렬나눗셈 )

Exponentiation( 행렬거듭제곱 )

Left Division( 왼쪽나눗셈 )

Page 5: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 5

Transpose

In mathematics Texts : AT

The MATLAB syntax for the transpose : A'

121110

987

654

321

A

12963

11852

10741TA

Page 6: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 6

Using the transpose with complex numbers

복소수에 적용하면 켤레 복소수값이 반환된다 .

Page 7: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 7

Dot Products 같은 위치 원소끼리의 곱

*||

*||

*||+ +

Equivalent state-ments

Page 8: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 8

Example 9.1 우주선의 무게중심 구하기 문제분석 1 :

무게중심을 찾아내는 일은 공학적으로도 매우 중요한 일이다 .

우주선이 안정된 비행을 하기 위해서는 압력중심의 위치가 무게중심보다 뒤에 있어야 한다 . ( 그림 9.2)

무게계산을 위해 , 총질량 뿐 아니라 개별부품의 질량정보와 부착위지도 정확히 알아야 한다 .

무게중심을 계산하는 식은 간단하지만 , 우주선의 경우 , 연료가 연소하면서 질량과 질량의 분포가 모두 변하므로 비행하는 우주선에서 무게중심의 위치를 구하는 것은 ..

매우 .. 복잡한 일 .!

우주선에서 무게중심의 위치를 구하기 위해서는 여러 구성부품으로 나누어 논 후 계산하여야 한다 .

Page 9: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 9

문제분석 2 : 부품들의 구성 부품들의 질량 : W

부품들의 부착위치 : 직각좌표계에서의 x-y-z 의 좌표

: 무게중심이 위치하는 x, y, z 의 좌표 x1, x2, x3 ..:: 각각 부품 1, 부품 2, 부품 3.. 의 x 좌표 y1, y2, y3 … : 각각 부품 1, 부품 2, 부품 3.. 의 y 좌표 z1, z2, z3 … : 각각 부품 1, 부품 2, 부품 3.. 의 z 좌표 W1,W2,W3… : 각각 부품 1, 부품 2, 부품 3.. 의 질량

1 1 2 2 3 3

1 1 2 2 3 3

1 1 2 2 3 3

...

...

...

xW xW x W xW etc

yW yW y W y W etc

zW zW z W z W etc

, , and x y z

Page 10: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

적용하기 : 부품들의 구성은 가정

Input : x,y,z 좌표로 주어지는 각 부품의 위치와 질량 Output : 우주선의 무게중심의 위치 무게중심 위치의 X 좌표를 구하는 식 : 각 부품위치 * 부품질량 / 총 질량

MATLAB for Engineers 10

Item X 좌표 (m)Y 좌표(m)

Z 좌표(m)

mass질량(g)

Bolt 0.1 2 3 3.50

screw 1 1 1 1.50

nut 1.5 0.2 0.5 0.79

bracket 2 2 4 1.75

Item X 좌표 (m) 질량 (g)X 좌표 * 질량

(gm)

Bolt 0.1 3.50 =0.35

screw 1 1.50 =1.5

nut 1.5 0.79 =1.1850

bracket 2 1.75 =3.50

각 부품별 위치와 질량 각 부품별 X 위치 : X_Bar

dot prod-uct!

Page 11: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 11

Matlab 으로 풀기 ver1 : dot product

Page 12: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 12

결과검토를 위해 그래프도 그리자

Plot3(x,y,z, ‘o’, x_ar, y_bar, z_bar, ‘s’)

Grid on

xlabel(‘x-axis’)

ylabel(‘y-axis’)

zlabel(‘z-axis’)

Title(‘ 부품과 무게중심의 위치’ );

Page 13: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 13

Matrix Multiplication

행렬 A 와 행렬 B 의 곱 :

A 의 각 행과 B 의 각 열끼리의 dot product.! 의 반복 .

, , ,1

N

i j i k k jk

C A B

Page 14: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 14

Matlab 으로 풀기 ver2 : matrix multiplication

[3*4] X [4*1] = [3*1]

Page 15: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 15

Matrix Power : 거듭제곱 같은 행렬을 여러 번 곱한다 .

따라서 , 정사각 행렬일 경우에만 가능하다 .! A2 is the same as A*A

A3 is the same as A*A*A

Page 16: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 16

Matrix Inverse : 역행렬 역행렬 함수 호출 : inv(A)

행렬의 -1 제곱 하기 : A^-1

Page 17: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 17

Determinant( 행렬식 ) 역행렬을 구할 수 없는 행렬도 있다 .

특이행렬 (singular matrix)

나쁜 조건 행렬 (I11-conditioned matrix)

따라서 모든 경우에 역행렬을 구해 문제를 풀 수는 없다 .

확인 : 행렬식을 계산한 결과가 0 이면

역행렬을 갖지 않는다 . Det(A)

계산방법은 선형대수시간에

했어요 .

Page 18: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 18

Cross Product( 가위곱 , 벡터곱 ) 두 벡터의 가위곱을 수행한 결과는 벡터 .

이 결과는 기하학적으로 두벡터가 만드는 평면과 항상 직각을 이룬다 .

직교성 (Orthogonality)

정역학 (statics), 동역학 (dynamics), 유체역학 (fluid mechanics),

전기전자공학의 문제에 사용된다 .

벡터를 배우면서 다시 할께요 .

kAjAiAA zyx

kBjBiBB zyx

kBABAjBABAiBABABA xyyxzxxzyzzy

)()**()**(

Page 19: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 19

Matlab 으로 선형방정식 풀기 가우스 - 조던 소거법 ! – 장단점이 있어요 .

계수와 변수들을 행렬로 표기한 후 AX = B 의 형태로

3 2 10

3 2 5

1

x y z

x y z

x y z

111

231

123

A

z

y

x

X

1

5

10

B AX=B

Page 20: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 20

이해하기는 쉽지만

비효율적 .^

가우스 소거법을 사용하므로 계산도 효율적이고 반올림 오차도 적다 .

역행렬 vs . 왼쪽나눗셈

Page 21: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 21

Special Matrices

Ones : 1 행렬 Zeros : 0 행렬 Eye : 단위행렬

I 를 사용하지 않는 이유는 복소수의 허수를 나타내고 있는 i 가 이미 있으므로 .

수치해석기법을 시험하거나 계산알고리즘에 이용되는 함수들 Pascal , Magic, Rosser …

Gallery : 50 종류 이상의 시험용 행렬을 만다는데 사용되는 함수들 .

Help 해보세요 .

Page 22: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 22

파스칼삼각형과 이항정리

Page 23: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 23

Summary Matrix 연산과 array 연산은 다르다 .

Dot product : 크기가 같은 두 array 에서 대응하는 원소끼리의 곱들의 합 .!

Dot(A,B)

Matrix 곱 : A 의 각 행과 B 의 각 열들의 dot product.

역행렬 : inv(A), A^-1

행렬식 : det(A)

N

iii BAC

1

*

, , ,1

N

i j i k k jk

C A B

Page 24: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 24

Summary

선형방정식에 적용하기 AX=B

역행렬 이용하기 : X=inv(A) * B

왼쪽나눗셈 ( 가우스소거법 ) 이용하기 : X=A\B

가우스 - 조던 소거법 , 행렬식에 의한 풀이법의 장단점 찾아보세요 .

계수행렬과 상수행렬을 이용한 크래머 공식을 적용해보세요 .

9 장 연습문제 해보세요 .

Page 25: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 25

과제 #4-39 장 연습문제 : 문제는 확대시켜 봅니다 .9.4 ~ 9.79.89.99.189.21

Page 26: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 26

9 장연습문제

Page 27: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 27

Page 28: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 28

Page 29: [ 선형대수 : Matlab ] Ch ap  9:  Matrix Algebra

MATLAB for Engineers 29