データから0のデータの場所を検出する

1 次查看(过去 30 天)
Motoki Okumura
Motoki Okumura 2020-8-31
6回の試行(TN)のxyzの位置データ(DmN)をとりました.
8つのk変数(kVN)があります.
試行×変数×位置×データ数の並びになっています.
どこに「0」のデータがあるのかを「データ数 位置 変数 試行」のように並べて1つの表にまとめて出したいです.
TN=6;
DmN=3;
kVN=8;
for i = 1:TN
k_fn = sprintf('trial%04d.tsv', i+1);
k_data = dlmread(k_fn, '\t', 10);
for j=1:kVN
for k=1:DmN
D=k_data(:,(j-1)*DmN+k);
k_d(i,j,k,:)=D;
end
end
end

回答(1 个)

Shunichi Kusano
Shunichi Kusano 2020-9-1
こんにちは。
4次元行列のk_dでゼロが入っている位置を次元ごとに出力したいということでしょうか。その場合、find関数でいったんゼロ位置のインデックスを出して、それをind2sub関数で次元毎の位置に変換する、という流れでできるかと思います。
ind0 = find(k_d == 0);
[a,b,c,d] = ind2sub(size(k_d), ind0);

类别

Help CenterFile Exchange 中查找有关 データ型の変換 的更多信息

标签

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!