평균 함수(Mean Function)numpy.mean(a, axis=None, dtype=None, out=None, keepdims=, *, where=) 지정된 축을 따라 배열의 평균을 구해줍니다.▪Parameters ‣ a : 입력 배열, 평균 값을 연산할 입력 배열 ‣ axis : 축 설정(선택 사항), 계산이 진행되는 축 설정 ‣ dtype : 데이터형(선택 사항), 사용할 데이터형을 지정 ‣ out : 출력, 기본값 = None으로 결과를 배치할 대체 출력 배열 ‣ keepdims : 차원 유지, Bool 값으로 설정하고 True일 경우출력에서의 차원을 입력과 동일하게 유지 ‣ where : 피연산자와 함께 브로드 캐스트되는 부울 배열을 ..
역수 함수(Reciprocal Function)numpy.reciprocal(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값에 대해서 역수(1/x) 기능을 수행합니다.▪Parameters ‣ x : 입력 배열, ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는 부울 배열을 승인, True 값은 해당 위치에서 ufunc를 계산, False 값은 출력만으로 값..
들여쓰기(Identation)들여쓰기는 코드를 일정 간격 띄워서 작성하는 방법입니다. C, C++, Java 등의 언어에서는 { }를 기준으로 코드를 작성하기 때문에 들여쓰기에 관대한 편이지만 파이썬 같은 경우 들여쓰기를 잘못 지정할 경우 "IndentationError: 예기치 않은 들여쓰기" 메시지가 나타납니다. # 들여쓰기 Error 예시print("Hello World!!") print("Welcome to the Python World.") 더보기File "", line 2 print("Welcome to the Python World.") IndentationError: unexpected indent ¹들여쓰기를 해야하는 상황에서 들여쓰기 하지 않은 경우에는 "IndentationEr..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver 실습 방법 ◾ NI Data 장비를 이용한 Counter Input Read Pulse Frequency 예제 ◾ CO에서 나오는 Pulse Train 정보를 새로운 CI로 받아서 확인하는 예제 ◾ NI MAX에서 펄스 트레인을 생성하고 Python으로 펄스 주파수를 측정하여 결과를 명령창에서 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import time from ast import Break from nidaqmx.constants import FrequencyUnits, E..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver 실습 방법 ◾ NI Data 장비를 이용한 Counter Input Read Pulse Period 예제 ◾ CO에서 나오는 Pulse Train 정보를 새로운 CI로 받아서 확인하는 예제 ◾ NI MAX에서 펄스 트레인을 생성하고 Python으로 펄스 주기 측정하여 결과를 명령창에서 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import numpy as np from nidaqmx.constants import TimeUnits, AcquisitionType with nidaq..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver 실습 방법 ◾ NI Data 장비를 이용한 Counter Input Read Pulse Width 예제 ◾ CO에서 나오는 Pulse Train 정보를 새로운 CI로 받아서 확인하는 예제 ◾ NI MAX에서 펄스 트레인을 생성하고 Python으로 펄스 주기 측정하여 결과를 명령창에서 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx from nidaqmx.constants import TimeUnits, Edge with nidaqmx.Task() as task : task.ci_cha..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver 실습 방법 ◾ NI Data 장비를 이용한 Counter Input Read Pulse Period 예제 ◾ CO에서 나오는 Pulse Train 정보를 새로운 CI로 받아서 확인하는 예제 ◾ NI MAX에서 펄스 트레인을 생성하고 Python으로 펄스 주기 측정하여 결과를 명령창에서 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx from nidaqmx.constants import TimeUnits, Edge, CounterFrequencyMethod with nidaqmx.Tas..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver 실습 방법 ◾ NI Data 장비를 이용한 Counter Output Continuous Sampling 예제 ◾ Counter Output에서 나오는 Pulse Train 정보를 AI로 받아서 확인하는 예제 ◾ UI 툴은 따로 사용하지 않아 NI MAX에서 Analog Input 값으로 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' from ast import Break import nidaqmx from nidaqmx.constants import FrequencyUnits, Level, Acquisiti..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver 실습 방법 ◾ NI Data 장비를 이용한 Counter Output Finite Sampling 예제 ◾ Counter Output에서 나오는 Pulse Train 정보를 AI로 받아서 확인하는 예제 ◾ UI 툴은 따로 사용하지 않아 NI MAX에서 Analog Input 값으로 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx from nidaqmx.constants import FrequencyUnits, Level, AcquisitionType with nidaqmx.Task()..
OPENPYXL◾ Python으로 엑셀을 다루기 위한 라이브러리◾ 대표적인 Excel(*.xlsx 파일) 관련 모듈로 읽기/쓰기 모두 가능◾ 공식문서 페이지 : OPENPYXL(https://openpyxl.readthedocs.io/en/stable/index.html) XLRD/XLWT (MS 구버전용)◾ Python으로 엑셀을 다루기 위한 라이브러리◾ Excel 97-2003(*.xls 파일)을 다룰 때 사용◾ Excel Read/Write로 XLRD는 'Excel Read', XLWT는 'Excel Write'라는 의미◾ 공식문서 페이지 : XLRD(https://xlrd.readthedocs.io/en/latest/api.html) XLWT(https://xlwt.read..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver, numpy 실습 방법 ◾ NI DAQ 장비를 이용한 Digital Input Continuous Sampling 예제 ◾ 서로 다른 Digital Port의 0~2번 line을 물리적으로 연결 ◾ UI 툴은 따로 사용하지 않아 NI MAX에서 디지털 출력을 하고 명령창에서 Input 값 출력해서 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import time import numpy as np from ast import Break from nidaqmx.constants imp..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver, numpy 실습 방법 ◾ NI DAQ 장비를 이용한 Digital Output Continuous Sampling 예제 ◾ Digital Output 1채널과 Analog Input 1채널을 물리적으로 연결 ◾ UI 툴은 따로 사용하지 않아 Python에서 디지털 출력을 하고 NI MAX에서 정상 동작하는지 AI로 확인 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import numpy as np from ast import Break from nidaqmx.constants impo..
원소 곱 반환 함수(Prod Function)numpy.prod(a, axis=None, dtype=None, out=None, keepdims=, initial=, where=) 객체의 행 또는 열의 요소들을 곱한 값을 반환합니다. (product 메소드와 동일)▪Parameters ‣ a : 입력 배열, ndarray ‣ axis : 축 설정(선택 사항), Default=None으로 입력 배열 요소의 모든 값을 곱함 {0 : 열, 1 : 행} ‣ dtype : 데이터 타입 변환 설정(선택 사항), 자세한 사항은 numpy 사이트의 dtype 링크 참조 ‣ out : 출력 대체 배열(선택 사항), 결과를 배치할 대체 출력 배열로 예상 출력과 같은 형태여야하지만..
실습 구성 ▪ NI Data Acquisition Device : USB-6212 ▪ DAQmx Driver, numpy 실습 방법 ▪ NI DAQ 장비를 이용한 Analog Output Continuous Sampling(HW Timing) 예제 제작 ▪ AO 1채널과 AI 1채널을 물리적으로 연결 ▪ NI MAX 테스트 패널에서 AI를 계속 연속 샘플링하고 있고 Python으로 Sinewave 출력 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import numpy as np import math from ast import Break from nidaqmx.constants import ..
실습 구성 ▪ NI Data Acquisition Device : USB-6212 ▪ DAQmx Driver, numpy 실습 방법 ▪ NI DAQ 장비를 이용한 Analog Output Finite Sampling(HW Timing) 예제 제작 ▪ AO 1채널과 AI 1채널을 물리적으로 연결 ▪ NI MAX 테스트 패널에서 AI를 계속 연속 샘플링하고 있고 Python으로 Sinewave 출력 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import numpy as np import math from nidaqmx.constants import AcquisitionType, Edge samp..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver, matplotlib, numpy 실습 방법 ◾ NI DAQ 장비를 이용한 Analog Input Continuous Sampling(HW Timing) 예제 제작 ◾ AO 1채널과 AI 1채널을 물리적으로 연결 ◾ 출력은 NI MAX 테스트 패널에서 업데이트하고 입력받은 데이터를 Matplotlib로 디스플레이 * matplotlib쪽 스터디 되는대로 수정 필요할 수도 있음. 현재 실제 매Cycle마다 N채널 데이터처럼 그림 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import n..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver, matplotlib 실습 방법 ◾ NI DAQ 장비를 이용한 Analog Input Continuous Sampling(SW Timing) 예제 제작 ◾ AO 1채널과 AI 1채널을 물리적으로 연결 ◾ 출력은 NI MAX 테스트 패널에서 업데이트하고 입력받은 데이터를 Matplotlib로 디스플레이 * matplotlib쪽 스터디 되는대로 수정 필요할 수도 있음. 현재 실제 매Cycle마다 N채널 데이터처럼 그림 ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import nidaqmx import matplotl..
나머지 값 구하기 함수(Mod Function)numpy.mod(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 나누기 연산 후 나머지 값을 반환합니다. (연산자 '%'와 같은 역할) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는 ..
matplotlib.pyplot.subplotsmatplotlib.pyplot.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)▪Parameters ‣ [nrows, ncols] : 기본값 : 1(int), 하위 플롯 그리드의 행/열 개수 ‣ [sharex, sharey] : bool 또는 {'none', 'all', 'row', 'col'}, 기본 값 : False, x(sharex) 또는 y(sharey) 간의 속성 공유 제어축 ..
나머지 값 구하기 함수(Remainder Function) numpy.remainder(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 나누기 연산 후 나머지 값을 반환합니다. (연산자 '%'와 같은 역할) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 ..
식별자(Identifier) 식별자(Identifier)란 상수, 변수 또는 함수 등의 이름을 가르키며 다른 것과 구분지을 수 있는 것을 말합니다. 식별자는 A-Z로 시작하고 밑줄(_), 숫자(0~9)를 사용할 수 있으며 특수 문자(@, $, #, % 등)는 사용할 수 없습니다. 대소문자를 구별하기에 동일한 이름이어도 대소문자 입력에 유의해야합니다. 지정할 때에는 이름만 보아도 뜻을 바로 파악할 수 있도록 지정하는 것이 좋습니다. 따라서 이름을 지정하는 것 또한 코딩 스타일의 일부라고 보고 일반적으로 많이 표기하는 4가지 방법을 참고하여 표기하는 습관을 들이는 것이 좋아보이네요. 1. 카멜 표기법(Camel Case) 여러 단어를 연달아 사용할 때 각 단어의 첫 글자를 대문자로 적되 맨 앞에 오는 글자는..
키워드(Keyword)파이썬에서 이미 예약되어있는 문자열로서 다른 용도로 사용이 불가한 문자를 말합니다. 총 34개로 True, False, None을 제외한 대부분 문자들은 소문자로 작성되어집니다. 키워드는 변수, 클래스 또는 함수 등의 이름으로는 지정이 불가하니 반드시 알아두도록 합니다. 키워드 확인 코드import keywordprint(keyword.kwlist) 더보기['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'impor..
Matplotlib◾ Numpy 라이브러리를 활용한 플로팅 라이브러리(Numpy 참고 포스팅)◾ Numpy 또는 pandas 등의 데이터를 시각화 해주는 파이썬 라이브러리◾ 범용 GUI 툴킷을 사용하여 Application에 플롯을 포함하기 위한 객체 지향 API 제공 (Tkinter, wxPython, Qt, GTK) 설치(Installation)pip 이용시,pip install matplotlib conda를 사용한다면,conda install matplotlib 심플 예제(Example)◾ 배열 생성#Python에서 라이브러리를 호출하는 방법import matplotlib.pyplot as pltimport numpy as npx = np.linspace(0, 2 * np.pi, 200)y =..
몫 구하기 함수(Floor divide function)numpy.floor_divide(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력을 나눈 값보다 작거나 같은 정수 중 가장 큰 값을 반환합니다. (연산자 '//'와 같은 역할) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ..
프로그래밍 언어란 시스템을 구동시키기 위한 프로그램을 작성하는 언어를 말하며 고급 언어일수록 사람(사용자)이 사용하는 언어에 가깝다고 할 수 있습니다. PC는 모든 명령을 0과 1으로만 이해하기에 인간에게 친숙한 프로그래밍 언어(코드)를 기계가 이해할 수 있는 기계어(0과 1로 구성된 Binary 코드)로 변경하는 과정이 필요하게 되는데요. 여기서 컴파일러와 인터프리터의 개념을 알아야합니다. 하나씩 살펴보겠습니다. 컴파일러(Compiler)컴파일러는 명령어 번역 프로그램입니다. 소스 코드 혹은 원시 코드를 Object 코드로 옮겨주는 역할을 하죠. 쉽게 설명하면 여기서 소스 코드는 사람이 작성한 코드를 말하며 Object 코드는 기계어(PC가 이해할 수 있는 언어)라고 볼 수 있습니다. 실제 우리가 사..
나누기 함수(True divide function)numpy.true_divide(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 나누기 기능 수행합니다 (연산자 '/'와 같은 기능) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로..
실습 구성 ◾ NI Data Acquisition Device : USB-6212 ◾ DAQmx Driver, numpy 실습 방법 ◾ NI DAQ 장비르 이용한 Analog Input Finite Sampling(HW Timing) 예제 ◾ AO 1채널과 AI 1채널을 물리적으로 연결 ◾ 출력은 NI MAX 테스트 패널에서 업데이트하고 입력은 명령 프롬프트 창에서 데이터 확인 (1st Video) ◾ 출력은 MAX에서 Sine 웨이브를 출력하고 입력받은 데이터를 Matplotlib로 디스플레이(2nd Video) ◾ TDMS로 파일 저장(2nd Video) ''' Copyleft © MoonNote 작성자 : MoonNote 블로그 주소 : MoonNote.tistory.com ''' import Py..
나누기 함수(Divide Function)numpy.divide(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 나누기 기능 수행합니다. (연산자 '/'와 같은 기능) ▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는 부..
곱하기 함수(Multiply Function)numpy.multiply(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 곱하기 기능 수행합니다 (연산자 '*'와 같은 기능)▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는..
빼기 함수 (Subtract Function)numpy.subtract(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = 입력 값들끼리 빼기 기능 수행합니다 (연산자 '-'와 같은 기능)▪Parameters ‣ x1, x2 : 추가할 배열, x1.shape != x2.shape의 경우 공통 shape(출력 shape가 됨)로 브로드캐스트할 수 있어야합니다. ‣ out : 출력 타입 설정(선택 사항), ndarray, None 또는 ndarray와 None의 튜플 ‣ where : 피연산자와 함께 브로드 캐스트되는 ..