How to access input variable in base workspace?
    1 view (last 30 days)
  
       Show older comments
    
Hi I want to write a function with one input parameter and no output parameters. How do I access the input parameter in its base worksapce in order to manipulate it?
1 Comment
  Paulo Silva
      
 on 11 Aug 2011
				Please provide the code so we can have a better idea of what your are doing.
Accepted Answer
  Fangjun Jiang
      
      
 on 11 Aug 2011
        You have to start with the base workspace. For example, you have par=1 in base workspace. Then you call your function Process(par).
Your function might look like:
function Process(Var)
VarName=inputname(1);
assignin('base',VarName,Var+rand);
However, this is not recommended because you are manipulate variables across boundary or scope. You can always do it this way, assume initially par=1 in base workspace
par=Process(par);
Where your Process() function looks like:
function out=Process(par)
out=par+rand;
7 Comments
  Fangjun Jiang
      
      
 on 12 Aug 2011
				@Stagleton, that could work. But you could also do as below if you define the output argument of your function. That is more safer and follow a good programming practice regarding variable scope.
r=1;
r=inc(r);
More Answers (0)
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

