Apply all steps in whole data set.

1 view (last 30 days)
Silpa K
Silpa K on 12 Oct 2019
Commented: Silpa K on 12 Oct 2019
clc
clear
ts = xlsread('ECGFiveDays_TRAIN.xlsx');
p=ts(1:1,2:end);
fa = movstd(p ,20,1);
secarray = movstd(fa,20,1) ;
k=maxk(secarray,10);
[~,ii] = min(abs(p(:) - k(:)'));
out = p(unique(ii));
subSequence{1} = p(1:30);
subSequence{2} = p(31:60);
subSequence{3} = p(61:90);
subSequence{4} = p(91:120);
subSequence{5} = p(121:end);
A = [];
for ii = 1:length(subSequence)
if any(ismember(subSequence{ii},out))
A{end+1} = subSequence{ii};
aa = ii;
disp(aa);
end
end
idx=1:length(aa);
bb= subSequence{2};
cc=subSequence{3};
q=[idx bb cc];
xlswrite('Bookecgtest2.xlsx',q,'A1:BI')
Here Iam using only one row(p=ts(1:1,2:end);).I need to apply all these steps (from 3rd step fa = movstd(p ,20,1);) in ts(the full dataset).I try these using for loop then so many errors are coming.How can I apply all these steps in my whole dataset and create an excel sheet.The dataset is attached here.
  1 Comment
Silpa K
Silpa K on 12 Oct 2019
if I use
ts = xlsread('ECGFiveDays_TRAIN.xlsx');
for i=1:23
p=ts(i,:)
fa = movstd(p,20,1);
secarray=movstd(fa,20,1)
k=maxk(secarray,10)
%figure(1)
%plot(p)
[~,ii] = min(abs(p(:) - k(:)'));
out = p(unique(ii));
%figure(2)
%plot(p)
%hold on;
%plot(cell2mat(arrayfun(@(x)find(abs(p-x)<eps),out, 'UniformOutput',false)), out,'*');
for iii=1:24
subSequence{1} = p(1:30);
subSequence{2} = p(31:60);
subSequence{3} = p(61:90);
subSequence{4} = p(91:120);
subSequence{5} = p(121:end);
end
A = [];
for ii = 1:length(subSequence)
if any(ismember(subSequence{ii},out))
A{end+1} = subSequence{ii};
aa = ii;
disp(aa);
end
end
end
Then how can I write all the subsequence into excel sheet .(that is write the subsequences contain in 1st row and next write the subsequences contain in the 2nd row in the 2nd row of excel).

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 12 Oct 2019
You need to make up a cell reference with the row and column you want the data to go into. For example
cellReference = sprintf('A%d', row);
xlswrite(fullFileName, data, sheetName, cellReference);
  4 Comments
Silpa K
Silpa K on 12 Oct 2019
Thank you sir,
This is getting.But Iam getting same value in every row.In the code I was given above there are different subsequences for every row.I need to write the different subsequences.What can I do,please help me.
Silpa K
Silpa K on 12 Oct 2019
Sorry.Its my mistake I got the excelsheet.Thank you.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!