is there a way for a creation of variables for machine learning inside a loop from a dataset of waves
4 ビュー (過去 30 日間)
古いコメントを表示
i have this dataset of wavelengths, problem is they are flipped and as such whenever i load the data i run a secondary part to rotate and flip, though so far i only have a way to read it and not really make use of it inside an ai machine learning thing
clc; clear; close all;
load('-mat','sub-036_task-eyesclosed_eeg.set','data','group','subject')
data_plot=flip(rot90(data,1));
N=width(data_plot);
B=height(data_plot);
figure
%----------------------- all of this is just for plotting and seeing it in stackedplot
T = array2table(data_plot, 'VariableNames',"CH: "+(1:N));
s = stackedplot(T);
s.AxesProperties(1);
ax = findobj(s.NodeChildren, 'Type','Axes');
set(ax, 'YTick', []);
%--------------------------
xlim([-500 B+500])
grid on
set (zoom(gcf), 'Motion', 'horizontal', 'Enable', 'on');
%--------------------------
i was wondering if there is a way to make like a for loop so in each loop i get data_1 then data_2 data_3 etc etc etc or how could i use a machine learning or signal labeler app or ai or artificial neural network and deal with the issue that i need to rotateflip the data?
2 件のコメント
Stephen23
2024 年 12 月 8 日
編集済み: Stephen23
2024 年 12 月 8 日
"i was wondering if there is a way to make like a for loop so in each loop i get data_1 then data_2 data_3 etc etc etc "
The most important change is to always LOAD into an output variable:
S = load(..);
which you can then trivially loop over the fieldnames:
F = fieldnames(S);
for k = 1:numel(F)
A = S.(F{k});
.. do whatever with A
end
See also:
回答 (1 件)
Walter Roberson
2024 年 11 月 28 日
data_names = who('-file', 'sub-036_task-eyesclosed_eeg.set', '-regexp', '^data_\d+$');
for DNI = 1:length(data_names)
thisvar = data_names{DNI};
DS = load('-mat','sub-036_task-eyesclosed_eeg.set', thisvar);
data = DS.(thisvar);
%stuff
end
6 件のコメント
Walter Roberson
2024 年 12 月 7 日
x = [1 2 3 4];
y = [100 200 300 400];
data = [x; y];
data
flip(data)
data.'
flip(data.')
rot90(data,1)
flip(rot90(data,1))
so data.' gives the same result as flip(rot90(data,1)).
Stephen23
2024 年 12 月 8 日
Note that LOAD accepts a regular expression directly:
data = load('sub-036_task-eyesclosed_eeg.set', '-regexp','^data_\d+$');
参考
カテゴリ
Help Center および File Exchange で EEG/MEG/ECoG についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!