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: Link.m
    path of file: ./repos/Robotics-Toolbox/rvctools/release10.3.1/robot
    
    the code of the file until where you have to start completion: %LinkRobot manipulator Link class
%
% A Link object holds all information related to a robot joint and link such as
% kinematics parameters, rigid-body inertial parameters, motor and
% transmission parameters.
%
% Constructors::
%  Link           general constructor
%  Prismatic      construct a prismatic joint+link using standard DH
%  PrismaticMDH   construct a prismatic joint
    
function  tau = friction(l, qd)
            %Link.friction Joint friction force
            %
            % F = L.friction(QD) is the joint friction force/torque (1xN) for joint
            % velocity QD (1xN). The friction model includes:
            % - Viscous friction which is a linear function of velocity.
            % - Coulomb friction which is proportional to sign(QD).
            %
            % Notes::
            % - The friction value should be added to the motor output torque, it has a
            %   negative value when QD>0. 
            % - The returned friction value is referred to the output of the gearbox.
            % - The friction parameters in the Link object are referred to the motor.
            % - Motor viscous friction is scaled up by G^2.
            % - Motor Coulomb friction is scaled up by G.
            % - The appropriate Coulomb friction value to use in the non-symmetric case
            %   depend