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!