1. |
|
과학적인 물리 현상을 통한 수치해석 개요 소개
|
공학 및 과학 문제에서 컴퓨터 과학기술을 이용한 해법제시를 통해 수치해석이 무엇인지 소개한다. 제시된 과학 문제에 관한 수학적 모델링을 학습한다. 모델링을 구현하기 위한 알고리즘 설계 및 컴퓨터 코딩 기법에 대해 학습한다. 이러한 전반적인 수치해석 개요에 대해 설명한다 |
|
|
|
과학적인 물리 현상과 수치해석을 연계하여, 수치해석의 기본을 알아본다
|
중력, 만유인력법칙, 뉴턴의 제2운동법칙, 가속도, 등속 운동 등을 통해 과학적인 물리 법칙을 학습한다.라디안 및 삼각법 등의 수학적인 개념을 소개한다. 이를 통해 과학의 수치적 표현을 이해한다. |
|
2. |
|
과학 현상을 수치적으로 분석하기위한 코딩 환경에 대해 알아본다
|
컴퓨터 코딩을 통해 과학 현상을 분석하기 위해 우분투 기반 파이썬 분석 툴을 설치한다. 우분투 기반 파이썬 분석 패키지인 anaconda와 파이썬 분석 GUI인 pycharm을 설치한다 |
|
|
|
pycharm을 통한 파이썬 코딩 환경에 익숙해지기
|
anaconda와 pycharm 연동을 위해 pycharm 환경변수 설정을 학습한다. pycharm 콘솔에서 numpy 및matplotlib 모듈을 이용하여 삼각함수를 그려봄으로 파이썬 코딩 환경인 pycharm에 익숙해진다. |
|
3. |
|
쌍곡선 함수 이해하기
|
체감속도를 구할 때 사용되는 쌍곡선 함수를 이해한다. 단위 원을 활용한 sin함수와 cos함수를 이해한다. 타원과 쌍곡선을 수학적으로 이해하고, tanh()함수를 python, numpy를 통해 실습한다. |
|
|
|
수학적인 모델링 기법을 통한 체감속도 구하기
|
numpy와 matplotlib 모듈을 활용하여 sinh와 cosh 함수의 그래프를 그려보고 tanh 그래프를 찾아낸다. 번지점퍼의 체감속도를 구하는데 필요한 물리적 개념 '중력', '가속도' 등을 학습한다. |
|
4. |
|
체감속도를 통한 미분방정식과 수치미분의 차이 이해
|
번지점퍼가 점프 후에 체험하는 속도를 tanh함수를 이용하여 미분방정식으로 구한다. 또한, Euler's method를 활용한 수치해석 기법으로 체감속도를 구해본다. 미분방정식을 통한 체감 속도와 수치 미분을 통한 체감 속도 차이점을 이해한다. |
|
|
|
파이썬을 통해 체감속도 해석하기
|
특정 시각에서 몸무게 별로 다르게 나타나는 번지점퍼의 체감속도를 numpy와 matplotlib 라이브러리로 그래프를 그려보고 척추부상을 당할 수 있는 몸무게 범위를 찾는다. |
|
5. |
|
척추부상을 당하는 몸무게 값(근)을 Graphical 방법과 증분법으로 찾기
|
체감속도를 계산하는 공식을 이용하여 몸무게별 체감속도 그래프를 생성하고, Graphical 방법과 증분법을 이용하여 척추부상을 당할 수 있는 몸무게 값, 즉, 근을 구한다. |
|
|
|
디버깅 기법을 통한 증분법의 장단점 파악하기
|
콘솔 및 GUI 디버깅해보면서 증분법의 원리 및 장단점을 이해한다. |
|
6. |
|
이분법과 증분법의 차이 이해하기
|
이분법을 콘솔 디버깅을 통해 분석하고 증분법과의 차이를 이해한다. 알고리즘이 적용될수록 오차율이 낮아지는 원리를 통해 반복횟수와 컴퓨팅 파워의 관계를 이해한다. 새로운 알고리즘인 가위치법을 이해한다. |
|
|
|
이분법과 가위치법 비교를 통한 에러분석
|
닮은 꼴 삼각형의 특성을 활용하여 가위치법의 근을 계산하는 방법을 유도한다. 코딩을 통해 가위치법을 구현한다. 기존의 근과 새롭게 찾은 근을 통해 에러율을 계산하고, 이를 통해 유사 근을 찾아가는 방법을 살펴본다. |
|
7. |
|
Newton Raphson 방법을 통한 개방법 이해하기
|
순간변화율을 기울기로 갖는 직선과 y=0과의 교점(근)을 구하여 에러율을 줄여 근사근을 찾아가는 Newton Raphson 메서드를 학습하고 유도한다. 구간법과 개방법의 차이를 이해한다. |
|
|
|
Newton Raphson 방법과 Secant method 차이점 이해하기
|
미분을 사용하지 않고 근소한 거리 차이의 가지는 두 점을 통해 근을 구하는 Secant method를 이해한다. |
|
8. |
|
Curve Fitting (곡선접합)과 기계학습의 관계를 이해한다
|
주어진 데이터를 통해 곡선 접합 함수를 추정하는기계 학습을 이해한다. numpy의 polyfit, polyval 메서드를 통해 곡선 접합 함수를 추정함으로, 곡선 접합(Curve Fitting)의 원리를 이해한다. |
|
|
|
선형회귀와 기계학습 이해하기
|
주어진 데이터에 접합하기 위한 곡선접합 함수를 두 개의 미지수(기울기, 절편)를 이용하여 모델링한다. 모델링한 곡선접합 함수를 편미분함으로써 기울기와 절편을 구하면서, 기계학습과의 연관성을 이해한다. 이러한 과정을 통해 numpy라이브러리의 polyfit 메서드를 이해한다. |
|
9. |
|
다항 회귀와 기계학습 이해하기
|
numpy의 polyfit 메소드를 통해 다항회귀를 이해한다. 2차원 다항식을모델링하고, 편미분을 통해, 2차원 다항식의 계수를 유도한다. 행렬 연산을 통해 polyfit 메서드의 결과값이 의미하는 바를 이해한다. |
|
|
|
텐서플로우의 기계 학습 데이터 생성을 위한 Statistics 및 Histogram 이해하기
|
텐서플로우의 학습 데이터 생성을 위한 정규분포와 균등분포를 배운다. 히스토그램을 만들어 보면서uniform 메소드와 randn 메소드의특징을 이해한다. matplotlib.pyplot에서 제공하는 hist메소드와 numpy의 histogram 메서드의 차이점을 이해하고 bar 메소드를 이용해 히스토그램을 만들어본다. |
|
10. |
|
기계 학습을 통한 데이터 사이언스분석을 위한 확률밀도함수, 누적분포함수 이해하기
|
확률밀도함수와 누적분포함수 그래프를 그려보고, 그래프 스케일에 대해 이해한다. |
|
|
|
일반선형회귀와 Fourier Series
|
일반선형회귀를 이해하기 위해 주기, 평균값, 주파수, 위상으로 구성된 sin파 혹은 cos파를 그려본다. 샘플링 주파수를 이해하고, 주기, 평균값, 주파수, 위상을 바꾸어 sin파와 cos파를 다르게 표현해본다. |
|
11. |
|
텐서플로우를 이용한 선형회귀모델 구현하기
|
푸리에 시리즈를 활용하여 두 개 이상의 정현파로 사각형파, 삼각형파, 톱니파를 만들어보고 일반선형회귀(General Linear Regression)를 이해한다. 텐서플로우를 통해 선형회귀분석을 구현한다 |
|
|
|
손실값을 최소화하는 텐서플로우의 학습 과정을 이해하고, 수치적분에 대해 학습한다.
|
기계학습을 구현하는 구글의 텐서플로우를 설치하고 학습한다. 변수 값을 다양하게 넣어 손실값을 최소화하는 w, b값을 구하는 텐서플로우의 학습 과정을 이해한다. 수치적분을 이해하기 위하여 속도와 가속도, 속도와 거리 사이의 관계를 이해한다. |
|
12. |
|
trapizoidal method을 통한 수치 적분 이해하기
|
적분할 곡선을 직선으로 근사화시키는 trapizoidal 방식을 통해 수치적분에 대해 학습한다. 적분 구간이 커질수록 수치적분 에러가 커지는 단점을 이해하고 적분 구간이 작을수록, 수치적분 에러가 줄어드는 과정을 실습한다. |
|
|
|
Simpsons 1/3 rule을 통한 수치 적분 이해하기
|
적분할 곡선을 2차원 곡선으로 근사화시키는 Simpsons 수치적분 방법을 이해한다. 2차원 포물선을 수치 적분하기 위한 Simpsons 알고리즘 방법을 이해한다. 3개의 점으로 구성된 부분적인 포물선 함수를 이용하여 일반화된 Simpsons 1/3 수치적분 방법을 이해한다 |
|