clamp
Core Octave 중심의 Octave 학습 예제
mylib/inst/clamp.m
함수 시그니처
function out = clamp(x, minVal, maxVal) 전체 코드
전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.
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
실행 흐름
- 입력
- 출력
- clamp(5, 0, 10) % 결과: 5 (0과 10 사이에 이미 있으므로 변화 없음)
- clamp(-3, 0, 10) % 결과: 0 (최소값인 0으로 제한됨)
- clamp(15, 0, 10) % 결과: 10 (최대값인 10으로 제한됨)
핵심 함수/주제
maxmin
실습 과제
- 핵심 함수 max의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
- "입력 -> 출력" 흐름을 함수 단위로 분리해 리팩터링해보세요.
학습 팁
같은 카테고리의 다른 코드
- decibell_overall
mylib/inst/decibell_overall.m - generate_impulse_force
mylib/inst/generate_impulse_force.m - generate_sinusoid
mylib/inst/generate_sinusoid.m - load_struct_txt
mylib/inst/load_struct_txt.m - make_axes
mylib/inst/make_axes.m - my_diff
mylib/inst/my_diff.m - my_mean
mylib/inst/my_mean.m - my_rms
mylib/inst/my_rms.m - my_std
mylib/inst/my_std.m - my_sum
mylib/inst/my_sum.m