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

조회 수: 1 (최근 30일)
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
Stephen23
Stephen23 2018년 9월 5일
"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.
BdS
BdS 2018년 9월 5일
Sorry for the confusion. I have got a script. When I run it I get a cell 20x1

댓글을 달려면 로그인하십시오.

답변 (1개)

OCDER
OCDER 2018년 9월 5일
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
OCDER
OCDER 2018년 9월 5일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Search Path에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by