랩뷰에서 사칙연산하기 : 숫자 함수, 식 노드, 수식 노드

    반응형

    안녕하세요. 지지비입니다.

    이번 포스팅에서는 랩뷰에서 사칙연산을 하는 세 가지 방법에 대해서 알아보도록 하겠습니다. 각 방법은 결과는 같으나 코드를 어떻게 활용하느냐에 따라서 코드의 시인성이 좋아질 수도 있고, 나빠질 수도 있습니다.

    1. 숫자 함수 사용하기

    첫 번째 방법은 숫자 함수를 사용하는 방법입니다. 숫자 함수를 사용할 경우 원하는 수식이 한 눈에 들어오지 않을 수 있으니 복잡한 수식의 경우 반드시 주석을 추가해 놓는 것이 좋습니다. 

    숫자 함수를 이용한 사칙연산

     

    2. 식 노드(Expression Node) 사용하기

    두 번째 방법은 식 노드를 사용하는 방법입니다. 식 노드는 입력 변수가 한 개일 때에만 사용할 수 있습니다. 예를 들어 아래와 같이 입력 변수가 x 하나인 수식에만 사용할 수 있습니다.

    식 노드로 해당 식을 작성하면 아래와 같습니다.

    식 노드

    식 노드는 입력 변수를 기본적으로 x 라는 변수로 취급합니다. 입력은 x 이외의 변수는 받을 수 없기 때문에, 한 개의 변수에 대한 계산이 필요할 때에 편리하게 사용할 수 있습니다. 아래 비교를 보시면 훨씬 직관적인 것을 알 수 있습니다.

    식 노드 vs. 숫자 함수 이용

    저는 보통 second를 milisecond로 바꾸는 작업 (x1000)을 할 때 식 노드를 정말 많이 사용하는 편입니다. 수식 노드는 아래를 참고해 주세요.

     

    3. 수식 노드(Formula Node) 사용하기

    마지막 방법은 수식 노드를 사용하는 방법입니다. 수식 노드는 Structures 함수 팔레트에 있습니다.

    수식 노드

    수식 노드는 여러 개의 입력을 받아서 여러 개의 출력을 지정할 수 있습니다. C언어를 아시는 분이라면 if문, for문 등을 수식 노드 안에서 모두 사용할 수 있습니다. 

    수식 노드를 블록 다이어그램에 추가하고, 입력 또는 출력 변수를 추가하려면 수식 노드를 오른쪽 클릭하여 Add Input 또는 Add Output을 클릭해 줍니다.

    수식 노드의 변수 추가

    입력과 출력 변수의 위치는 수식 노드의 어느 곳이든 상관이 없지만 직관적으로 쉽게 알아보기 위해서 입력은 왼쪽, 출력은 오른쪽에 위치해 두는 편이 좋습니다. 아래는 입력과 출력을 하나씩 추가했습니다. 자세히 보시면 입력은 사각 박스가 얇고, 출력은 두꺼운 것을 알 수 있습니다.

    수식 노드의 입/출력

    입/출력의 변수를 지정하기 위해서는 입력 박스를 더블클릭하여 변수명을 적어주면 됩니다. 아래와 같이 입력 변수는 x, 출력 변수는 y로 지정해 두고 입력 변수에 3을 연결했습니다. 

    수식 노드의 입/출력 변수 설정

    수식 노드는 C언어 기반으로 코드를 작성해야 하기 때문에 코드가 끝나는 줄에는 항상 세미콜론(;)이 있어야 합니다. 또한, 입력 변수로 설정하지 않은 변수를 수식 노드 내에서 사용할 수도 있는데 이 경우 변수 선언을 수식 노드 내에서 해 주어야 합니다.

    3-1. 수식 노드 예제 1. y=ax^2 + x + 1

    예를 들어 아래와 같은 식에서

    변수 a 를 수식 노드 내에서 선언하고 싶다면, 아래와 같이 사용해야 합니다.

     

    3-2. 수식 노드 예제 2. y=ax^2 + bx + 1

    이번 예제에서는 모든 변수를 입력 변수로 뒀을 때의 수식 노드 사용 예제를 알아보겠습니다.

    이 식에 대한 변수(a, b, x)를 모두 입력 변수로 사용하면 아래와 같이 수식 노드를 사용할 수 있습니다.

    댓글

    Designed by JB FACTORY