質問: 行ベクトルから不連続な要素を3つ抽出するにはどうすれば良いか matlabのチュートリアルをしていたところ追加の練習に列ベクトルから不連続な要素を抜き取るというものがありましたがやり方がわかりませんでした。 例えばa=[1;2;3;4;5;6;7]から一度に1,3,6を抽出するにはどのようにすれば良いのでしょうか。
回答: こんにちは。 まんまになってしまいますが、取り出したいインデックスをベクトル化すればいいです。 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 ご参考まで。