MATLAB: What is the best way to organize parameters in a flexible way

cell arraydatastructvariable

Interpretation of some parameters depend on other parameters, and I want to store a meaningful name if possible. As an example:
type_of_function = 'linear' or 'sinusoid' if linear: a and b should be the parameters if sinusoid: amplitude, phase, frequency should be the parameters.
So how to organize my parameters? In a structure? Or cell array? And how?

Best Answer

  • Cell arrays are complicated and confusing. I think a structure or structure array is a lot simpler, intuitive, and more straightforward if you have a mixture of related data of different types. It's a good choice to hold a variety of data.
    If all your data have the same number of elements, though they may be of different types, then a table would be good and may have some advantages over a structure for doing certain types of bulk operations.
    If you want certain functions to be associated with your data, then you can build a class, but if all you have is just data and just need a way to store them, then you wouldn't need a class.