How to delete Multiple of any Value in Array In MATLAB

Hello,I Have the following dataset, I want to delete the value which are multiple of any value present in array.
For example in this array 70 is present which is multiple of 35.

 Accepted Answer

y=load('multiple.mat').Value;
%all the different value present in the array
z=unique(y)
z = 1×6
35 40 45 50 55 70
for j=unique(y)
y( (rem(y,j)==0) & y~=j )=[];
end
y
y = 1×1410
35 35 35 35 35 35 35 40 45 50 55 35 35 35 35 35 35 35 35 35 35 40 45 50 55 35 35 35 35 35

5 Comments

@Dyuman Joshi Not like this, I want a algo in which if multiple of any value exist it will delete those values
Like in the following new array, I have the value 70, 80,90,100
Which are the multiple of 35,40,45 and 50. I want to remove the values which are multiple of any value present in array.
"Not like this, I want a algo in which if multiple of any value exist it will delete those values"
That is what I wrote. You only mentioned a single value and I wrote a code according to that.
Are 30, 40, 45 and 50 the only values whose multiples you want to delete? Or do you want to delete the multiple of smallest values?
@Dyuman Joshi I want to delete those values in array, which are multiple of any value present in array.
I have edited my answer, please take a look at it again.

Sign in to comment.

More Answers (0)

Products

Release

R2021b

Community Treasure Hunt

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

Start Hunting!