How to load selected columns in a for loop?

I am trying to load a lot of data. I wrote a for loop to load the .mat files, but I only want certain columns from the files. The columns I need to load do not change between the data sets.
For example, how do I load columns 2, 5, 200, etc inside the loop?
for i= [1:5 7:156]
for ii = [6 157:244]
load(['LL_00' num2str(i) '.mat'])
load(['LL_0' num2str(ii) '.mat'])
end
end

1 Comment

simply load all the data then select which cols you want
col_selected = [2;5;200];
data_selected = data(:,col_selected);

Sign in to comment.

Answers (1)

Shivani
Shivani on 17 Apr 2024
Edited: Shivani on 17 Apr 2024
Hello @Joe,
Please note that in MATLAB .MAT files can contain multiple variables of various sizes, so loading specific columns would require knowing the variable names inside those .MAT files.
To load specific columns from variables within .MAT files, you would first load the file and then extract the columns you need from the loaded variables. I assuming that the variable from which you are looking to extract columns to be 'data’ in the code snippet below.
columns_to_extract = [2, 5, 200];
for i = [1:5, 7:156]
loaded_data_i = load(filename_i);
specific_columns_i = loaded_data_i.data(:, columns_to_extract);
end
I hope this helps!

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2020b

Asked:

Joe
on 15 Apr 2024

Edited:

on 17 Apr 2024

Community Treasure Hunt

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

Start Hunting!