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

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

 Akzeptierte Antwort

Shunichi Kusano
Shunichi Kusano am 5 Feb. 2021

7 Stimmen

こんにちは。
まんまになってしまいますが、取り出したいインデックスをベクトル化すればいいです。
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
ご参考まで。

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!