728x90

C && C++ 20

correlation 구하기 예제(대한항공, 델타항공 주가 비교)

0. 서론 일주일 만에 게시물이네요 블로그를 돌봐야 하는데 바빠서 잘 못 돌보고 있는 것 같습니다. 최근에 항공 테마주로 대한항공, 델타항공이 주식시장에서 아주 뜨겁습니다. 저 같은 경우에는 델타항공이 폭락하는 걸 보고 대한항공 폭락을 예견해 대한항공을 고점에서 익절 칠 수 있었습니다. 오늘 풀어볼 문제입니다. 최근 한 달 동안 델타항공의 종가가 다음날 Kospi 시장의 델타항공 주가에 영향을 주는가? 이것을 풀어보겠습니다. 물론 주식시장이 매우 변동성이 높은 장이다 보니, 이런 코드를 짜서 풀어놔도 시간이 지나면 맞지 않게 될 확률이 높습니다. 그러니 정기적으로 시스템이 잘 동작하는지 확인해야겠지요? 일단 지난 30일간의 KAL, DLA의 주가입니다. 뭔가 벌써 비슷해 보입니다. 이 둘의 서로 유사성을..

C && C++ 2020.11.13

Monte Carlo method(C++)(랜덤, 확률, pi 구하기)

시험기간 때문에 최근에 업로드가 어려웠는데, 시험이 끝나 이렇게 업로드를 하니 기쁩니다. 0.서론 : 현실에서 뽑기를 하면 무작위로 상품 하나를 받게 됩니다. 이런 것을 C++로 구현할 수 있을까요? 확률은 게임 등 여러 분야에 사용되고 있습니다. 이번 시간에는 이런 확률적인 기능을 C++에서 Monte Carlo method를 이용해 구현해보도록 하겠습니다. 오늘의 목표는 monte carlo method를 이용해 원주율(파이)를 계산하는 것입니다. 1.아이디어 : 아래 그림과 같이 정사각형 안에 반듯한 원이 꽉끼여있는 상황을 상상합시다. 이 상황에서 정사각형 안에 무작위로 데이터를 생성하면, 데이터가 원안에 생성될 수도, 또는 원 밖에 생성될 수도 있습니다. 우리는 이를 통해, N(원안에 들어온 데이..

C && C++ 2020.11.01

적분으로 물체의 포물선 운동 묘사(C++)

0) 포물선 운동 포물선 운동은 x 방향으로 물체가 등속도 운동을 하는 상황에서 중령에 의해 y 방향으로 등가속도 운동을 하는 물체의 운동을 말합니다. 즉 Vx(x축으로의 속도) = v0(초기속도) * t로 표현할 수 있고, Vy(y축으로의 속도) = v0(초기속도) * t + a(가속도) * t 로 x 축과 y축의 속도를 시간에 대해서 나타낼 수 있습니다. 이 때 이 속도를 시간 구간에서 적분을 해주면 이동한 거리를 알 수있습니다. 만약 초기 위치만 주어진다면, 결론적으로 물체의 움직임을 시간마다 알아낼 수 있습니다. 1) 구현 코드 함수가 여러개 있습니다. 처음부터 설명을 하겠습니다. 1. vxt(t, vx0, ax) 시간과 초기 속도 가속도를 받아 t에서의 x축으로의 속도를 계산해주는 함수입니다. ..

C && C++ 2020.10.17

다항회귀 예제(C++ with eigen library)

이번 포스팅에서는 C++로 다항회귀를 하는 것을 보여드리겠습니다. 이 예제를 차근차근 따라하시면 C++로 다항회귀를 해보실 수 있습니다. 0) 데이터 세트 만들기 C++에서 회귀에 사용할 노이즈를 포함한 데이터 세트를 python코드를 통해서 만들었습니다. 아래에 코드를 첨부하겠습니다. import numpy as np import matplotlib.pyplot as plt x = 5 * np.random.rand(1,150) y = -2 * pow(x,3) + 9 *pow(x,2) + -3 * x + 7 + 4 * np.random.rand(1,150) 위의 타겟함수에 대해서 데이터가 생성되었고, 이를 시각화 하니아래의 그림과 같은 도표를 얻었습니다. 이제 이를 C++에서 사용한 txt 파일로 만드는..

Eigen library 설치하기(C++)

1. Eigen library 다운하기 i) 다음 사이트에 접속합니다. eigen.tuxfamily.org/index.php?title=Main_Page Eigen Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. Eigen is now on GitLab.com (30.07.2020) Since the end of 2019, Eigen's repository and bugtracker are now both hosted on GitLab.com, meaning th eigen.tuxfamily.org ii) 아래 그림의 빨간색으로 표시된 "zip"을 클..

C && C++ 2020.10.14

1차 선형 회귀 예제 경사하강법 사용(C++)

1. 1차 선형 회귀란? 1차 선형 회귀는 데이터에 대해 최대한 일치하는 y = ax + b를 찾는 것 입니다. 이번 포스팅에서는 C++에서 데이터를 이용해 a와 b 값을 찾아 데이터에 fitting 하는 것을 예시를 통해 직접 보이도록 하겠습니다. 사용되는 알고리즘은 앞서 포스팅된 경사하강법을 이용할 것이기에, 참고하시면 도움이 되실겁니다. https://himbopsa.tistory.com/5?category=891084 경사하강법 예제(C++) 앞선 포스팅에서 함수를 시각화하는 것을 했다. 동일한 함수를 사용할 예정이고, 데이터 시각화하는 과정을 보고싶다면 참고 바란다. himbopsa.tistory.com/4 임의의 함수 시각화 하기 예제(C++) 어떤 himbopsa.tistory.com 먼저 ..

경사하강법 예제(C++)

앞선 포스팅에서 함수를 시각화하는 것을 했습니다. 이와 동일한 함수를 사용할 예정이고, 데이터 시각화하는 과정을 보고싶다면 아래 링크에서 참고하실 수 있습니다. himbopsa.tistory.com/4 임의의 함수 시각화 하기 예제(C++) 어떤 함수가 임의의 구간에서 어떻게 그려지는지 종종, 리포트를 제출할 때 우리는 시각화 하여 보여야할 때가 있다. C++과 Excel을 활용해 임의의 함수에 대해서 시각화를 하는 법에 대해 포스�� himbopsa.tistory.com 목표는 다음 그림1의 함수를 경사하강법을 사용하여 수학적인 계산 없이 최소값을 찾는 것입니다. 경사 하강법이란, 간단하게 설명드리면 그림2와 같은 함수가 있을 때 먄약 극대점이 아니라면, x, y 값을 더 값이 낮은 곳으로 이동시켜 최..

임의의 함수 시각화 하기 예제(C++)

어떤 함수가 임의의 구간에서 어떻게 그려지는지 종종, 리포트를 제출할 때 우리는 시각화 하여 보여야할 때가 있습니다. 이럴 때 쓸 수 있는 C++과 Excel을 활용해 임의의 함수에 대해서 시각화를 하는 법에 대해 포스팅 하는 시간을 가지겠습니다. 함수는 그림1에 나타난 함수로 설정했습니다. 이 녀석을 그리는 것이 이번 포스팅의 목표입니다. 먼저 우리가 프로그래밍 전에 예상할 수 있는 결과는 (x, y) = (3, 4)에서 최솟값 0을 가진다는 것입니다. 이는 수학적으로 계산될 수 있습니다. float fxy(float x, float y) { return (x - 3) * (x - 3) + (y - 4) * (y - 4); } 이렇게 그림1의 함수를 return 하는 C++ 코드를 완성했습니. 이 함수..

그림판을 이용한 .png 파일 .bmp로 바꾸기

확장자가 png파일이 아닌 bmp나 다른 확장자의 이미지 파일이 필요하신 경험을 해보셨을 겁니다. 오늘은 그림판을 이용해 간단하게 png파일의 확장자를 bmp로 바꾸는 것을 보여드리겠습니다. 이렇게 간단한 방법으로 파일 확장자를 쉽게 변환할 수 있습니다. 그림2에서 bmp를 선택하지 않으시면 다른 확장자로도 쉽게 변경이 가능합니다. ^^

C && C++/BMP 2020.10.12

BMP파일 다루기(C++)/ C++ BMP 이미지 변형 수정 하기.

1. bmp file의 포멧 bmp file은 사진의 싸이즈 정보(폭, 높이)와 pixel foramt option을 포함하고 있습니다. 본 게시물에서 Pixel format은 24bits(3bytes. RGB interlaced)를 이용할 예정입니다. ※ 3bytes의 RGB interlaced란 한 픽셀에 R(1byte)G(1byte)B(1byte)형식의 데이터를 통해 색을 나타내는 것이다. 색은 0-255 level까지 선택이 가능하다. 2.원하는 색을 탐지하여 다른색으로 바꾸는 프로그램(Detecting color and changing to another one) 설명 : 원본 이미지 파일(.bmp)을 로드하여 그 이미지를 흑백으로 변환하거나 옷색을 전환하고 이를 세이브하는 기능을 수행한다. 동..

C && C++/BMP 2020.10.11
728x90