반응형

전체 글 764

[Python] Sine파 그래프 그리기(Matplotlib, 여러개 사인파 한그래프 표기)

목차 파이썬 Sine파 그래프 그리기 우선 파이썬의 Matplotlib으로 사인파형(Sinusoidal waveform)을 그리는 기본적인 코드에 대해 알아 보겠습니다. 설명은 아래 예제 코드로 진행하겠습니다. 예제 코드>> import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi,np.pi,100) y = np.sin(x) #그래프 설정 fig = plt.figure() plt.plot(x,y, 'b-') plt.title('Sine Wave', color='b') plt.xlabel('X') plt.ylabel('Sin(x)') plt.grid() plt.axhline(y=0, color='k') plt.axvline(x=0,..

Memoryless, Causal, BIBO System의 정의(메모리리스, 인과, 유계 입력 출력, Stability)

목차 본 포스트는 유투브 헥펜하임의 내용을 참조로 작성하였습니다. Memoryless 시스템이란? 앞서 임펄스 응답(Impulse Response) h(t)에 대해 알아보았습니다. h(t)는 0초에서 임펄스 입력 값 δ(t)이 들어갔을 때의 응답이 었습니다. Memoryless(무기억) 시스템이란 임펄스 입력이 들어가고 즉각 반응하는 시스템을 의미 합니다. 예를 들어 스위치를 누르면 LED가 바로 켜지는 시스템을 무기억 시스템으로 볼 수 있습니다. 반대로 입력이 출력의 과거나 미래에 영향을 준다면 Memoryless 시스템이 아닌 것입니다. 위 그림과 같이 2번 응답만이 Memoryless 응답입니다. 1번과 3번에 응답이 있다면 해당 응답은 Memoryless 시스템이 아닙니다. Casual 시스템이란..

연속시간 컨볼루션이란?(Continuous Time Convolution)

목차 해당 내용은 혁편하임 신시 강의를 참조해서 작성하였습니다. 연속 시간의 임펄스(Impulse) 함수로 표현하기 앞서 이산 시간(Discrete time)에서의 임펄스 함수로 컨볼루션(Convolution)을 표현하는 방법에 대해 알아보았습니다. 연속시간(Coninuous time)에 대해 컨볼루션을 표현하기 위해서는 연속 시간에서의 임펄스 함수가 필요 합니다. 연속시간에서의 임펄스 함수는 위와 같이 박스 형태로 표현되고 델타(△)가 0으로 가까워 지면서 이산 시간의 임펄스 함수처럼 선에 가깝게 변하게 됩니다. 위와 같이 x(t) 함수를 임펄스 막대기로 표기가 가능 합니다. x(t)는 위와 같이 수식으로 정리될 수 있습니다. 여기서 델타(δ)에 델타(Δ)를 곱합 값은 사각형의 넓이가 아닌 높이 정보입..

[Python] 내장 함수란? 확인 방법 (아래 밑줄 2개, underscore, __init__, __repr__)

목차 파이썬 내장 함수란? 파이썬이란 객체 지향 언어(OOP, Object Oriented Programming)으로 변수 선언이나 내부에 함수들은 실제 클래스로 이루어져 있습니다. 그리고 각 클래스에는 메소드(Method)라는 함수로 특성 기능을 수행할 수 있습니다. 여기서 언더스코어(Underscore, 밑줄) 두 개로 표기된 함수를 가끔 보신적이 있습니다. 이는 클래스가 가진 자체 내장 함수라고 생각하시면 됩니다. 예제 코드>> var_a = 7 print(type(var_a)) print(repr(var_a)) 결과>> 7 위에 예제 코드에서 var_a를 7이라는 정수(integer)로 선언 합니다. 그리고 type으로 확인 결과 int 라는 클래스 임을 알 수 있습니다. 그리고 Class int..

[Python] SQLite, CSV 쓰고 읽기, DB에 옮기기

파이썬 CSV 쓰기 csv 작성은 csv.writer 함수로 실행합니다. 아래 예제를 통해 쉽게 이해해 보겠습니다. 예제 코드>> def wr_csv(data): with open('data.csv', 'w', newline='') as file: writer = csv.writer(file) writer.writerows(data) 위와 같이 함수를 작성해서 실행합니다. data.csv 라는 파일을 만들고 입력할 값을 여러개의 list 값을 묶어서 입력 합니다. 한줄만 입력하고 싶을 경우 writerow 함수와 리스트 값 하나만 입력 하면됩니다. 파이썬 CSV 읽고 데이터베이스에 쓰기 CSV 읽기 방법도 쓰기와 유사합니다. 이번에는 csv.reader 함수를 사용해서 실행하겠습니다. 읽은 값은 SQLi..

컨볼루션이란? (LTI 시스템, 임펄스 신호 응답, Convolution, Impulse)

목차 이번 포스트는 혁펜하임 신시 컨볼루션 내용을 참조해서 작성하였습니다. 콘볼루션(컨볼루션, Convolution)을 이해하기 위해서는 LTI와 Impulse 신호와 응답에 대해 이해하여야 합니다. LTI는 앞 포스트에서 설명하였으니 참조 하시길 바랍니다. Impulse 신호 및 응답 임펄스 신호는 이산(Discrete) 신호와 연속(Continuous) 신호에 따라 아래와 같이 표현 됩니다. 이산 임펄스(Impulse) 신호 연속 임펄스(Impulse) 신호 위와 같이 Impulse 신호에 대해 정의를 내릴 수 있습니다. 그리고 Impulse 신호는 적분시 1이 나옵니다. 해당 특징은 아래와 같이 수식으로 정리 됩니다. 임펄스(Impulse) 응답이란? Impulse 응답이란 말 그대로 Impulse..

[Python] SQLite 데이터 하나 쓰기, 여러개 쓰기 삭제하기 조건걸기(Write, Delete)

목차 파이썬 SQLite DB 하나 쓰기, 여러개 쓰기 앞서 데이터베이스에 내용을 입력하는 방법에 대해 알아보았지만 복습 차원에서 정리하면 아래와 같습니다. INSERT INTO 테이블명 VALUES(입력값) 여러개 값을 입력할 경우 리스트로 값을 입력하고 sqlite 코드는 executemany로 시행합니다. sqlite 명령어는 하나의 입력 방식과 동일 합니다. 실제 아래 예제를 통해 쉽게 이해해 보겠습니다. 예제 코드>> import sqlite3 from sqlite3 import Error def connection(): try: con = sqlite3.connect('test2.db') return con except Error: print(Error) def create_table(con)..

에너지 신호와 전력 신호 구분법(Energy, Power)

목차 이번 포스트는 유투브 채널 혁펜하임의 신시 강의 내용을 참고로 작성하였습니다. 강의는 아래 링크를 통해 확인할 수 있습니다.(https://www.youtube.com/watch?v=Zy4QRMD6mC0&list=PL_iJu012NOxcDuKgSjTKJZJd3bQtkAyZU&index=7 ) 에너지 신호, 전력 신호 수식(Equation) 에너지(Energy)란 전력/파워(Power) 값을 시간에 따라 적분한 값입니다. 전기 분야나 기계 분야 등 세상에 존재하는 파워를 살펴 보면 제곱의 형태로 표현 됩니다. 예를 들어 전력(Electric Power)는 전류의 제곱이거나 전압의 제곱에 비례합니다. 그래서 파워 값은 제곱의 형태로 표현 됩니다. 에너지 신호란 위에 에너지 수식이 수렴하면 에너지 신호라..

[Python] SQLite 테이블 if not 으로 검색 후 생성, 삭제(drop, delete)

목차 SQLite에 대한 기본적인 내용을 확인하고 싶으시면 블로그에 데이터베이스(Database)의 SQLite 카테고리에서 처음부터 확인하시면 됩니다. 파이썬 SQLite 테이블 검색 후 생성하기 SQLite 구문에서 if not exists 을 사용하면 해당 내용이 없을 경우 특정 명령을 실행하게 할 수 있습니다. 명령어 if not exists 찾는내용 아래 예제는 특정 테이블을 찾고 없을 경우 6개의 테이블을 새로 생성하는 예제 입니다. 예제 코드>> import sqlite3 from sqlite3 import Error def connection(): try: con = sqlite3.connect('test0.db') return con except Error: print(Error) def..

LTI(Linear Time Invariant)란? 특징과 문제 풀이

목차 LTI(Linear Time Invariant)란? LTI란 선형적(Linear)이고 시간에 불변(Time Invariant)한 시스템을 의미 합니다. 선형이란 아래의 두 특성을 가진 성질을 의미 합니다. Scaling Additivity 위 두가지 성질을 합쳐서 Superposition(중첩)의 성질이라고 부릅니다. 시불변(Time Invariant)란 시간에 관계없이 특정 입력에 대해서 동일 출력이 나옴을 의미 합니다. LTI 수식으로 풀이 하기: 선형성 검증 중첩(Superpostion) 성질에 대해 정리해보겠습니다. 위와 같이 f라는 시스템에 x1, x2입력을 넣고 a1, a2 배수를 했을 때 출력도 동일하게 배수와 합으로 표현되면 선형 시스템이라고 부릅니다. 선형 증명 예제1>> 위 시스템..

[Python] SQLite DB불러오기 (Select, Fetch)

목차 파이썬 SQLite DB불러오기 앞 포스트에서 테이블을 만들고 데이터를 저장하는 방법에 대해 알아보았습니다(https://scribblinganything.tistory.com/597). 이번 포스트는 저장된 DB를 읽는 방법에 대해 알아보겠습니다. 우선 SQLite에서 모든 데이터를 부를 때 아래와 같은 명령어를 사용합니다. SELECT * FROM 테이블명 테이블에 있는 모든 데이터(별표)를 선택하겠다는 의미 입니다. 그리고 fetchall 함수로 데이터를 불러 옵니다. 아래 파이썬 예제로 쉽게 이해해 보겠습니다. 현재 SQLite 데이터 베이스에는 아래와 같은 정보가 포함되어 있습니다. 예제 코드>> import sqlite3 from sqlite3 import Error def connect..

[Python] SQLite 데이터베이스에 값 입력하기, 변경하기(Insert, Update)

목차 파이썬 SQLite 데이터베이스에 값 입력(Insert) 앞서 포스트에서 SQLite를 사용해서 DB를 생성하고 테이블을 만드는 방법에 대해 알아보았습니다(https://scribblinganything.tistory.com/596). 이번 포스트는 앞서 생성한 테이블에 내용을 입력하는 방법에 대해 알아보겠습니다. 데이터 입력을 위해서 파이썬 함수 execute로 SQLite 명령을 실행하고 commit으로 변경 내용을 저장합니다. SQLite에서 데이터 입력은 INSERT INTO 테이블명 으로 실행 합니다. 상세 내용은 아래 예제를 통해 이해해 보겠습니다. 예제 코드>> import sqlite3 from sqlite3 import Error def connection(): try: con = ..

[Python] SQLite DB만들기, 테이블 생성하기(memory, file, table)

목차 SQLite DB 생성하기 앞서 포스트에서 SQLite는 상대적으로 가벼운 데이터베이스(Database)로 DB를 메모리 영역에 생성하거나 파일에 생성합니다. 생성은 connect 함수로 실행합니다. 아래 입력 값에 따라 메모리 또는 파일에 데이터베이스를 생성합니다. 생성 함수: connect 입력 값: ":memory:", "파일명" 예제 코드>> import sqlite3 from sqlite3 import Error try: con = sqlite3.connect(':memory:') # con = sqlite3.connect('test.db') print("DB created in memory") except Error: print(Error) finally: con.close() 5번 라인..

[Python]SQL이란? 파이썬에서 SQLite 연결하기(connect)

[Python] SQL이란? SQL(Structured Query Language)는 데이터베이스(DB, Database)의 데이터를 검색, 갱신, 관리의 기능을 구현하게 정의된 프로그래밍 언어(Programming Language)입니다. SQL는 유료와 무료 등 여러가지 버젼이 있는 데 궁극 적인 목표는 최대한 방대한 데이터베이스를 효율적이고 빠르게 처리하는 것이 목적입니다. 언어(명령어)는 크게 아래와 같이 분류 됩니다. DDL(Data Defition Language) Create Table Drop Table Alter Table DML(Data Manipulation Language) Insert Delete Update Select DCL(Data Control Language) [Pytho..

CGI란? 간단한 예제 리눅스 라즈베리파이에서 실행하기(파이썬, Python, linux, rasberrypi)

목차 CGI란? CGI란 Common Gateway Interface의 약자로 HTML 문서의 수동적인 정보 전달 보완을 위해서 만들어진 동적 변환 방식으로 CGI는 동적으로 동작하기 위해 정한 표준 규약(Protocol) 입니다. 동작 순서는 아래와 같습니다. 1. 클라이언트(Client)가 웹 브라우져(Web Browser)를 통해 동적인 웹 문서를 요청 합니다. 2. 웹 서버(Web Server)에서는 동적 웹 문서에 대해 CGI 프로그램 스크립트에게 CGI를 요청 합니다. 3. CGI 스크립트에 프로그램된 동적인 동작을 웹 서버를 통해 웹 브라우져로 전달 합니다. 즉, CGI를 웹서버에서 실행하기 위해서는 웹서버에 CGI에 대한 정의가 있어야 하고 CGI Script가 따로 작성되어 정의된 방식에..

[라즈베리파이] 웹 서버(Web Server)란? 아파치(Apache) 설치 및 실행하기

목차 웹 서버(Web Server)란? 웹 서버는 Client가 웹 브라우져(Web Browser)를 통해 접속해서 데이터를 요청하면 해당 요청에 맞춰 제공해주는 인터넷 프로그램입니다. 클라이언트(Client)와 서버(Server) 사이는 HTTP 라는 정해진 프로토콜(Protocol)로 통신 합니다. 아래는 라즈베리파이(Raspberry Pi)에서 가장 많이 사용하는 대표적인 웹 서버 소프트웨어 입니다. Apache Lighttpd nginx 이번 포스트에서는 Apache를 설치해서 사용해볼 예정입니다. 사용자도 많고 다양한 언어를 지원하기 때문에 사용이 용이 합니다. 서버를 운용하기 위해서는 웹 응용 프레임워크로 코드를 작성해야 하는데 대표적인 프로그램 언어는 아래와 같습니다. Java Javascr..

윈도우 컴퓨터 화면에 갤럭시 탭 화면 공유하기 (강의 유용한 기능)

목차 윈도우(Window) PC에서의 설정 1. 윈도우 검색창에 시스템을 아래와 같이 검색하고 실행합니다. 2. 아래 그림과 같이 "이 PC에 화면 표시"를 클릭 합니다. 아래와 같이 활성화 되지 않았다면 선택적 기능을 클릭 후 무선 디스플레이를 설치 합니다. 설치가 완료 되면 아래와 같이 활성화 됩니다. 3. 아래와 같이 안전한 네트워크... 를 설정하고 파란색으로 된 "이 PC에 표시하기 위해 연결 앱 시작"을 클릭 합니다. 4. 클릭 후 아래와 같은 화면이 나오는데 이때 마우스를 위쪽으로 올려서 오른쪽 상단에 화살표를 클릭해서 화면을 축소 합니다. 그렇지 않으면 추후에 탭화면 미러링으로만 고정되기 때문입니다. 갤럭시 탭(Galaxy Tab)에서의 설정 현재 1. 아래 그림과 같이 Smart View..

힘, 에너지, 일, 파워, 일률, 순간에너지, 평균에너지란? 수식(Force, Power, Energy, Work, Equation)

목차 해당 내용은 유투브 강의 혁펜하임의 강의를 기초해서 정리한 자료 입니다. 힘(Force)이란? 우선 힘(Force)에 대한 정의 부터 파워(Power), 에너지(Energy), 일(Work)에 대한 정의가 이루어 집니다. 힘은 위와 같은 수식으로 시편의 무게에 가속도를 곱하는 것으로 뉴턴(Newton)에 의해 "정의"된 값입니다. 즉, 힘에 대한 정의는 위와 같이 약속이 된 것입니다. 단위는 N 또는 kgf을 사용합니다. 단위: N, kgf 일(Work)이란? 일이란 물체가 이동하는 방향으로의 힘에 물체가 이동한 거리를 곱한 값입니다. 단위는 Nm 또는 J을 사용 합니다. 단위: Nm, J 에너지(Energy)이란? 흔히 운동에너지, 위치에너지에 대한 얘기를 들어보셨을 겁니다. 에너지란 물체에 일(..

DC 션트 저항이란? 사용 방법(DC Current Shunt)

목차 DC 션트 저항(DC Current Shunt)이란? 일반적으로 작은 전류를 측정할 때는 전류계를 사용해서 측정이 가능하지만 큰 전류(10A 이상)를 측정할 때 Shunt 저항을 사용 합니다. Shunt 저항은 고전류 측정을 위해 제작된 특수 저항입니다. Shunt 저항은 위 그림과 같이 일반적으로 부하(Load)와 직렬로 연결합니다. 그리고 Shunt 저항에 병렬로 전류계를 연결합니다. Shunt 저항은 위 그림처럼 볼트로 연결할 수 있는 구조로 되어 있습니다. 볼트를 통해서 굵은 전선을 연결할 수 있고 가운데 작은 볼트로 Voltmeter와 연결할 수 있는 구조를 가집니다. 그리고 Shunt 저항은 Ground에 가깝게 연결해서 전압 강하를 최소화 해줍니다. 위 저항은 무라타 션트 저항인데 저항..

오일러 공식(Euler's formula) 사용 예제

목차 해당 내용은 유투브 강의 혁펜하임의 강의를 기초해서 정리한 자료 입니다. 앞서 오일러 공식의 정의와 어떻게 유도를 했는지에 대해 알아보았습니다(https://scribblinganything.tistory.com/588). 이번 시간에는 오일러 공식을 사용해서 어떤 수학적 이점과 실제 사용 예제에 대해 알아보겠습니다. 오일러 공식(Euler's formula) 사용 예제 #1 위 그림과 같이 복소수 값을 지수 형태로 표현할 수 있습니다. 즉, 아래와 같이 여러가지 복수의 곱을 쉽게 덧셈으로 바꿔서 사용할 수 있습니다. 오일러 공식(Euler's formula) 사용 예제 #2 위 예제는 a(t), b(t)를 통신으로 보낼 때 cos(t)와 90위상 차이가 나는 -sin(t)에 묶어서 보내고 송신부에..

반응형