Create vector/matrix inside function
    6 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Tejay Lovelock
 il 9 Mag 2016
  
    
    
    
    
    Commentato: Stefan Raab
      
 il 9 Mag 2016
            Hi All,
I have a simple function file.
If I put something like this inside the function file; A = [1 2 3 4];
It will display this in the command window;
A = 1 2 3 4
But it won't save A in the Workspace as a vector.
How can I create a vector inside a function file and have that vector saved to my Workspace?
Thanks!

0 Commenti
Risposta accettata
  Stephen23
      
      
 il 9 Mag 2016
        
      Modificato: Stephen23
      
      
 il 9 Mag 2016
  
      You return it as an output argument.
Like the MATLAB documentation clearly states, the best practice is to pass arguments:
So your function could be something like:
 function [ct,A] = critPT( ... )
 ...
 A = ...
 ct = ...
 ...
 end
and then call it:
[NewCT,newA] = critPT(...)
Note: the fact that you do not "see" the variable A in the base workspace is the whole point of functions: they should have independent workspaces, so that what happens inside any one function does not affect any other workspace. That is the point.
Più risposte (1)
  Stefan Raab
      
 il 9 Mag 2016
        Hello,
this is because functions have their own workspace. There is a good explanation in the MATLAB doc, please execute the following commands in the MATLAB Command Window to open the help browser:
- Information on workspaces in general:
web(fullfile(docroot, 'matlab/matlab_prog/base-and-function-workspaces.html'))
- Information on how to share data between workspaces:
web(fullfile(docroot, 'matlab/matlab_prog/share-data-between-workspaces.html'))
I hope this will help you.
Kind regards, Stefan
2 Commenti
Vedere anche
Categorie
				Scopri di più su Historical Contests in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


