반응형

전체 글 764

푸리에 급수를 사용하는 이유 (고유함수(eigen function), Fourier series, 통신, 필터, LTI)

목차 해당 글은 유투브 혁펜하임 강의 내용을 참조로 작성하였습니다. 푸리에 급수와 고유 함수 푸리에 급수를 실제 우리 생활에 사용하는 주요 이유를 알기 위해서 우선 수학적인 수식으로 푸리에 급수(Fourier Series)와 고유함수(Eigen Function)과 시간불변 선형 시스템(Linear Time Invariant)에 대해 이해를 해야합니다. 앞서 공업수학 포스트들에서 푸리에 급수(Fourier Series)와 시불변 선형 시스템(Linear Time Invariant)에 대해서는 설명을 하였습니다. 푸리에 시리즈는 위와 같이 어떠한 주기함수 f를 Sinusoidal 주기 함수의 합으로 표현할 수 있습니다. 여기서 오일러 함수 e를 아래와 같이 시불변 선형 시스템(Linear Time Invar..

벡터, 내적공간 이란? (Vector, Inner product space)

목차 해당 포스트는 혁펜하임 유투브 강의를 기반으로 작성하였습니다. 벡터(Vector)란? 거리, 무게, 속력 등과 같이 크기 정보만을 가지는 1차원의 양(Quantity)을 스칼라(Scalar)라고 합니다. 벡터란 2 개 이상의 요소들로 어떠한 양을 가지는 의미 합니다. 아래와 같은 양은 벡터 입니다. 크기, 방향의 양을 가지는 벡터 : 힘, 모멘트, 변위, 속도, 가속도, 운동량, 열유동 실수, 복소수, 함수의 양을 가지는 벡터 : 좌표, 벡터 함수, 오일러 함수 대수적 성질을 공리로 사용한 벡터 공간 내의 대상을 추사화 : 무한 실수 수열,연속함수, 행렬(matrix) 벡터를 수식으로 정리하면 아래와 같습니다. Addition: Given two elements x, y in X, one can f..

[Python] tkinter 로고(아이콘) 삭제하거나 바꾸기(logo, icon, remove, change)

목차 파이썬 tkinter 아이콘(icon) 변경하기 바로 예제 코드로 알아보겠습니다. 예제 코드>> from tkinter import * root = Tk() photo = PhotoImage(file = 'Famtech_Logo.png') root.wm_iconphoto(False, photo) root.title("FAMTECH") root.mainloop() 4번 라인: 변경할 아이콘 이미지를 가져 옵니다. 5번 라인: 아이콘 이미지를 적용합니다. 결과>> 파이썬 tkinter 아이콘(icon) 삭제하기 파이썬(Python) tkinter 아이콘을 삭제하는 작업은 번거롭습니다. 바로 삭제하는 방법은 없기 때문에 주변색에 투명하게 통과되는 이미지가 필요 합니다 해당 이미지는 아래 링크의 사이트에서..

[Python] 파이썬 실행파일(exe) 만들기(Pyinstaller, Batch file)

목차 Pyinstaller 설치하기 파이썬으로 작성한 코드를 파이썬 툴이 없는 환경에서 실행파일 만으로 실행하고 싶을 때 사용하는 방법입니다. 우선 실행 파일을 만들기 위해서는 pyinstaller 라는 라이브러리 설치가 필요 합니다. 아래와 같이 설치를 진행합니다. pip install pyinstaller 실행 파일 만들기(Exe file generation) 이번에 설치는 앞서 작성한 GPS파일(nmea)을 cvs 파일로 변환하는 예제 파이썬 코드를 변환할 생각 입니다. 해당 코드를 링크를 참조 하십시오(https://scribblinganything.tistory.com/625) 설치는 아래와 같이 간단한 명령으로 완료 됩니다. pyinstaller 파이썬파일명 제가 작성한 파일명은 nmea_to..

[Python]GPS파일(nmea)에서 위도, 경도, 속도, 시간 정보 읽어서 csv에 저장하기(Latitude, Longitude, Speed, Time)

목차 GPS파일(nmea) Parsing 하기 예제 nmea파일>> $GPRMC,054900,A,3708.8127,N,12724.8667,E,000.0,252.0,311022,007.9,W*69 $PVRCT,56035757821,054900,311022*5F $GPGGA,054900,3708.8127,N,12724.8667,E,1,08,1.2,144.0,M,22.9,M,,*44 $GPGSA,A,3,10,12,15,22,23,24,25,,32,,,,2.0,1.2,1.6*33 $GPGSV,3,1,10,10,70,262,39,12,51,098,46,15,12,108,36,22,20,295,43*74 $GPGSV,3,2,10,23,56,181,40,24,36,052,41,25,48,156,43,31,00,000..

파이썬(Python) 2022.11.10

[Python] flask와 sqlite 연동, 웹에 글 쓰고 데이터베이스에 넣기(GET, POST, form)

목차 [Python] flask와 sqlite 연동: Database Write 하기: 예제1 혹시 전체 코드에 대해 자세히 알고 싶으시면 sqlite 카테고리의 글을 처음부터 보시면 쉽게 따라 오실 수 있습니다. 앞서 포스트에서는 flask와 sqlite를 연동해서 데이터베이스의 값을 읽어 오거나 HTTP GET을 사용해서 특정 ID의 DB값을 읽어 오는 방법에 대해 알아 보았습니다(https://scribblinganything.tistory.com/623). 이번 포스트에서는 두가지 예제에 대해 실행하겠습니다. 특정 페이지 접속 시 파이썬 코드에 저장되어 있는 리스트 값을 데이터베이스에 올리기 웹페이지에 직접 데이터베이스에 올릴 값 입력해서 flask와 sqlite 연동으로 DB에 저장하기 우선 첫..

[Python] flask와 sqlite 연동 검색(GET, response)

목차 [Python] flask와 sqlite 연동 검색 기본 준비 앞서 시간에는 flask와 sqlite를 연동(Connect)해서 flask의 웹서버를 가동해서 웹 브라우져(web browser)에서 sqlite의 데이터베이스(DB, Database)에 있는 내용을 모두 읽어 오는 예제를 시행해 보았습니다(https://scribblinganything.tistory.com/619). 동일 내용을 라즈베리파이(Raspberry Pi) 리눅스 환경에서도 시행한 예제가 있으니 궁금하시면 참조 하세요 이번 포스트에서는 REST API 를 중에 GET 을 사용해서 웹 페이지(Web Page)에 특정 id 값을 입력 하고 해당 id에 해당하는 데이터 베이스 값을 검색(Search) 하고 이를 페이지에 출력하는..

내적, 외적이란?(Inner, Outer Product, vector, scalar)

목차 내적 이란?(Inner Product) 내적이란 곱한다는 의미 입니다. 벡터(Vector)에서 내적의 개념은 두 개의 벡터에서 방향이 일치하는 정도를 곱하는 것입니다. 위 그림에서 a와 b 벡터에서 a 벡터에[서 b벡터와 방향이 일치하는 부분은 a x cosΘ로 표현이 가능합니다. 이를 수식으로 표현하면 아래와 같습니다. 만일 두 벡터의 값이 직교성(Orthogonality)를 가지면 90도의 차이로 접점이 없다는 의미로 내적은 0이 됩니다. 그리고 최종 값은 스칼라(Scalar)로 나옵니다. 예를 들어 아래와 같은 벡터 값은 직교성을 가집니다. 즉 두 벡터의 내적은 0이 됩니다. 위와 같이 방향이 일치하는 벡터는 그냥 곱해서 3이 됩니다. 외적 이란?(Outer Product) 외적이란 내적과 달..

푸리에 급수란?(수식, 정의, Continuous Time Fourier Series)

목차 해당 내용은 혁펜하임의 신시 유투브를 통해 공부하고 작성하였습니다. 푸리에 급수란(Continuous Time Fourier Series)? 테일러 시리즈(Taylor Series)는 어떠한 함수(Function)를 다항식(Polynomial)의 합으로 표현한 시리즈 입니다. 수식으로 위와 같이 표현 됩니다. 푸리에 시리즈(Frouier Series)는 어떠한 주기 함수(Periodic Function)를 사인파(Sinusoids)의 합으로 표현하는 시리즈 입니다. 위와 같이 T0라는 주기를 가지는 함수는 T0에 매치되는 주파수 w0의 Harmonic 주파수로 구성됩니다. 하모닉(Harmonic) 주파수란 기본 주파수(Fundamental Frequency)의 정수배 되는 주파수 입니다. 예를 들어..

[라즈베리파이] flask와 sqlite 연동해서 데이터베이스 값 웹 출력

목차 [라즈베리파이] flask와 sqlite 연동해서 데이터베이스 값 웹 출력 앞서 라즈베리파이(Raspberry Pi)를 통해 웹서버를 운용했고 flask를 사용해서 웹브라우져(Web Browser)로 확인해보았습니다. 이번 시간에는 SQLite 데이터베이스(DB, Database)를 사용해서 테이블의 값을 읽어서 웹 하면에 출력하는 예제를 실행해 보겠습니다. 사실 이번 내용은 이미 윈도우 환경(Window OS)에서 구현해보고 실행도 해보았습니다(https://scribblinganything.tistory.com/619). 아무래도 라즈베리파이(Raspberry Pi)에서 구현하고 실행하는 것은 윈도우에 비하면 불편하기 때문에 윈도우에서 먼저 검증을 하고 확인하는 작업을 라즈베리파이(Raspber..

[Python]flask와 sqlite(데이터베이스) 연결하고 웹화면에 띄우기

목차 파이썬 flask, SQLite 연결하기(기본 준비) 앞서 시간에는 flask 사용 방법과 SQLite 사용 방법에 대해 살펴 보았습니다. 이번 포스트는 flask로 웹 서버(Web server)를 구동하고 해당 웹서버를 통해서 SQLite DB(Data base)에 접급하여 값을 불러오는(읽어오는) 방법에 대해 알아보겠습니다. 언제나 그렇듯이 코드는 최대한 단순하게 작성해서 어떻게 사용하는지에 대해서만 알아보겠습니다. 우선 코드를 실행하기 위해 아래와 같은 준비가 되어 있어야 합니다. 1. DB 파일 생성하기: 아래와 같이 employee라는 테이블(Table)로 SQLite Database를 형성합니다. 테이블 생성 및 값 넣는 방법은 https://scribblinganything.tistor..

미분방정식(Homogeneous, Particular, LCCDE)

목차 해당 포스트는 유투브 혁펜하임을 통해 공부하여 작성하였습니다. 미분방정식(Homogeneous, Particular, LCCDE)이란? 앞서 포스트에서 왜 미분방정식을 사용하고 현실 세계에서 어떻게 적용되는지에 대해 알아보았습니다. 이번 시간에는 현실 세상(물리, 전자)에서 나오는 미분방정식 형태인 LCCDE(Linear Constant Coefficient Differential Equation)에 대해 알아보고 해당 미분 방정식의 근을 구하는 방법에 대해 알아 보겠습니다. LCCDE(Linear Constant Coefficient Differential Equation)을 수식으로 전개하면 위와 같습니다. 입력과 출력 값이 미분형태로 표현이 되고 각 미분은 시간에 상관 없는(Constant C..

미분 방정식을 사용하는 이유? (Why need Differential equation?)

목차 해당 포스트는 유투브 혁펜하임 강의 내용을 참조해서 만들었습니다. 물리계에서의 미적 방적식 위 그림과 같이 차가 왼쪽으로 이동한다고 생각해보겠습니다. 이때 발생하는 힘은 위와 같이 앞으로 이동하기 위해 운전자가 넣은 힘 f(t)와 차량에서 발생하는 마찰력 ρv(t)이 있습니다. 마찰력은 마찰계수 로우(rou)와 속도에 비례해서 증가합니다. 운전자가 넣은 힘과 차량에서 발생하는 마찰력을 빼면 뉴턴(Newton)의 2법칙 운동의 법칙에 의해 ma 무게와 가속도에 비례한 힘의 값만 남습니다. 이를 수식으로 전개하면 아래와 같습니다. 위 수식에서 입력 힘의 값 f(t)를 입력으로 생각해서 x(t)로 변환하고 출력 y(t)으로 속도 값 v(t)을 생각해서 변환하면 아래와 같습니다. 즉, 출력과 입력의 관계가..

[라즈베리파이] flask 기본 웹 서버 실행하기(외부에서 접속해보기)

목차 [라즈베리파이] flask 기본 웹 서버 실행하기 말 그대로 아래의 파이썬(Python) Flask 기본 코드를 실행하고 외부의 윈도우(Window) PC에서 해당 IP로 접속하는 시험을 진행하겠습니다. 실행할 코드는 아래와 같습니다. 예제 코드>> from flask import Flask web_gui = Flask(__name__) @web_gui.route('/') def hello_fnc(): return 'Hello' if __name__ == "__main__": web_gui.run(host='0.0.0.0', debug=True, port=9999) flask 실행에 대한 내용은 블로그 flask 카테고리에 자세히 설명 되어 있으니 참조 하시면 됩니다. 1. 예제 코드를 아래와 같이..

[라플라스변환] 변환 공식, Step Function 변환 예제(Laplace, 스텝 함수)

목차 해당 내용은 Michel van Biezen 이란 분의 유투브를 통해 공부해서 작성합니다. [라플라스변환] 수학적 공식 이번에는 라플라스 변환(Laplace Transform)의 수학적 공식/정의(Mathematical definition)에 대해 알아보겠습니다. 위와 같이 f(t) 함수는 변환을 거쳐서 라플라스 s 형태로 표현 됩니다. 즉, 기존의 시간 도메인(Time Domain)에서 주파수 도메인(s, Frequency Domain)으로의 변환을 의미 합니다. s는 시그마와 오메가의 합 형태로 표현 됩니다. 변환 공식은 위와 같이 exponenetial 오일러 지수를 곱해서 적분하는 형태입니다. 여기서 중요한 부분은 적분을 0시간에서 진행하는 점입니다. 이는 모든 현상을 0의 지점부터 신호를 ..

[라플라스 변환] Laplace Transform 이란? 기본 개념 익히기

목차 해당 내용은 Michel van Biezen 이란 분의 유투브를 통해 공부해서 작성합니다. [라플라스 변환] Laplace Transform 이란? 갑자기 라플라스(Laplace transform)의 원리가 궁금해져서 생각을 정리할 겸 포스트를 작성하게 되었습니다. 라플라스 변환의 기본 정의는 시간 도메인(Time domain)의 함수(Function)를 복소수 주파수 도메인(Complex Frequency Domain)의 함수로 변환해주는 수학적인 장치(Tool) 입니다. 해당 정의에 대한 증명 및 전개는 향후 포스트에서 하나씩 작성하겠습니다. 이번 시간에는 라플라스 변환의 정의 및 특성에 대해 살펴 보겠습니다. 라플라스 변환(Laplace transform)을 다시 정의 하면 시간 영역에서의 미..

[Python] 지수 함수, 댐핑 사인 그래프 그리기(matplotlib, exponential, Damped Sine)

목차 파이썬 지수 함수 그래프 그리기(matplotlib, Exponential Function Graph) 이번에는 지수 함수(Exponential function)을 파이썬(Python) Matplotlib 라이브러리와 numpy 라이브러리를 사용해서 그리는 방법에 대해 알아보겠습니다. 코드는 단순하기 때문에 아래 예제를 통해 쉽게 알아보겠습니다. 예제 코드>> import matplotlib.pyplot as plt import numpy as np x = np.linspace(-0.2,2,10000) y = np.exp(-3*x) #그래프 설정 fig = plt.figure() plt.plot(x,y, 'b-') plt.title('Exponential Wave', color='b') plt.xl..

[Python] Sqlalchemy로 데이터베이스 읽기, 조건문 설정하기

목차 파이썬 Sqlalchemy로 Database 값 전체 불러오기 SQLite의 데이터 값 전체 선택은 select 함수로 함수 니다. 그리고 이를 실행시키고 DB값을 출력 하면 됩니다. 아래 예제를 통해 쉽게 이해해 보겠습니다. 예제의 DB는 앞서 포스트에서 미리 만들어놓은 아래 DB값을 사용하겠습니다.(아래 테이블 참조) 예제 코드>> from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String engine = create_engine('sqlite:///sales.db', echo = True) meta = MetaData() company = Table( 'sales', meta, Column('id', Intege..

라그랑주 보간법, 2 , 3 points 도함수 구하기(미분, derivative, differentiation, Lagrange)

목차 도함수(Derivative) 구하기 도함수는 간단하게 함수를 미분하여 나온 미분 함수 입니다. 일반적인 미분법은 2개의 포인트(2 Points)를 사용해서 구합니다. 2 Points 는 다시 크게 Forward와 Backword로 구분됩니다. 위 그림과 같이 h 값이 양수이고 오른편에서의 기울기를 가져오는 방법이 forward 입니다. 수식은 위와 같이 표기 합니다. Backward 2 Points는 위 그림에서 왼편에서 시작된 값으로 h가 음수를 사용해서 0에 가깝게 가져와서 기울기를 가져 옵니다. 수식은 위와 같이 표기 합니다. 라그랑주 보간법 , 3 points 도함수 구하기 라그랑지 보간법(Lagrange Interpolation)의 수식에 대해 여기서는 상세하게 다루지 않습니다. 다만 3 ..

[Python] SQLAlchemcy란? 테이블 생성, 데이터 입력(SQLite, ORM)

목차 파이썬 ORM이란? SQLAlchemcy 란? ORM(Object Relational MApper)이라는 이름에서 알 수 있듯이 모든 기능이 객체(Object)로 동작합니다. 즉, 객체 내의 사용법만 알면 쉽게 Database를 생성, 수정, 삭제가 가능 합니다. 참고로 ORM은 서로 연결되지 않는 시스템 (여기서는 SQLite 데이터베이스와 파이썬)을 Mapping 시켜주는 객체 언어 입니다. 앞서 SQLite를 명령어를 직접 입력해서 파이썬으로 DB를 생성하는 방법에 대해 알아보았습니다. SQLAlchemy는 SQL 툴킷으로 ORM(Object Relational MApper)입니다. 파이썬 라이브러리로 내부의 클래스를 사용해서 쉽게 데이터베이스에 맴핑(Mapping)이 가능 합니다. SQLAl..

반응형