この投稿は、マトリックスの再構築に関する以前の質問に続きます。
私が直面している追加の問題は、次の例で示されています。
depth = [0:1:20]';
data = rand(1,length(depth))';
d = [depth,data];
d = [d;d(1:20,:);d];
ここで、各列が特定の深さを表し、各行が時間を表すようにこのマトリックスを変更したいので、最終的には 3 行 (つまり、日) と 21 列 (つまり、各深さでの測定値) になります。ただし、特定の日の測定値の数が同じではないため、これを再形成することはできません。つまり、一部が欠落しています。これは次のように知られています。
dd = sortrows(d,1);
for i = 1:length(depth);
e(i) = length(dd(dd(:,1)==depth(i),:));
end
'e' から、深さの数は日によって異なることがわかります。毎日同じ深さの値を持つように、マトリックスに nan を挿入するにはどうすればよいですか? 最初に次の方法で一意の深さを見つけることができました。
unique(d(:,1)) これから、特定の日の深さ (一意から) が欠落している場合、深さを正しい位置に挿入し、データの列のそれぞれの場所に nan を挿入したいと思います。これはどのように達成できますか?