行ベクトルから不連続​な要素を3つ抽出する​にはどうすれば良いか

MATLABのチュートリアルをしていたところ追加の練習に列ベクトルから不連続な要素を抜き取るというものがありましたがやり方がわかりませんでした。 例えばa=[1;2;3;4;5;6;7]から一度に1,3,6を抽出するにはどのようにすれば良いのでしょうか。

 채택된 답변

Shunichi Kusano
Shunichi Kusano 2021년 2월 5일

7 개 추천

こんにちは。
まんまになってしまいますが、取り出したいインデックスをベクトル化すればいいです。
a=[1;2;3;4;5;6;7]; % 対象ベクトル
idx = [1 3 6];
a(idx) % 1 3 6が取り出せる
蛇足かもしれませんが、条件を何か指定してやって当てはまるインデックスだけを取り出すにはfind関数とかが使えます。
idx = find(mod(a,2) == 1); % 奇数であればtrueとなり、あてはまるインデックスが取得できる
a(idx) % 1 3 5 7
ご参考まで。

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 行列および配列에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!