Read data from matlab struct and merge
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello, please I have multiple .mat files in a folder. Each one is a matlab struct called T and each T contains contains 2 files, p and s. 1. I want to load all the .mat files into matlab workspace, extract and concatenate only the second columns of all p in each of the files into a single matrix called M. 2. Extract and concatenate or merge the second row of all the s of all the files into a matrix called G.
4 Commenti
Love Matlab
il 29 Giu 2020
Modificato: Love Matlab
il 29 Giu 2020
what do you get when you do : load('FILE.mat') ? when you load each .mat file are you getting a structure or just a N x M matrix?
Risposte (1)
Love Matlab
il 29 Giu 2020
Try this. I am still confused about what you exactly what to extract. The cells P, and S after the for loop should contain all P and S data.
%% Select Folder with .mat files
folder = uigetdir(pwd) ; % select folder with images
files = dir(fullfile(folder,'*.mat')); %create structure with folder data
S = cell(1,length(files)); %create empty storage cells
P = cell(1,length(files));
for i = 1:length(files)
name = files(i).name ; %filename
x = load(name); %load.mat file
P{1,i} = [x.p]; %save all p data
S{1,i} = [x.s]; %save all s data
end
allP = cell2mat(P); %change to matrix
M = allP(2:2:end); %extract every 2nd variable (second column)
allS = cell2mat(S); %change to matrix
G = allS(2,:); %extract only the second row
0 Commenti
Vedere anche
Categorie
Scopri di più su Data Type Identification in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!