Octave Atelier

코드와 해설을 함께 읽는 학습 문서

Code Detail

clamp

Core Octave 중심의 Octave 학습 예제

mylib/inst/clamp.m

목록으로

코드를 복사해 Octave에서 바로 실행할 수 있습니다.

카테고리

mylib Utilities

library

코드 길이

30

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function out = clamp(x, minVal, maxVal)

전체 코드

30 lines

function out = clamp(x, minVal, maxVal)
    % clamp - 주어진 값을 지정된 범위 내로 제한하는 함수
    %
    % 입력:
    %   x        : 숫자 또는 배열. 범위 내로 제한할 값.
    %   minVal   : 최소 값 (기본값: 0).
    %   maxVal   : 최대 값 (기본값: 1).
    %
    % 출력:
    %   out      : x의 값이 minVal과 maxVal 사이로 제한된 값. 
    %             x가 최소값보다 작으면 minVal, 최대값보다 크면 maxVal로 반환됨.
    %
    % 예제:
    %   clamp(5, 0, 10)      % 결과: 5 (0과 10 사이에 이미 있으므로 변화 없음)
    %   clamp(-3, 0, 10)     % 결과: 0 (최소값인 0으로 제한됨)
    %   clamp(15, 0, 10)     % 결과: 10 (최대값인 10으로 제한됨)
    %   clamp([1, 2, 3], 2, 3) % 결과: [2, 2, 3] (각 값이 2에서 3 사이로 제한됨)

    % 기본값 설정
    if nargin < 2
        minVal = 0;  % 기본 최소값은 0
    end
    if nargin < 3
        maxVal = 1;  % 기본 최대값은 1
    end
    
    % minVal과 maxVal 사이로 값을 제한
    out = max(minVal, min(x, maxVal));
end

코드 해설

목적

  • Core Octave 중심의 Octave 학습 예제

입력

  • 파라미터: x
  • 파라미터: minVal
  • 파라미터: maxVal

출력

  • 반환값: out

실행 흐름

  1. 입력
  2. 출력
  3. clamp(5, 0, 10) % 결과: 5 (0과 10 사이에 이미 있으므로 변화 없음)
  4. clamp(-3, 0, 10) % 결과: 0 (최소값인 0으로 제한됨)
  5. clamp(15, 0, 10) % 결과: 10 (최대값인 10으로 제한됨)

핵심 함수

  • max
  • min

실습 과제

  • 핵심 함수 max의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
  • "입력 -> 출력" 흐름을 함수 단위로 분리해 리팩터링해보세요.

같은 카테고리 코드

이전 코드 startup 다음 코드 decibell_overall