Function that outputs a varying number of variables depending on input --> N inputs = N output variables

조회 수: 16 (최근 30일)
I have read that dynamic variables are generally bad practice and can be avoided using other methods. However, I was curious about a potential use case. I would like to make a function that takes in N inputs that correspond to the locations and filenames of several datasets and then the function loads the data and saves it to a variable (N inputs = N ouput variables). Is there a good way to do this? To my understanding I would be unable to use alternate methods given that the data I am loading are mutlidimensional arrays of varying dimensions.
I considered padding each array to the same size with NaNs, but I am very hesistant to use this method. Does anyone have any recommendations?
I only want to do this to save myself time with either copying and pasting or typing out the code to load each file separately.
Would using a struct be possible, where each field corresponds to a dataset?

채택된 답변

Stephen23
Stephen23 2022년 10월 3일
이동: Matt J 2022년 10월 3일
"To my understanding I would be unable to use alternate methods given that the data I am loading are mutlidimensional arrays of varying dimensions."
Why does that stop you from using container arrays? That is precisely what container arrays are for !
"Is there a good way to do this?"
There are certainly better ways of doing this, some obvious approaches to try would be:
  • a non-scalar structure with fields e.g. LOCATIONS and FILENAMES.
  • one or two cell arrays, possibly in conjunction with VARARGIN and VARARGOUT.
See also:

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by