[SQL] Database
·
프로그래밍 Programming
데이터 단위 bit - byte - field - record - file - database Problems with the Tradition 각 부서마다 다른 application program을 가지고 그 프로그램 안에서 데이터를 다루고 있다. 그러나 각 부서마다 겹치는 데이터가 있음에도 각자 가지고 있어 data redundancy가 발생한다. 또한 데이터가 변경되었는데 다른 곳에서는 업데이트 되지 않아 일관되지 않은 데이터가 존재할 수 있다. 또한 데이터에 접근하는 프로그램이 각자 다르기 때문에 프로그램을 바꾸고 싶을 때 프로그램에 저장된 파일을 모두 변환해줘야 다른 프로그램에서 쓸 수 있다. 그 외에도 lack of flexbility, poor security, lack of data sha..
[고체역학] Introduction
·
기계공학 Mechanical engineering/고체역학 Statics & Solid mechanics
고체역학을 배운 지 오래되었지만 오랜만에 복습을 하려고 합니다. (꾸준히 할 수 있을지ㅠ) 세부적인 내용을 다루기 보다는 전체적인 그림을 그리는 데에 목적이 있어서 이 카테고리의 포스팅은 고체역학 요약본이라고 생각하시면 됩니다. 자세한 내용은 교재를 보면서 공부하는 것을 권장합니다. 참고 교재 : Statics Vector Mechanics for Engineers : Statics (Ferdinand P. Beer, McGraw-Hill Education, 11th edition) Mechanics of materials (Ferdinand P. Beer, David F. Mazurek, John T. Dewolf, E. Russell Johnston Jr., McGraw-Hill Education, ..
[수치해석] Numerical integration (1) - Mid point rule, Trapezoidal rule
·
수치해석 Numerical Analysis
interpolation, differentiation에 이어서 integration을 수치해석적으로 수행해보겠습니다. 1. Introduction $x_{0}(=a)$부터 $x_{n}(=b)$까지 적분을 하려고 합니다. 우리는 discrete하게밖에 계산할 수 없으므로, $I=\int_{a}^{b}f(x)dx=\sum_{j=0}^{n}f_{j}\cdot \omega_{j}$ 적분을 오른쪽 식처럼 계산해야합니다. 이 때 $\omega_{j}$는 weighting factor라고 부릅니다. 이 전에 Lagrange polynomial을 배웠고, 그 polynomial 식은 $p(x)=\sum_{j=0}^{n}f_{j}L_{j}(x)$입니다. 이 방법을 통해 내가 알고 있는 데이터 점들을 충족하는 함수 식을..
[수치해석] Error characteristics/Modified wave number
·
수치해석 Numerical Analysis
1. Order of accuracy / Leading order of error 지금까지 numerical method를 이용해 interpolation하거나 미분을 할 때 어떻게 구하는지, 또 그렇게 했을 때 error가 어떻게 되는지 알아봤습니다. Order of accuracy, Leading order of error는 수치해석에서 가장 신경쓰는 요소 중 하나입니다. error의 order는 클수록 '대체로' 좋습니다. $\theta (h^{p}) \rightarrow p \log \theta(h)$ p는 곧 $\log E$와 $\log (h)$의 기울기이기 때문에 p가 클수록 에러가 작아지면 더 급격하게 에러가 작아집니다. 만약 numerical method를 이용해 derivative를 구하..
[수치해석] Numerical differentiation (2)
·
수치해석 Numerical Analysis
1. General procedure to obtain first difference derivatives 이전에 한 논의에 이어서, taylor table을 만드는 과정에 대해서 알아보고자 합니다. 일단 한 예시를 보고 그것을 확장할 수 있습니다. ex) $f_{j}^{'}$를 $f_{j},f_{j+1},f_{j+2}$를 이용해 구하고자 합니다. 최종적으로 $f_{j}^{'}+a_{0}f_{j}+a_{1}f_{j+1}+a_{2}f_{j+2}=\theta(h^{p})\text{, where }h=\Delta x=x_{j+1}-x_{j}=x_{j+2}-x_{j+1}$ 의 형태로 나타냄으로써 $f_{j}^{'}$를 $f_{j},f_{j+1},f_{j+2}$에 대해서 표현하고, 그 때 발생하는 오차의 maxi..
[Python] Numpy 라이브러리(2)
·
프로그래밍 Programming/파이썬 Python
File Input and Output with Arrays Numpy array가 매우 클 경우에는 저장하고 다시 불러올 수 있다. np.save는 저장 np.load는 저정한 array 불러오기 np.save('some_array', arr) np.load('some_array.npy') 텍스트를 불러들이는 것 np.loadtxt np.savetxt Random Number Generation np.random.normal np.random.binormal np.random.randint(0,10,100) : 0에서 10 사이의 100개 np.random.seed로 seed를 설정할 수 있다. np.random에 속해있는 함수들
[Python] Numpy 라이브러리 (1)
·
프로그래밍 Programming/파이썬 Python
List가 기본적으로 파이썬에서 제공하는 collection이지만 데이터 분석에 사용하기에는 불편한 점이 있다. - element 단위로 계산하는 것이 불편하다. Numpy가 데이터 분석에 적절한 라이브러리가 될 수 있다. 사용하기 쉽고 빠르며, 계산이 전체 array에 적용될 수 있다. Numpy의 특징 homogeneous collection of "iterms" of the same "data-type" (dtype) linear algebra 등의 수학적 내용을 적용하기 편리하다. C, C++, FORTRAN과 잘 호환된다. ndarray : a fast and space-efficient multidimensional array providing vectorized arithmetic opera..
[Python] 파이썬 Functions 만들기
·
프로그래밍 Programming/파이썬 Python
Function 기본 문법 def function_name(arguments): statement return () # function에 대한 이해 def foo(alist): alist.append(1) alist = [2,3] print(alist) newlist = [0] foo(newlist) # 출력 [2,3] print(newlist) # 출력 [0,1] return이 없는 함수는 none을 return한다. none은 NULL과 비슷한 의미이며 논리적으로 false와 같다. Lambda Notation lambda는 anonymous function을 만든다. anonymous는 익명이라는 뜻이다. f = lambda x,y : 2*x+y f(3,4) # 출력 10 # 다른 표현으로는 (la..
[Python] 파이썬 control flow
·
프로그래밍 Programming/파이썬 Python
if 문 if (condition): (statement) elif (condition): (statement) else: (statement) 여기서 들어가는 condition은 boolean expression # conditional expression x = true_value if condtion else false_value example) x = 10 if True else 5 x # 10이 출력 x = 10 if False else 5 x # 5가 출력 while문 while (condition) : 조건이 맞지 않을 때까지 계속 반복 break while 문 중간에 나갈 수 있음 continue 반복문 중간에 나와서 다시 반복문 시행 assert(condition) 중간에 이 조건이 맞지..
[Python] 파이썬 datatype
·
프로그래밍 Programming/파이썬 Python
Datatype Datatype : int, float, string, collections Collections list [] : 순서가 있고, 바꿀 수 있다. 중복된 값이 있어도 된다. tuple () : 순서가 있지만 값을 바꿀 수 없다. (바꾸고 싶다면 새로운 튜플 생성) 중복된 값 허용 set {} : 순서가 없고(인덱스 값이 없다) 값을 바꿀 수 있다. 원소를 중복해서 들어갈 수 없다. (수학에서 중복된 값이 가능한 set : multiple set) dictionary {} : 순서 없고, 값을 바꿀 수 있다. 인덱스가 되어있다. 중복된 값을 허용하지 않는다. 각 collection 문법 1. list [] : 0부터 인덱스 시작, 콜론(:)은 전체 인덱스. -1은 맨 뒤에서부터 시작했을 때..