I got to see a lot of matlab code where the following types of initialization were used like param.L and so on ....why cant we just use L ?

1 view (last 30 days)
param.L = 3; % number of elements in each linear combination.
param.K = 50; % number of dictionary elements
param.numIteration = 50; % number of iteration to execute the K-SVD algorithm.
N = 1500; % number of signals to generate
n = 20; % dimension of each data
SNRdB = 20; % level of noise to be added
[param.TrueDictionary, D, x] = generateSyntheticDictionaryAndData(N, param.L, n, param.K, SNRdB);

Accepted Answer

Birdman
Birdman on 1 Nov 2017
In this context, param refers to a struct and L and K represents its fields. By this way, it is easier to maintain the variables. Fields can have different type of datas. For instance, you can define yourself as a struct, and your properties like height, weight, hair color, name, surname, ... as its fields.
  2 Comments
Stephen23
Stephen23 on 1 Nov 2017
Edited: Stephen23 on 1 Nov 2017
Moreover, using a struct is a really simple and neat way to hold lots of parameter values, and pass them to any functions as required: this is because a struct is convenient and simple to handle (just one variable), but allow clearly identifiable fieldnames for each parameter. You should use structs.

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!