Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

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

1 visualizzazione (ultimi 30 giorni)
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

Risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 6 Nov 2013
Modificato: Azzi Abdelmalek il 6 Nov 2013
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 Commenti
Chace
Chace il 6 Nov 2013
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

Questa domanda è chiusa.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by