기본 콘텐츠로 건너뛰기

라벨이 요소인 게시물 표시

[matplotlib]quiver()함수

[linear algebra] 벡터와 행렬(vector & Matrix)

벡터와 행렬(vector & Matrix) 벡터(vector) 행렬(Matrix) 파이썬에서 벡터, 행렬 등은 numpy.array() 함수를 사용하여 생성합니다. 또한 각 객체는 차원(dimension) 을 갖습니다. 벡터(vector) A = (3,1), B = (2,3)는 두 개 축 위에 표시되는 좌표(점)로 나타낼 수 있습니다. 각 점은 어떤 기준에 대한 크기만을 가집니다. 예를 들어 원점 O(0,0)를 기준으로 A 또는 B의 거리는 식 1과 같이 계산할 수 있습니다. \begin{align}\Vert \overline{OA}\Vert &=\sqrt{(3-0)^2+(1-0)^2}=\sqrt{10}\\ \Vert \overline{OB}\Vert &=\sqrt{(2-0)^2+(3-0)^2}=\sqrt{13}\end{align} (식 1) 식 1의 $\overline{OA}$는 점 O와 점 A 사이의 거리를 계산한 것입니다. 이 거리를 점 O를 시작하여 A 까지의 거리로 표현한다면 이동 방향이 고려된 것입니다. 이와 같이 거리 즉, 이동 크기에 방향을 함께 고려한 량을 벡터(Vector) 라고 하고 식 2와 같이 화살표를 첨가하여 나타냅니다. 일반적으로 출발점이 원점(O)인 경우 출발점을 생략하며 벡터 표시인 화살표 없이 단순히 알파벳 소문자로 표시합니다. 벡터의 관점에서 보면 식 1은 벡터 a와 벡터 b의 길이(크기)를 계산한 것으로 놈(Norm) 이라고 합니다. 벡터는 행과 열을 구분할 수 없습니다. 일반적으로 식 2와 같이 한 행으로 표시하지만 많은 경우 세로로 정렬됨을 의미 합니다. 이러한 표시를 열벡터 라고 하지만 실제로는 행과 열로 구성된 행렬입니다. 또한 행렬(Matrix) 의 경우는 대문자 알파벳으로 나타내며 벡터, 행렬을 구성하는 각각의 수를 요소(element)라고 합니다. \begin{align}&\overrightarrow{oa}=\vec{a}=\begin{bmatr...

[python] 컬렉션(Collection)

컬렉션(Collection) 관련내용 리스트(List) 튜플(Turple) 사전(Dictionary) 집합(Set) 시퀀스, 이터러블 & 이터레이터 1개 이상의 여러 객체를 포함하는 자료형을 컬렉션(collection) 이라 합니다. 컬렉션에 포함된 각 값을 요소(element) 라고 하며 각 요소의 자료형은 다른 것일 수도 있고 같은 형태로만 구성될 수도 있습니다. 그리고 요소(들)을 수정할 수 있는가변(mutable) 타입과 수정할 수 없는 불변(immutable) 타입으로 구분합니다. 불변형(immutable) 값을 수정할 수 없음 자료형: number, string, tuple, frozen set, range, byte 가변형(mutable) 값을 수정할 수 있음 자료형: list, set, dictionary, bytearray 다음은 정수 객체 10에 이름 x를 부여한 것입니다. 즉, x에 10을 할당한 것입니다. x=10 id(x) 2409664506448 hex(id(x)) '0x2310b326a50' 위 결과는 10진수 값을 16진수로 나타내기 위해 내장함수 hex(x) 을 사용한 것으로 x는 메모리 '0x2310b326a50'에 위치한 객체 10을 참조하는 상태입니다. 이 객체에 20을 할당하면 x의 참조위치는 달라집니다. x=20 hex(id(x)) '0x2310b326b90' 위 과정은 x의 참조점을 변경한 것으로 객체를 수정한 것이 아닙니다. 반면에 다음의 리스트 객체는 요소의 수정과 첨가 후에도 참조 위치가 같습니다. 다음 코드의 인덱스를 사용한 리스트 객체의 요소 수정, 메소드 append() 를 사용한 새로운 요소의 첨가 등은 리스트의 특성으로 기사 "리스트"에서 소개합니다. y=[1,2,3] hex(id(y)) '0x23110180400' ...

문자와 문자열(Character & String)

문자와 문자열(Character & String) 인코딩과 디코딩 문자열의 생성과 인덱스 문자열은 불변(Immutable)객체 문자열 연산 대표적인 문자열 메소드 인코딩과 디코딩 컴퓨터에 입력된 문자 역시 2진수로 변환 합니다. 그러나 문자 자체가 수치형인 2진수로 직접적으로 변환될 수 없습니다. 그러므로 특정한 문자는 대응되는 고유한 정수값을 가지며 그 정수를 2진수로 변환합니다. 이 과정이 이루어지기 위해서는 입력되는 데이터가 문자 또는 숫자인지를 명확히 구분해야 합니다. C 등의 언어에서는 자료형을 미리 선언하는데 반해 파이썬은 작은 따옴표(' ')나 큰 따옴표(" ") 로 문자(character) 또는 문자열(string)임을 선언합니다. 이와같이 입력된 문자는 컴퓨터에서 2진수로 코드화되는데 이 과정을 인코딩(encoding) 이라 하며 반대로 인코딩의 결과인 코드포인트를 문자로 전환하는 과정을 디코딩(decoding) 이라 합니다. 특정한 문자에 대응하는 이진수 값을 코드 포인트(code point) 라고 합니다. 내장함수 ord(문자) 와 chr(정수) 를 사용하여 문자와 정수의 매칭관계를 확인할 수 있습니다. 다음은 문자 'c'에 매칭되는 정수와 이를 이진수로 나타낸 것입니다. ch='c' ord(ch) 99 chr(ord(ch)) 'c' 문자 'c'에 대응하는 정수와 2진수 값은 정수를 이진수를 반환하는 내장함수인 bin() 로 확인할 수 있습니다. bin(ord(ch)) '0b1100011' 하나의 글자를 문자(character) , 한 개 이상의 문자들의 집합을 문자열(string) 이라고 합니다. 다른 많은 프로그래밍언어에서는 문자와 문자열을 엄격히 구별하지만 파이썬에서 둘 모두 문자열(string)로 인식합니다. 그러므로 파이썬에서 문자나 문자열은 한 개 이상의 값들을 포...