フィルターのクリア

How can I remove elements divisible by 3,4, and 5 in a vector?

8 ビュー (過去 30 日間)
Bridgit Nata
Bridgit Nata 2016 年 9 月 21 日
回答済み: karim karim 2020 年 1 月 10 日
I've created a vector x = 1:50 but I'm having trouble in how I can remove elements divisible by 3, 4, and 5, and then display it in a new vector. Thank you!

採用された回答

Sean de Wolski
Sean de Wolski 2016 年 9 月 21 日
x = 1:50;
x([3:3:50,4:4:50,5:5:50]) = []
  2 件のコメント
Bridgit Nata
Bridgit Nata 2016 年 9 月 21 日
thank you!!
James Tursa
James Tursa 2016 年 9 月 21 日
@Nathalie: Note that this solution deletes the elements whose "indexes" are divisible by 3, 4, 5. In your particular example, since the indexes match up with the values one-for-one, this gives the same solution as below.

サインインしてコメントする。

その他の回答 (3 件)

Andrei Bobrov
Andrei Bobrov 2016 年 9 月 21 日
x = (1:50)';
out = x(all(bsxfun(@rem,x,3:5),2));
  2 件のコメント
Bridgit Nata
Bridgit Nata 2016 年 9 月 21 日
thank you!!
James Tursa
James Tursa 2016 年 9 月 21 日
@Nathalie: Note that this solution deletes the elements whose "values" are divisible by 3, 4, 5. In your particular example, since the indexes match up with the values one-for-one, this gives the same solution as above.

サインインしてコメントする。


George
George 2016 年 9 月 21 日
You can do this using mod().

karim karim
karim karim 2020 年 1 月 10 日
This is a general solution :
x=input(' x = ');
i=1;
while i<= length(x)
if mod(x(i),3)==0 || mod(x(i),4)==0 || mod(x(i),5)==0
x(i)=[];
else i=i+1;
end
end
disp(x);

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by