質問: 行列から条件を指定して値を取り出す 以下のような行列aの2行目の要素が0から1に変わった直後の1行目の値を抽出して別の行列として定義したいのですがうまく表現できません.。 次のような行列aがあるとします. a= 1 2 3 4 5 6 7 0 1 1 0 1 1 0 このとき,2行目の要素が2行目の要素が0から1に変わった直後の1行目の値を抜き出し,以下のような行列bとしたいです. b= 2 5 どのようにすればよいか教えていただけると幸いです。
回答: 以下のような方法はいかがでしょうか? a = [1 2 3 4 5 6 7; 0 1 1 0 1 1 0]; idx = [0 diff(a(2,:))] == 1; b = a(1,idx); 結果: >> b b = 2 5