A が 100 個の 50x50 行列で構成されるセル配列であり、そのセル配列の各行列の各列から特定の要素 N をカウントしたい場合、matlab でどのように行うことができますか?
2 に答える
1
使用するcellfun
>> count = cellfun( @(x) sum( x == N, 1 ), A, 'UniformOutput', 0 );
count
は、1 行 50列のベクトルが 100 個あるセル配列ですcount{3}(5)
。N
A
于 2013-10-13T10:53:59.990 に答える
0
一般的なケースでは、@Shaiの答えが道です。ただし、この場合はすべての行列が同じサイズであるため、セル配列ではなく 3D 配列に格納することで時間を節約できます。つまりA
、サイズが 50x50x100 の配列を定義しA(:,:,1)
、最初の行列A(:,:,2)
が 2 番目、というように続きます。それで
count = squeeze(sum(A==N)).';
wherecount(3,5)
は@Shai の answer のように解釈されます。
于 2013-10-13T14:39:19.613 に答える