matlab - 了解 min、max、meshgrid 函数以在模式识别中绘制 MED 边界
问题描述
这段代码是正确的但是,我不明白 using 和函数与绘制两个类的 MED 轮廓的关系min
是max
什么meshgrid
。我希望我的问题很清楚......谢谢
%% 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);
解决方案
在这段代码中,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
。现在 at 的值MED1(i,j)
具有坐标X1(i,j)
和Y1(i,j)
。
你现在可以做
contour(X1,Y1,MED1)
和以前一样。调用 tomeshgrid
是不必要的。
推荐阅读
- reactjs - 如何将文本左对齐。在反应工具提示中?
- python - 用户警告:在主线程之外启动 Matplotlib GUI 可能会失败
- c++ - 为什么在应用大小写时它没有在 switch 函数中显示默认缩进?
- html - Gmail 在 css 和表格标签文本和制动 html 之间添加了间距
- terminal - Jupyter Notebook 无法访问桌面文件和文件夹
- c++ - 有没有办法解决这个模棱两可的隐式强制转换运算符重载?
- python - 如何使用css选择器在特定div之前获取div
- openstack - 如何在 KVM 虚拟机下在 Openstack 上运行 ESXi
- android - 通过单击 Recyclerview 项调用 SlidingUpPanelLayout
- python - 线性回归模型中的大 MSE 和 MAE