reduce values on a vector
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hey guys,
I have this code. This two signal have a lot of values(millions) I want to use 1000 values(reference_signal_samples and Surveillance_signal_samples) with a step of 3000 samples. Im not able to do it with this code, I dont know where the error is.
Thank you
nRef = numel(Reference_signal)/Fs;
nSurv = numel(Surveillance_signal)/Fs;
pulse_size = 1000;
for k = 1:nRef
Reference_signal_samples =Reference_signal((k-1)*pulse_size+(1:pulse_size));
for kk =1:nSurv
Surveillance_signal_samples=Surveillance_signal((kk-1)*pulse_size+(1:pulse_size));
end
end
0 commentaires
Réponse acceptée
Jan
le 5 Juil 2022
You are overwriting the variable Surveillance_signal_samples repeatedly:
for kk =1:nSurv
Surveillance_signal_samples=Surveillance_signal((kk-1)*pulse_size+(1:pulse_size));
end
You want to use 1000 values with a stepwidth of 3000?
Reference_signal_samples = Reference_signal(1:3000:3000*1000);
Surveillance_signal_samples = Surveillance_signal(1:3000:3000*1000);
No loops.
A hint: Use more compact names for variablkes to improve the readability.
2 commentaires
Miguel Albuquerque
le 5 Juil 2022
Modifié(e) : Miguel Albuquerque
le 5 Juil 2022
Jan
le 6 Juil 2022
Modifié(e) : Jan
le 6 Juil 2022
Maybe I've misunderstood your question.
disp(1:3000:3000)
1:3000:3000 is the scalar 1. If you really want to get parts of the array, these indices are strange: 1:1000, 4000:5000 : The 2nd has 1001 elements, the first only 1000. Maybe you mean:
for k = 1:4000:numel(Reference_signal)
signal = Reference_signal(k:k+999);
... here your calculations...
end
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!