Error Using Accumarray "Requested array exceeds the maximum possible variable size"

2 ビュー (過去 30 日間)
I am trying to generate a histogram but I keep on getting this error
Error using accumarray
Requested array exceeds the maximum possible variable size.
Error in Analyze (line 170)
zm=accumarray([Dfr' Zfr'],1,[nn nn]);
My code is here
n=100;
for i=1:1
ZZ=Zf{i};
DD=Df{i};
nn=repelem(n,144);
Zf2=linspace(min(ZZ(:)),max(ZZ(:)),n);
Df2=linspace(min(DD(:)),max(DD(:)),n);
Zfr=interp1(Zf2,1:numel(Zf2),ZZ,'nearest');
Dfr=interp1(Df2,1:numel(Df2),DD,'nearest');
zm=accumarray([Dfr' Zfr'],1,[nn nn]);
figure, surf(zm);
hold on
end
A segment of Df and Zf are pictured above

採用された回答

Walter Roberson
Walter Roberson 2020 年 11 月 25 日
編集済み: Walter Roberson 2020 年 11 月 25 日
nn=repelem(n,144);
That is a vector of 144 copies of 100
[nn nn]
that puts two of those together, getting a 1 x 288 vector of 100's.
You are requesting that accumarray create an output that is 100^288 elements.
There are only roughly 3*10^80 particles in the observable universe.
  4 件のコメント
Andrew Stark
Andrew Stark 2020 年 11 月 26 日
That yields the error
Error using accumarray
Third input SZ must be a full row vector with one element for each column of SUBS.
Walter Roberson
Walter Roberson 2020 年 11 月 26 日
zm=accumarray([Dfr Zfr],1,[n n]);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeHistograms についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by