MATLAB Answers

How to find the waveform average from multiple waveforms?

3 views (last 30 days)
Jefferson Noble Antony
Jefferson Noble Antony on 10 Sep 2020
Commented: Ameer Hamza on 10 Sep 2020
I have plotted a wavefrom using excel file(i have shown it below). I have 7 other similar graphs like this. I need to find the waveform average of the this 8 graphs. The length of these graphs also different.

  3 Comments

Ameer Hamza
Ameer Hamza on 10 Sep 2020
Are all the waveforms have an equal length? Are all present in a single excel file? Can you share the file?
Jefferson Noble Antony
Jefferson Noble Antony on 10 Sep 2020
No, they are not in same length and they are in separate excel files if plotted they'll give similar graph. Sry, Im not allowed to share the file.

Sign in to comment.

Answers (1)

Xavier
Xavier on 10 Sep 2020
Potentially something like this
data1 = randperm(randi([10 20]))'; %readmatrix('dataset1.csv');
data2 = randperm(randi([10 20]))'; %readmatrix('dataset2.csv');
data3 = randperm(randi([10 20]))'; %readmatrix('dataset3.csv');
data4 = randperm(randi([10 20]))'; %readmatrix('dataset4.csv');
data5 = randperm(randi([10 20]))'; %readmatrix('dataset5.csv');
data6 = randperm(randi([10 20]))'; %readmatrix('dataset6.csv');
data7 = randperm(randi([10 20]))'; %readmatrix('dataset7.csv');
max_num_datapoints = max([numel(data1),...
numel(data2),...
numel(data3),...
numel(data4),...
numel(data5),...
numel(data6),...
numel(data7)]);
alldata = zeros(max_num_datapoints, 7);
alldata(1:numel(data1), 1) = data1;
alldata(1:numel(data2), 2) = data2;
alldata(1:numel(data3), 3) = data3;
alldata(1:numel(data4), 4) = data4;
alldata(1:numel(data5), 5) = data5;
alldata(1:numel(data6), 6) = data6;
alldata(1:numel(data7), 7) = data7;
avgd = sum(alldata', "omitnan")' ./ (2-sum(isnan(alldata)')');

  0 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!