How to index a specific column in a Cell

7 Ansichten (letzte 30 Tage)
Lutz
Lutz am 8 Jan. 2023
Kommentiert: Lutz am 9 Jan. 2023
Hey guys,
I have a cell wich contains different parts of a audiosignal. In every part of the cell is a column with the timestamps and a data column.
I want to write .wav files out of them and only need the data column. I tried alot of things but at this point im super confused and think that i can`t see the forest because of the trees anymore.
Thats how i created the cell:
data_store{ci} = [xx(:) yy(:)]; % 2 columns : time / data
thats my loop to write it, but with the time column:
folder = 'C:\XXX\Soundanalyse\Spectro_Analysis\Tones\Single_Tones\'
for i = 1:length(struct)
file = fullfile(folder, sprintf('JD(%d).wav', i));
audiowrite(file, struct(i).tones, Fs);
end
I thought also about putting it with cell2mat into variables to go from there but for me it looks a bit weird to have the extra step inside...
Thats how the cell looks from the inside:
Thanks guys!

Akzeptierte Antwort

dpb
dpb am 8 Jan. 2023
Dereference the cell, then index into the resulting array...
c=[{[[0:3].' rand(4,1)]} {[10+[0:3].' rand(4,1)]}]
c = 1×2 cell array
{4×2 double} {4×2 double}
c{2}(:,1) % time of second cell
ans = 4×1
10 11 12 13
c{2}(:,2) % and the data
ans = 4×1
0.1808 0.5277 0.1604 0.0784
  1 Kommentar
Lutz
Lutz am 9 Jan. 2023
Thanks for showing me the obvious, I really appreciate it :D !!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Audio I/O and Waveform Generation finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by