Create vector/matrix inside function
1 visualizzazione (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 Startup and Shutdown 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!