How to remove numbers from a vector?

7 Ansichten (letzte 30 Tage)
rafe brooks
rafe brooks am 30 Dez. 2020
Kommentiert: rafe brooks am 5 Jan. 2021
I am using graphical data and looping round a set of data. So, how can I write an if statement to remove zeros from the start and end of the vector so that only the needed data is there, I dont want to remove all zeros though as the middle section of all the data sets has zeros which are needed?
The variable that the data sets loop through is called z_force

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 30 Dez. 2020
minidx = find(z_force, 1, 'first')
maxidx = find(z_force, 1, 'last')
z_force(minidx:maxidx)
  2 Kommentare
Image Analyst
Image Analyst am 30 Dez. 2020
minidx = find(z_force, 1, 'first')
maxidx = find(z_force, 1, 'last')
z_force = z_force(minidx:maxidx) % Extract and assign back to z_force, overwriting the original.
rafe brooks
rafe brooks am 5 Jan. 2021
Thanks for the help, thats great!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

William
William am 30 Dez. 2020
You could use something like:
while z_force(1)==0
z_force(1) = [];
end
while z_force(end)==0
z_force(end) = [];
end

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by