matrixから列ごとに要素を抽出する方法
이전 댓글 표시
行列からfor文などを用いて各行ごとに名前を付けてデータを抽出する方法を教えていただきたいです。
イメージとしてはn行目のデータ全てをD(n)などといった名前を付けてそこに格納するといった処理を行列全体に対して行いたいです。
답변 (1개)
eval 関数を使うことで実現できます。ただ、このヘルプページの「メモ」欄にもありますように、できれば避けたい方法でもあります。
代替案として、以下のように構造体のフィールドで分ける方法もありますが、いかがでしょうか?
% 対象となる配列
D = rand(10, 4);
% 行ごとに構造体のフィールドに分ける
s = struct();
for kk = 1:10
s.(compose("D%d", kk)) = D(kk, :);
end
% 結果を表示
disp(s)
카테고리
도움말 센터 및 File Exchange에서 構造体에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!