Variables within other variables

5 次查看(过去 30 天)
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 个评论
Rik
Rik 2021-4-2
@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 2021-4-2
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.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2021-4-2
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)

更多回答(1 个)

Sajid Afaque
Sajid Afaque 2021-4-2
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} ;

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by