Importing and naming files in a loop

2 次查看(过去 30 天)
Friends :)
I want to import several files sequentially. In each step, I want the required data to be extracted and then stored in a variable. I have problem storing the data I know its a wrong way to write it, but to explain what I mean, here is how I would like them to load in matlab. Thank you
for i=1:65
load(['DATA_' num2str(i) '.mat'])
Test(i)_1L=(((cDA_1L_WS.DATA.*1000)-4)/0.2133.*3.6/1.608);
Test(i)_2L=(((cDA_2L_WS.DATA.*1000)-4)/0.2133.*3.6/1.608);
end
In other words, my output vectors would be like:
Test1_1L, Test1_2L, Test2_1L,Test2_2L, Test3_1L ,Test3_2L ...
  1 个评论
Stephen23
Stephen23 2018-9-25
As Fangjun Jiang wrote, magically changing variable names like that not recommended. Dynamically creating or accessing variable names is one way that beginners force themselves into writing slow, complex, buggy code that is hard to debug. Read this to know why:
You should use neat, simple, and very efficient indexing, exactly as Fangjun Jiang showed.

请先登录,再进行评论。

采纳的回答

Fangjun Jiang
Fangjun Jiang 2018-9-25
Without more details, the first thing to correct is the variable name
Test(i)_1L should be Test_1L(i)
  2 个评论
sarah Abdellahi
sarah Abdellahi 2018-9-25
Thank you for your response.
I think I am not clear enough. "1L" is measured in several tests. I want to extract all "1L" and store them based on their associated test number. If I am not wrong, what you suggested updates L not test number in each iteration.
Fangjun Jiang
Fangjun Jiang 2018-9-25
Naming your variables as Test1_1L, Test2_1L, Test3_1L, ... is a bad ideal. There are plenty of Q&As in this forum emphasizing that.
Instead, your data will be stored in the vector Test_1L. Your Test1_1L is in Test_1L(1), Test2_1L is in Test_1L(2), Test3_1L is in Test_1L(3), etc.

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品

Community Treasure Hunt

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

Start Hunting!

Translated by