You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: PsychoacousticAnnoyance_More2010.m
    path of file: ./repos/SQAT/psychoacoustic_metrics/PsychoacousticAnnoyance_More2010
    
    the code of the file until where you have to start completion: function OUT = PsychoacousticAnnoyance_More2010(insig,fs,LoudnessField,time_skip,showPA,show)
% function OUT = PsychoacousticAnnoyance_More2010(insig,fs,LoudnessField,time_skip,showPA,show)
%
%   This function
    
function (not squared)
    OUT.wfr=wfr;     % OUTPUT: fluctuation strength and sharpness weighting function (not squared)
    OUT.ws=ws;       % OUTPUT: sharpness and loudness weighting function (not squared)
    
    %% (scalar) psychoacoustic annoyance - computed directly from percentile values
    
    % sharpness influence
    if S.S5 > 1.75
        ws = (S.S5-1.75)*(log10(L.N5+10))/4; % in the Fastl&zwicker book, ln is used but it is not clear if it is natural log or log10, but most of subsequent literature uses log10
    else
        ws = 0;
    end
    
    ws( isinf(ws) | isnan(ws) ) = 0;  % replace inf and NaN with zeros
    
    % influence of roughness and fluctuation strength
    wfr = ( 2.18/(L.N5^(0.4)) )*(0.4*FS.FS5 + 0.6*R.R5);
    
    wfr( isinf(wfr) | isnan(wfr) ) = 0;  % replace inf and NaN with zeros
    
    % Tonality influence
    wt = abs( ( 1-exp(-gamma_4*L.N5) )^2 * ( 1-exp(-gamma_5*K.K5) )^2 );
    
    wt( isinf(wt) | isnan(wt) ) = 0;  % replace inf and NaN with zeros
    
    % More's modified psychoacoustic annoyance
    PA_scalar = abs(L.N5*( 1 + sqrt( gamma_0 + (gamma_1*ws^2) + (gamma_2* wfr^2) + (gamma_3*wt) ) ));
    
    %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % Output struct for time-varying signals
    
    % main output results
    OUT.InstantaneousPA = PA;               % instantaneous Annoyance
    OUT.ScalarPA = PA_scalar;               % Annoyance calculated from the percentiles of each variable
    OUT.time = L.time;                      % time vector
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % Statistics from Time-varying PA
        
    [~,idx] = min( abs(OUT.time-time_skip) ); % find idx of time_skip on time vector
    
    OUT.PAmean = mean(PA(idx:end