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_Di2016.m
    path of file: ./repos/SQAT/psychoacoustic_metrics/PsychoacousticAnnoyance_Di2016
    
    the code of the file until where you have to start completion: function OUT = PsychoacousticAnnoyance_Di2016(insig,fs,LoudnessField,time_skip,showPA,show)
% function OUT = PsychoacousticAnnoyance_Di2016(insig,fs,LoudnessField,time_skip,showPA,show)
%
% This function calculates the Di et al's modified psychoacoustic annoyance 
%   model from an input acoustic signal
%
% The modified psychoacoustic annoyance model is according to: (page 201)
%  [1] Di et al., Improvement of Zwicker's psychoacoustic annoyance model 
%      aiming at tonal noises, Applied Acoustics 105 (2016) 164-170
%
% - This metric combines five psychoacoustic metrics to quantitatively 
%   describe annoyance:
%    1) Loudness, N (sone) - calculated hereafter following ISO 532-1:2017
%       type <help Loudness_ISO532_1> for more info
%
%    2) Sharpness, S (acum) - calculated hereafter following DIN 45692:2009
%       NOTE: uses DIN 45692 weighting function by default, please change code if
%       the use of a different withgitng function is desired).
%       type <help Sharpness_DIN45692_from_loudness>
%
%    3) Roughness, R (asper) - calculated hereafter following Daniel & Weber model
%       type <help Roughness_Daniel1997> for more info
%
%    4) Fluctuation strength, FS (vacil) - calculated hereafter following 
%       Osses et al. model type <help FluctuationStrength_Osses2016> for more info
%
%    4) Tonality, K (t.u.) - calculated hereafter following Aures' model
%       type <help Tonality_Aures1985> for more info
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% INPUT:
%   insig : array
%   acoustic signal [1,nTimeSteps], monophonic (Pa)
%
%   fs : integer
%   sampling frequency (Hz) - preferible 48 kHz or 44.1 kHz (default by the
%     authors and takes less time to compute)
%
%   time_skip : integer
%   skip start of the signal in <time_skip> seconds for statistics calculations
%
%   LoudnessField : integer
%   chose f
    
function used for sharpness calculation
                                                              L.time,...  % time vector of the loudness calculation
                                                           time_skip,...  % time_skip (second) for statistics calculation
                                                                  0);     % show sharpness results; true or false

OUT.S=S; % output sharpness results

%% Roughness (according to Daniel & Weber model)

R = Roughness_Daniel1997(insig,fs,...  % input signal and sampling freq.
                        time_skip,...  % time_skip, in seconds for statistical calculations
                               0);     % show results, 'false' (disable, default value) or 'true' (enable)

OUT.R=R; % output roughness results

%% Fluctuation strength (according to Osses et al. model)

% the output signal will be 2s smaller due to the windown length
FS = FluctuationStrength_Osses2016(insig,fs,...  % input signal and sampling freq.
                                  method_FS,...  % method, stationary analysis =0 - window size=length(insig), time_varying analysis - window size=2s
                                  time_skip,...  % time_skip, in seconds for statistical calculations
                                         0);     % show results, 'false' (disable, default value) or 'true' (enable)

OUT.FS=FS; % output fluctuation strength results

%% Tonality (according to Aures' model)

K = Tonality_Aures1985(insig,fs,...  % input signal and sampling freq.
                  LoudnessField,...  % field for loudness calculation; free field = 0; diffuse field = 1;
                              0,...  % time_skip, in seconds for level (stationary signals) and statistics (stationary and time-varying signals) calculations
                             0);...  % show results, 'false' (disable, default value) or 'true' (enable)
    
OUT.K=K; % output fluctuation strength results

%% for signal with length smaller than 2 s, only scalar psychoacoustic annoyance can be computed

if time_insig(end