Info

此问题已关闭。 请重新打开它进行编辑或回答。

In an assignment A(I) = B, the number of elements in B and I must be the same.

1 次查看(过去 30 天)
I'm not quite sure what is wrong with my code. I am trying to figure out a ranges from my y-axis to determine what to name certain peaks: For example, if the peaks lie within the range of 0.1-0.3, the are considered "twave", from 0.3-0.6 they are "rwave", and from 0.6 - 1 they are "wave".
Does anyone have any advice?
"equalize" is the file that I am reading
function [ pwave,rwave,twave ] = peakwaves( equalize )
peakwaves = findpeaks(equalize, 'MINPEAKHEIGHT',0.1); %configures all of the peaks
a = length(peakwaves);
counter1 = 0;
counter2 = 0;
counter3 = 0;
for i = 0.1:a;
if 0.3 < a && a < 0.6;
counter = counter + 1;
pwave(counter) = peaks(i);
elseif .1 < a && a < 2.9;
counter2 = counter2 + 1;
twave(counter2) = peaks(i);
else a < 1;
counter3 = counter3 + 1;
rwave(counter3) = peaks(i);
end
end

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-11-6
编辑:Azzi Abdelmalek 2013-11-6
When you wrote pwave(counter) = peaks(i); , peaks is not defined
Also a = length(peakwaves); is an integer, What [0.3, a] represent?
Try this
function [ pwave,rwave,twave ] = peakwaves( equalize )
peakwaves = findpeaks(equalize, 'MINPEAKHEIGHT',0.1);
pwave = peakwaves(0.3 < peakwaves & peakwaves < 0.6);
rwave = peakwaves(0.6 <= peakwaves & peakwaves < 1);
twave = peakwaves(1 <= peakwaves & peakwaves < 2.9);
  12 个评论
Chace
Chace 2013-11-6
meaning, I can load all peaks in the file from 0.1 to 1
consider "rwaves" = 0.6 to 1
and consider "twaves" to be 0.3 to 1 false if rwaves
and consider "pwaves" to be 0.1 to 1 false if twaves
so they continue to cancel out the previous condition as the scale increases

此问题已关闭。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by