필터 지우기
필터 지우기

Why will findpeaks not work when filtering is applied?

조회 수: 1 (최근 30일)
Richard Reees
Richard Reees 2019년 4월 17일
편집: Richard Reees 2019년 4월 17일
Good evening everyone,
I have been running a flume experiements within a uniform water level sequence over a period of time, due to the constraints on the equipment the implimentation of the appplies series haves to be done in small increments i.e. water level change every 4 seconds instead of 1. My problem is that this has created very small local maxima, which has interferred with the overall global. What I have managed to do is extract the majority peak pore pressures and the time this occurs using the findpeak levels (crest of the slope) to a cell array, however the local maxima have also been detected and extracted. So, to eliminate this I applied the filter (1-D digital) to the matrix and comparing the graphs of before and after, it appears that the data has been sufficently smoothened to remove the majority of the ammolous results. However, when I run the same code to extract the data it says:
"Unable to perform assignment because brace indexing is not supported for variables of this type."
I just simply do not understand why as as far as I can tell nothing has changed, but it clearly has.Attached is example data, time first column, sensors the remaining.
Could you please help?
A=Example; % Data unfiltered -Works
[~, y]=size(A);
for i=1:y
[a{i},m{i}]=findpeaks(A(:,i));
data{i}(:,1) = flume_a(m{i});
data{i}(:,2) = a{i}(:);1
end
%% This section applied filter - Doesn't work
windowSize = 6;
b = (1/windowSize)*ones(1,windowSize);
a = 1;
C= Example;
[~, y]=size(C);
A = filter(b,a,C);
for i=1:y
[a{i},m{i}]=findpeaks(A(:,i));
data{i}(:,1) = flume_a(m{i});
data{i}(:,2) = a{i}(:);1;
end

답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by