MATLAB Answers

BdS
0

Getting access of an output variable from a function or script which is saved in a different folder.

Asked by BdS
on 5 Sep 2018
Latest activity Commented on by OCDER
on 5 Sep 2018
Hi everybody, In one folder (P:\MATLAB\SystematischesPM\Data) I have got a script named "DataDownload". It returns a cell 20x1 named "DataSet".
My question: I would like, from another folder (Q:\SystematischesPM\Quality), to create a function which loads some of the data from the cell "DataSet".
I suppose that I will have to run the script "DataDownload" first from the function in (Q:\Syste...) and then get access to the desired data in "DataSet"? Do you know an elegant way of doing that?

  2 Comments

"I have got a script named "DataDownload". It returns a cell 20x1 named "DataSet"."
Scripts do not have input or output arguments, so a script cannot return anything:
Do you have a script or a function? This makes a difference, as they can be called in different ways.
Sorry for the confusion. I have got a script. When I run it I get a cell 20x1

Sign in to comment.

1 Answer

Answer by OCDER
on 5 Sep 2018

Use path to define functions that you want to use, but are in different folders.
For your case,
addpath('P:\MATLAB\SystematischesPM\Data');
addpath('Q:\SystematischesPM\Quality')
In case you want to add subfolder too, use genpath
addpath(genpath('P:\MATLAB\SystematischesPM\Data'));
addpath(genpath('Q:\SystematischesPM\Quality'))
Now you can summon DataDownload from any working directory.

  1 Comment

Why not turn your script into a function?
function Out = DataDownload()
Out = cell(20, 1);
...
Then you can get your cell from any function like:
function Out = myFunc(varargin)
MyData = DataDownload; %Gets your 20x1 cell from DataDownload.m function file
...
Of course, DataDownload must be added to your matlab path, as shown in the answer above.

Sign in to comment.