Trimming data with for loop

5 visualizzazioni (ultimi 30 giorni)
Sydney Kehoe
Sydney Kehoe il 8 Giu 2021
Commentato: Star Strider il 8 Giu 2021
I am trying to write a code that will use a specific column of data to start filling a new array when m(iii)>1, however, it now only gives back the data in the new array when m(iii)>1 so i'm not sure how to fix it. I also want it to collect 720000 data points starting when that first m(iii)>1. Any help would be appreciated, thank you.
length = 720000;
m = acq2.data(:,4);
empty_array2 = zeros(size(length));
for iii = 1:length
if m(iii) > 1
empty_array2(iii) = acq2.data(iii);
end
if iii <= length
end
end
  1 Commento
Gatech AE
Gatech AE il 8 Giu 2021
Be careful naming variables after built-in functions. The "length" function returns the largest dimension of an input. Also, you have size(length) where length is defined as a scalar, so your empty_array2 variable is actually only 1 by 1 in size.

Accedi per commentare.

Risposta accettata

Star Strider
Star Strider il 8 Giu 2021
I am not certain what you want to do.
Try this —
acq2.data = randi([0 5], 10, 5) % Create Matrix
acq2 = struct with fields:
data: [10×5 double]
idx = acq2.data(:,4) > 1 % Select Rows
idx = 10×1 logical array
1 1 1 0 1 1 0 1 0 1
empty_array = acq2.data(idx,:) % Assign Selected Rows To 'empty_array'
empty_array = 7×5
3 2 3 2 2 2 5 2 3 0 0 4 2 4 3 3 3 4 5 4 4 2 3 4 5 0 2 5 4 2 3 0 1 5 5
This will create ‘empty_array’ with rows of ‘acq2.data’ with values in column 4 are greater than 1. It is probably easier (and more efficient) than the loop.
.
  6 Commenti
Sydney Kehoe
Sydney Kehoe il 8 Giu 2021
I just worked out a while loop which I think makes more sense but I am going to attempt to do another post since it is a very different format
Star Strider
Star Strider il 8 Giu 2021
Great!
Please supply as many details in your new post as you can. A sample of the data you want to process would be important, as well as an example of the result you want.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements 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