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: CommandStruct.m
    path of file: ./repos/hebi-matlab-examples/include/hebi
    
    the code of the file until where you have to start completion: function struct = CommandStruct()
    % CommandStruct is used to send commands to groups of modules.
    %
    %   The struct created by this function is used to command positions,
    %   velocities, and efforts to a group of modules. You can command any
    %   combination of positions, velocities, and efforts simultaneously.
    %   The details on how simultaneous commands get combined on the module
    %   will depend on the gains and control parameters on the module.
    %   These gains can be set using a GainStruct and HebiGroup.send().
    %
    %   Setting the empty matrix [] disables control for all modules for 
    %   that command.  When you initialize a new CommandStruct the fields 
    %   for position, velocity, and effort are all empty by default.
    % 
    %   Setting any individual command to NaN will disable the controller
    %   on that specific module for that command.
    %
    %   Note that commands sent to a module will only be active for as long
    %   as the commandLifetime, or until a new command is sent, whichever
    %   comes first.
    %
    %   
    
function is used to command positions,
    %   velocities, and efforts to a group of modules. You can command any
    %   combination of positions, velocities, and efforts simultaneously.
    %   The details on how simultaneous commands get combined on the module
    %   will depend on the gains and control parameters on the module.
    %   These gains can be set using a GainStruct and HebiGroup.send().
    %
    %   Setting the empty matrix [] disables control for all modules for 
    %   that command.  When you initialize a new CommandStruct the fields 
    %   for position, velocity, and effort are all empty by default.
    % 
    %   Setting any individual command to NaN will disable the controller
    %   on that specific module for that command.
    %
    %   Note that commands sent to a module will only be active for as long
    %   as the commandLifetime, or until a new command is sent, whichever
    %   comes first.
    %
    %   A CommandStruct only has to be initialized once, and the fields can
    %   be overwritten and reused multiple times in a loop.  When setting
    %   in a loop it is important to limit the loop rate using either a
    %   pause or a feedback request, see examples below.
    %
    %   Examples:
    %       % Send zero-effort commmands to a group of 3 modules
    %       cmd = CommandStruct();
    %       tic;
    %       while toc < 5
    %           cmd.effort = [0 0 0];
    %           group.send