Как сделать нормированный график распределения частот для 2D матриц? - PullRequest
0 голосов
/ 25 мая 2018

У меня есть две матрицы 80 * 80.Я хотел бы построить график нормализованной частоты.Я попытался нормализовать сетку 80 * 80 с помощью следующего кода:

A = per_monsoon_postmon; % (A is my 80*80 matrix)
A = rand (80,80);
minA = repmat(min(A), [size(A, 1), 1]);
normA = max(A) - min(A);
normA = repmat(normA, [length(normA) 1]);

normalizedA = (A - minA)./normA;

Но этот код не дал мне желаемого результата, поскольку сетки с значениями nan также содержат число.Например,ранее сетка 1 * 1 была nan, теперь она имеет значение 0,8340.Не могли бы вы помочь мне, как нормализовать 2D матрицу, а затем построить график распределения частоты в MATLAB?Есть ли способ напрямую построить график нормированного распределения частот?

1 Ответ

0 голосов
/ 25 мая 2018

Если у вас есть значения nan в вашем векторе, у вас могут быть проблемы.Сначала я бы заменил nans (например, на нули).

Нормализация между 0 и единицей работает следующим образом:

 a=rand(80,80); %generates random 80x80 array
a=a-min(min(a)); %shifts the values from 0 to n, min(min() ) because it is 2x2
a=a./max(max(a));% shifts to 0 to 1

Если вы хотите, чтобы эти данные были построены в 3D, я бы использовалПоэтому вы сначала генерируете значения сэмпла, а затем кормите их значениями z

[x,y]=meshgrid(1:80);
surf(x,y,z)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...