Extracting specific parts of an array

6 visualizzazioni (ultimi 30 giorni)
Joe Brague
Joe Brague il 5 Gen 2021
Commentato: Joe Brague il 8 Gen 2021
I have two sets of data in a 1x500000 array (data_time and data_velocity). I want to extract the values from both arrays, where the data_velocity is <0.1 and >-0.1 to a separate array. The goal is to extract the data where there is near zero velocity, but keep the time values.

Risposte (1)

Mischa Kim
Mischa Kim il 5 Gen 2021
Modificato: Mischa Kim il 5 Gen 2021
Assuming your variable is called data_velocity use something like:
extractdata = data_velocity(data_velocity<0.1 & data_velocity>-0.1)
  3 Commenti
Mischa Kim
Mischa Kim il 8 Gen 2021
There are a couple of ways to achieve this. E.g.
data = [1 2 3 0 5 6 7 8 9 10;...
0.1 0 0 -0.2 -0.1 0 0 0 0.05 -0.05];
[row,col] = find(data(:,:)<0.1 & data(:,:)>-0.1);
extractdata = data(:,col)
Joe Brague
Joe Brague il 8 Gen 2021
I think the last issue is that the time array is staying the same (~300 seconds), even though I am excluding velocities <-0.1 and >0.1. Is there a way to only extract the relevant data included in the parameters? to a single concatenated array?

Accedi per commentare.

Categorie

Scopri di più su Multidimensional Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by