How to remove numbers from a vector?
6 views (last 30 days)
Show older comments
rafe brooks
on 30 Dec 2020
Commented: rafe brooks
on 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
0 Comments
Accepted Answer
Walter Roberson
on 30 Dec 2020
minidx = find(z_force, 1, 'first')
maxidx = find(z_force, 1, 'last')
z_force(minidx:maxidx)
2 Comments
Image Analyst
on 30 Dec 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.
More Answers (1)
William
on 30 Dec 2020
You could use something like:
while z_force(1)==0
z_force(1) = [];
end
while z_force(end)==0
z_force(end) = [];
end
0 Comments
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!