Понимать функции min, max, meshgrid для построения границы MED в распознавании образов - PullRequest
0 голосов
/ 17 мая 2018

Этот код верен. Но я не понимаю, как соотносится использование функций min, max и meshgrid с построением контура MED двух классов. Я надеюсь, что мой вопрос ясен ...... спасибо

%% Computing the classifiers
step = 0.2; % The lower this is the smoother the contours.
x = min([samples_a(:,1);samples_b(:,1)])-1:step:max([samples_a(:,1);samples_b(:,1)])+1;
y = min([samples_a(:,2);samples_b(:,2)])-1:step:max([samples_a(:,2);samples_b(:,2)])+1;
[X1, Y1] = meshgrid(x,y);

x = min([samples_c(:,1);samples_d(:,1);samples_e(:,1)])-1:step:max([samples_c(:,1);samples_d(:,1);samples_e(:,1)])+1;
y = min([samples_c(:,2);samples_d(:,2);samples_e(:,2)])-1:step:max([samples_c(:,2);samples_d(:,2);samples_e(:,2)])+1;
[X2, Y2] = meshgrid(x,y);

% Plotting the MED boundaries
contour(X1,Y1,MED1, [0, 0], 'Color', 'magenta', 'LineWidth', LINE_WIDTH);

1 Ответ

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

В этом коде x и y - это векторы, которые идут от самых низких координат x и y в samples_a и samples_b к самым высоким.[samples_a(:,1);samples_b(:,1)] содержит все x-координаты в двух наборах, min и max принимают их минимальное и максимальное значения.Предположительно, они тогда соответствуют местоположениям для образцов в матрице MED1.Таким образом, значение в MED1(i,j) имеет координаты x(j) и y(i).

Теперь вы можете сделать

contour(x,y,MED1)

Код, который использует meshgrid для преобразования этих векторов в полныйматрицы X1 и Y1.Эти две матрицы должны иметь тот же размер, что и матрица MED1, и определяются путем репликации векторов x и y.Теперь значение в MED1(i,j) имеет координаты X1(i,j) и Y1(i,j).

Теперь вы можете сделать

contour(X1,Y1,MED1)

так же, как и раньше.Звонить на meshgrid не нужно.

...