Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Need to conduct analysis across four .mat files at once - how do I load multiple .mat files?

1 Ansicht (letzte 30 Tage)
I am trying to create a function that utilizes a struct containing four different sets of data so that I can analyze data across all four sets. What do I need to do? i.e. I have dataset1.mat, dataset2.mat, dataset3.mat, and dataset4.mat and I want to track data across all 4 of these.
  2 Kommentare
Stephen23
Stephen23 am 16 Aug. 2020
Bearbeitet: Stephen23 am 16 Aug. 2020
Follow the examples in the documentation:
It is more reliable to load into an output variable (which is a scalar structure), e.g.:
S = load(...);
Bin John
Bin John am 16 Aug. 2020
Hi, thanks for your response!
This is the function I have built, but when I run LoadFiles in my command window, I get the error, "Conversion to double from struct is not possible." What am I doing wrong?
function LoadFiles
filenames = {'sessionData1.mat','sessionData2.mat','sessionData3.mat', 'sessionData4.mat'};
s = [1 4];
for i = 1:numel(filenames)
s(i) = load(filenames{1,i});
end
end

Antworten (1)

Antonio Ciociola
Antonio Ciociola am 16 Aug. 2020
The problem seems to be related to this instruction:
s = [1 4];
But then you're loading the mat files in this way:
s(i) = load(filenames{1,i});
So,you're trying to put a structure into an array of double.
Try to change the code by removing the wrong line of code (s=[1 4])
  2 Kommentare
Bin John
Bin John am 16 Aug. 2020
When I do that, I get "Subscripted assignment between dissimilar structures."
Antonio Ciociola
Antonio Ciociola am 16 Aug. 2020
Bearbeitet: Antonio Ciociola am 16 Aug. 2020
This happens because you have different mat files. Try with this line of code:
s{i} = load(filenames{1,i});

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by