Moving vector values into a table using accumarray

조회 수: 1 (최근 30일)
Mary
Mary 2014년 3월 18일
댓글: Mary 2014년 3월 18일
Hello I have data from an experiment where each participant has one folder containing three files (baseline, trial 1, trial 2). Each file contains two vectors time and amplitude, (time is not linear)
I'm working on figuring out how to manipulate my data - but I keep getting stuck. (the lengths of the vectors are not consistent)
I need to figure out a way to get this information into a table like what is shown below:
PV Trial Type Time Amp
01 Baseline .015 .23
01 Baseline .201 .30
01 Baseline .450 5.67
01 Trial 1 .012 .34
02 Trial 2 .13 .45
Right now I have it parsing through each file, and using accumarray to place the information into vectors
PV(1).trial(0) = [.23,.3,...]
Below is a chunk of the code I have written (just the for loop for each file)
for f = 1: numberOfFiles
resFileName = fullfile(res_files,baseFileNames(f).name);
rawData = importdata(resFileName,' ');
timeData = rawData.data(:,1);
ampData = rawData.data(:,2);
PID = resFileName(3:5);
binnum = 1 + floor(timeData(:) / 42);
PV(k).trial = accumarray( binnum, ampData(:), [], @(V) {V});
binnum = 1 + floor( (timeData(:)-1) / 42);
end
any feedback would be greatly appreciated! Thank you!!!
  댓글 수: 2
Walter Roberson
Walter Roberson 2014년 3월 18일
Heh. You've been getting code from my postings, I see ;-)
Mary
Mary 2014년 3월 18일
Yes I have! I dont really have much of a background with coding - so much of what I work on is figuring out what I want to do in english, and then googling how I accomplish it in code
Thank you for having so many answers online!

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by