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: spm_csd_demo.m
    path of file: ./repos/spm12/toolbox/Neural_Models
    
    the code of the file until where you have to start completion: function spm_csd_demo
% Demo routine for inverting local field potential models using
% cross-spectral density summaries of steady-state dynamics
%__________________________________________________________________________
% 
% This demo illustrates the inversion of neural-mass models (Moran et al
% 2005) of steady state-responses summarised in terms of the cross-spectral
% density. These data features are extracted using a vector
% auto-regression model and transformed into frequency space for subsequent
% inversion using a biophysical neural-mass model that is parameterised in
% terms of coupling and time constants.
%
% One can generate exemplar data by integrating the neural-mass model or by
% generating data directly from the cross-spectral DCM. In this demo we 
% use the former. DCM inversion using the standard nonlinear system 
% identification scheme spm_nlsi_N (a EM-like variational scheme under the 
% Laplace assumption).
% 
% NeuroImage. 2007 Sep 1;37(3):706-20.
% A neural mass model of spectral responses in electrophysiology.Moran RJ,
% Kiebel SJ, Stephan KE, Reilly RB, Daunizeau J, Friston KJ. 
%
% Abstract:
% We present a neural mass model of steady-state membrane potentials
% measured with local field potentials or electroencephalography in the
% frequency domain. This model is an extended version of previous dynamic
% causal models for investigating event-related potentials in the
% time-domain. In this paper, we augment the previous formulation with
% parameters that mediate spike-rate adaptation and recurrent intrinsic
% inhibitory connections. We then use linear systems analysis to show how
% the model's spectral response changes with its neurophysiological
% parameters. We demonstrate that much of the interesting behaviour depends
% on the non-linearity which couples mean membrane potential to mean
% spiking rate. This non-linearity is analogous, at the population level,
% to the firing rate-input curves often used to characterize single-cell
% responses. This function depends on the model's gain and adaptation
% currents which, neurobiologically, are influenced by the activity of
% modulatory neurotransmitters. The key contribution of this paper is to
% show how neuromodulatory effects can be modelled by adding adaptation
% currents to a simple phenomenological model of EEG. Critically, we show
% that these effects are expressed in a systematic way in the spectral
% density of EEG recordings. Inversion of the model, given such
% non-invasive recordings, should allow one to quantify pharmacologically
% induced changes in adaptation currents. In short, this work establishes a
% forward or generative model of electrophysiological recordings for
% psychopharmacological studies.
% 
%__________________________________________________________________________
% Copyright (C) 2008 Wellcome Trust Centre for Neuroimaging
 
% Karl Friston
% $Id: spm_csd_demo.m 6236 2014-10-12 10:03:44Z karl $
 
clear global
 
% specify model

    
function spm_csd_demo
% Demo routine for inverting local field potential models using
% cross-spectral density summaries of steady-state dynamics
%__________________________________________________________________________
% 
% This demo illustrates the inversion of neural-mass models (Moran et al
% 2005) of steady state-responses summarised in terms of the cross-spectral
% density. These data features are extracted using a vector
% auto-regression model and transformed into frequency space for subsequent
% inversion using a biophysical neural-mass model that is parameterised in
% terms of coupling and time constants.
%
% One can generate exemplar data by integrating the neural-mass model or by
% generating data directly from the cross-spectral DCM. In this demo we 
% use the former. DCM inversion using the standard nonlinear system 
% identification scheme spm_nlsi_N (a EM-like variational scheme under the 
% Laplace assumption).
% 
% NeuroImage. 2007 Sep 1;37(3):706-20.
% A neural mass model of spectral responses in electrophysiology.Moran RJ,
% Kiebel SJ, Stephan KE, Reilly RB, Daunizeau J, Friston KJ. 
%
% Abstract:
% We present a neural mass model of steady-state membrane potentials
% measured with local field potentials or electroencephalography in the
% frequency domain. This model is an extended version of previous dynamic
% causal models for investigating event-related potentials in the
% time-domain. In this paper, we augment the previous formulation with
% parameters that mediate spike-rate adaptation and recurrent intrinsic
% inhibitory connections. We then use linear systems analysis to show how
% the model's spectral response changes with its neurophysiological
% parameters. We demonstrate that much of the interesting behaviour depends
% on the non-linearity which couples mean membrane potential to mean
% spiking rate. This non-linearity is analogous, at the population level,
% to the firing rate-input curves often used to characterize single-cell
% responses. This function depends on the model's gain and adaptation
% currents which, neurobiologically, are influenced by the activity of
% modulatory neurotransmitters. The key contribution of this paper is to
% show how neuromodulatory effects can be modelled by adding adaptation
% currents to a simple phenomenological model of EEG. Critically, we show
% that these effects are expressed in a systematic way in the spectral
% density of EEG recordings. Inversion of the model, given such
% non-invasive recordings, should allow one to quantify pharmacologically
% induced changes in adaptation currents. In short, this work establishes a
% forward or generative model of electrophysiological recordings for
% psychopharmacological studies.
% 
%__________________________________________________________________________
% Copyright (C) 2008 Wellcome Trust Centre for Neuroimaging
 
% Karl Friston
% $Id: spm_csd_demo.m 6236 2014-10-12 10:03:44Z karl $
 
clear global
 
% specify model
%==========================================================================
 
% number of sources and LFP channels (usually the same)
%--------------------------------------------------------------------------
n     = 2; % number of sources
nc    = 2; % number of channels
 
% specify network (connections)
%--------------------------------------------------------------------------
A{1}  = tril(ones(n,n),-1);                % a forward connection
A{2}  = triu(ones(n,n),+1);                % a backward connection
A{3}  = sparse(n,n);                       % lateral connections
B     = {};                                % trial-specific modulation
C     = speye(n,n);                        % sources receiving innovations
 
% get priors
%--------------------------------------------------------------------------
[pE,pC] = spm_lfp_priors(A,B,C);           % neuronal priors
[pE,pC] = spm_ssr_priors(pE,pC);           % spectral priors
[pE,pC] = spm_L_priors(n,pE,pC);           % spatial  priors

% Suppress channel noise
%--------------------------------------------------------------------------
pE.b  = pE.b - 16;
pE.c  = pE.c - 16;
 
% create LFP model
%--------------------------------------------------------------------------
M.dipfit.type = 'LFP';

M.IS = 'spm_csd_mtf';
M.FS = 'spm_fs_csd';
M.g  = 'spm_gx_erp';
M.f  = 'spm_fx_lfp';
M.x  = sparse(n,13);
M.n  = n*13;
M.pE = pE;
M.pC = pC;
M.m  = n;
M.l  = nc;
M.Hz = (1:64)';
 
 
% simulate spectral data directly
%==========================================================================
P           = pE;
P.A{1}(2,1) = 1/2;                          % strong forward connections
CSD         = spm_csd_mtf(P,M);
CSD         = CSD{1};
 
% or generate data and use the sample CSD
%==========================================================================
 
% Integrate with pink noise process
%--------------------------------------------------------------------------
N    = 512;
U.dt = 8/1000;
U.u  = randn(N,M.m)/16;
U.u  = sqrt(spm_Q(1/16,N))*U.u;
LFP  = spm_int_L(P,M,U);
 
% and estimate spectral features under a MAR model
%--------------------------------------------------------------------------
try
    mar = spm_mar(LFP,8);
catch
    warndlg('please include spectral toolbax in Matlab path')
end