본문 바로가기

iNT4

Python, 2 의 보수 HEX 값으로 부터 int 변환하기, bitstring 모듈 사용 임베디드 프로그래밍을 하다 보면 레지스터 등의 설정을 2의 보수로 해야 하는 경우가 많이 있습니다. int 값을 2의 보수 헥사값으로 표현하거나 또는 2의 보수 헥사 값으로부터 int 값을 구하는 경우 저는 주로 Python bitstring 모듈을 사용하곤 합니다. 대부분의 파이썬 모듈이 그렇듯이 bitstring 모듈 역시도 pip를 통해 아래와 같이 설치할 수 있습니다. pip install bitstring 사용은 아래와 같이 bitstring 모듈을 import 를 하고~ from bitstring import Bits 헥사값을 넣어 줍니다. num = Bits(hex="FFD856") int 값을 구하기 위해서는 int 멤버 변수 값을 확인하면 되고 아래 예를 보면 -10154 임을 알 수 있.. 2019. 2. 14.
MATLAB Symbolic math 미적분, diff(), int() MATLAB math toolbox 를 이용한 미분은 diff() 함수를 통해 구할 수 있습니다. 다음 식에 대하여 diff() 함수를 이용하여 미분을 수행해 보죠. syms x f = x^4+3*x^2+x+2 f = x^4 + 3*x^2 + x + 2 diff(f, x) % f 값을 x 에 대하여 미분 ans = 4*x^3 + 6*x + 1 diff(f, x, 2) % f 값을 x 에 대하여 2번 미분 ans = 12*x^2 + 6 Symbolic 식에 대한 적분은 int() 함수를 통해 이루어 집니다. 정적분 뿐만이 아니라 부정 적분도 수행 합니다. int(f,x) % 부정 적분 ans = x^5/5 + x^3 + x^2/2 + 2*x int(f, x, 1, 5) % 1~5 구간에 대한 적분 ans .. 2011. 4. 5.
MATLAB 적분 int(), quad() MATLAB 을 이용하여 적분을 수행해 보자. MATLAB 을 이용하여 적분을 하는 방법은 크게 두 가지 정도로 구분 할 수 있을 것 같다. 첫 번째로는 수치적인 적분 방법이고 두 번째는 Symbolic math toolbox 를 이용한 수학적인 접근 방법이다. 수치적인 접근 방법이라 하면 사다리꼴 방법 과 같이 함수를 매우 작은 조각으로 나눠서 부분부분의 면적의 합을 구하는 방법이 될 것이다. 물론 이런 적분을 구하는 알고리즘을 짜서 적분을 할 수도 있겠지만 고맙게도 matlab 은 이런 함수를 제공 해 준다. quad() 함수를 이용하면 수치 적분이 가능하다. 본 함수는 수치 적분이므로 부정적분을 해 주지는 못한다. 따라서 다음 수식과 같이 구간이 정해진 식에 대해서만 적분 할 수 있다. 위 수식에 .. 2011. 3. 14.
[C++] template C++ 프로그래밍을 하다 보면 변수의 type 에 따라 함수를 여러 개 작성해야 되는 경우가 많이 있다. 다음과 같이 x3 을 계산을 하는 myfunc() 함수를 가정 해 보자. 위 식에서 x 라는 변수가 int, double 인 경우에 대해 함수를 작성 하면 아래와 같이 될 것이다. x 가 integer 인 경우 int myfunc(int x) { int t0; t0 = x*x*x; return t0; } x 가 double 인 경우 double myfunc(double x) { double t0; t0 = x*x*x; return t0; } 함수는 오버로딩이 되므로 위와 같이 두 개의 함수를 지정해 놓으면 x 가 int 인 경우나 double 인 경우는 함수가 정상적으로 call 이 되고 동작을 하게.. 2011. 3. 6.