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

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

采纳的回答

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

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!