Matlab - лучший способ интерполировать тепловую карту рассеяния - PullRequest
0 голосов
/ 19 февраля 2019

Я интерполирую тепловую карту рассеяния в MATLAB для моих выборочных данных.Код ниже на случайных данных.Тем не менее, мои данные ясно показывают "четко определенные четкие квадраты", что делает их очень изменчивыми.Ищете лучший и улучшенный способ интерполяции по тепловой карте рассеяния или еще более новый способ создания тепловой карты рассеяния?

Вот мой код:

xd = randn(100000,1)';
yd = randn(100000,1)';

n = 100;
xi = linspace(min(xd(:)),max(xd(:)),n);
yi = linspace(min(yd(:)),max(yd(:)),n);

xr = interp1(xi,1:numel(xi),xd,'nearest')';
yr = interp1(yi,1:numel(yi),yd,'nearest')';

z = accumarray([xr yr], 1, [n n]);

figure;
imagesc(z)
 j = jet 
 j(1,:) = [ 1 1 1 ]; %
 colormap(j); 
 colorbar;

1 Ответ

0 голосов
/ 19 февраля 2019

Вы должны иметь возможность получить более плавную тепловую карту, используя pcolor вместо imagesc, а затем установив режим затенения на «интерполированный», вызвав команду shading interp.

...