Эта простая функция Matlab ограничивает значение заданными верхним и нижним пределами. Вы можете предоставить скаляр или массив значений для ограничения вместе с двухэлементным вектором, задающим нижнюю и верхнюю границы.
clamp_function.m
function y = clamp(x, limits)
%CLAMP Ограничить значение заданными пределами
% y = CLAMP(x, limits) ограничивает вход x так, что результат y
% находится между limits(1) (нижняя граница) и limits(2) (верхняя граница).
%
% Входы:
% x - скаляр или массив числовых значений для ограничения
% limits - 2-элементный вектор [нижний верхний], задающий диапазон ограничения
%
% Выход:
% y - ограниченные значения, того же размера, что и x
% Проверка пределов
if numel(limits) ~= 2
error('Limits must be a 2-element vector [lower upper].');
end
lower = limits(1);
upper = limits(2);
if lower > upper
error('Lower limit must not exceed upper limit.');
end
% Выполнение ограничения
y = min(max(x, lower), upper);
end
Check out similar posts by category:
Matlab/Simulink
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow