次の問題に対してより堅牢な方法はありますか?
d = 1+(20-1).*rand(365,5);
bthD = 1:5;
I = repmat(bthD',73,1);
for i = 1:length(d);
q(i) = d(i,I(i));
end
ここで、私はマトリックスのどの列が必要かを示すインデックスです。qは、Iで指定された対応する列番号を持つ各行がある場合の結果です。qを見つける別の方法はありますか?
修正された質問:
私はデータを持っています:
d = 1+(20-1).*rand(365,5);
Iのインデックスに対応する各行の値を見つけたいと思います。
I = floor(1+(5-1).*rand(365,1));
これは、forループを使用して簡単に実現できます。
for i = 1:length(d);
q(i) = d(i,I(i));
end
ただし、別の方法、つまりループを含まない方法を見つけたいと思います。