I am a beginner in matlab and learn about the following question online and was having trouble solving it. I have a 1 x 20 matrix called current_load that I need to update periodically. This matrix resides in the main workspace of Matlab (as shown in the code bellow). 
current_loads = zeros(1, 20); 
for col=1:20
    current_loads(1,col)=10; %// Initially give all nodes a current value of 10    
end
Object = HandleObject(current_load);%To pass by reference
recursive_remove(Object, 0);
In order to pass current_load by reference, I have created the following class HandleObject.m
classdef HandleObject < handle
   properties
      Object=[];
   end
   methods
      function obj=HandleObject(receivedObject)
         obj.Object=receivedObject;
      end
   end
end
This matrix will be passed to a function call recursive_remove (shown bellow). 
function recursive_remove( current_load, val )
     current_load.object = new matrix;
     if(val<10)
        current_load.object(1,3) = 2+val; %Not the correct way of using current_load ??
     end
     recursive_remove( current_load, current_load.object (1,3) )
end
Intention here is to modify current_load variable in this function and later I can see these same changes from the main. But This code doesn't work since I don't know how to pass by reference. I need to pass by reference since I am calling this recursively without returning to the main to make it overwrite its variable at the caller. Please show with an example if possible. 
 
    