Matlab : fonction de clampage avec limites supérieure et inférieure séparées

Cette simple fonction Matlab clampe une valeur pour qu’elle se situe dans les limites supérieure et inférieure spécifiées. Vous pouvez fournir un scalaire ou un tableau de valeurs à clamper, ainsi qu’un vecteur à deux éléments spécifiant les bornes inférieure et supérieure.

clamp_function.m
function y = clamp(x, limits)
%CLAMP Clampe une valeur pour qu'elle soit comprise dans les limites spécifiées
%   y = CLAMP(x, limits) clampe l'entrée x de sorte que le résultat y
%   soit compris entre limits(1) (borne inférieure) et limits(2) (borne supérieure).
%
%   Entrées :
%     x      - scalaire ou tableau de valeurs numériques à clamper
%     limits - vecteur à 2 éléments [inférieur supérieur] spécifiant la plage de clampage
%
%   Sortie :
%     y      - valeurs clampées, même taille que x

    % Valider les limites
    if numel(limits) ~= 2
        error('Les limites doivent être un vecteur à 2 éléments [inférieur supérieur].');
    end

    lower = limits(1);
    upper = limits(2);

    if lower > upper
        error('La limite inférieure ne doit pas dépasser la limite supérieure.');
    end

    % Effectuer le clampage
    y = min(max(x, lower), upper);
end

Check out similar posts by category: Matlab/Simulink