Variables within other variables

5 visualizzazioni (ultimi 30 giorni)
Joe Bennet
Joe Bennet il 2 Apr 2021
Commentato: Stephen23 il 2 Apr 2021
I have variables L1 through L15 in my script and i am wondering if it would be possible to represent thesevariables as 'Ln' where n independant variable, in a way that allows the computer to read 'L4' for instance. This would mean instead of changing L1 at all locations in my script i can just change the one 'n' value and it does the rest for me?
  2 Commenti
Rik
Rik il 2 Apr 2021
@Sajid, please move your comment to the answer section.
@Joe, you could succeed using eval, but you should use the solution outlined by Sajid instead.
Stephen23
Stephen23 il 2 Apr 2021
Putting your data into one vector/array would be a much better use of MATLAB. Then you could use basic, powerful, efficient MATLAB approaches to writing your code, such as vectorization and indexing.
Your current approach, with lots of numbered variables, forces you into writing complex, inefficient code.

Accedi per commentare.

Risposta accettata

Image Analyst
Image Analyst il 2 Apr 2021
There are many options depending on what type of variables your L are. You could use a double array, a structure array, a table, or a cell array. For example, if the L are scalars, you could do
Ln = [L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, ;12, L13, L14, L15];
n = 9; % Whatever....
result = Ln(n)

Più risposte (1)

Sajid Afaque
Sajid Afaque il 2 Apr 2021
I am not clear with your question but with whatever i have understood is
you can have a single cellarray containg all the variables from L1 to L15.
you can access the cells using the required index .
try it might help
% example
L1 = 'dog';
L2 = 'cat';
L3 = 'fish';
% now storing these variables in a single cell array
Lgeneral{1} = L1;
Lgeneral{2} = L2;
Lgeneral{3} = L3;
%suppose you want to access now L2
accessed_L2 = Lgeneral{2} ;

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by