How do I create a new array that is a cropped version of another array?

2 vues (au cours des 30 derniers jours)
Aoife Monahan
Aoife Monahan le 4 Mai 2016
Commenté : CS Researcher le 4 Mai 2016
I am using a txt file to hold data on an ultrasound signal but I want it so that only a certain section of the data is placed as a different name. I want the user to pick the max and min time axis that holds a peak of interest and do analysis on the cropped signal which would involve moving the data to a different variable name. How do I go about doing this? Example: I have data that goes from to 10 micrometers but I only want the data that is between 4.7 and 5.2 micrometers for peak analysis.

Réponses (1)

CS Researcher
CS Researcher le 4 Mai 2016
Modifié(e) : CS Researcher le 4 Mai 2016
Let us say the vector which contains all the values is t. You can do this:
startLocation = find(t >= 4.7,1);
endLocation = find(t >= 5.2,1);
croppedVector = t(startLocation : endLocation);
This of course assumes that all the values in the vector t are sorted in ascending order. Hope this helps!
  2 commentaires
Aoife Monahan
Aoife Monahan le 4 Mai 2016
Thanks for answering. This is giving me the time values from the specified limits but not the corresponding amplitudes associated with the time values.
CS Researcher
CS Researcher le 4 Mai 2016
Do this:
croppedVector = originalVector(startLocation : endLocation);

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by