【MATLAB绘图教程】空间误差场图的概念及其应用,附代码
本文介绍空间误差场图的概念及其应用。与热力图不同,空间误差场图将误差视为空间中的连续标量场,通过三维曲面或空间场图展示误差的连续变化趋势。文章对比了两者的区别:热力图适合展示平面区域误差分布,而空间误差场图更适用于参数分析和空间趋势展示。提供了MATLAB代码示例,演示如何绘制二维空间误差场曲面图,并分析了图像特征。
文章目录
- 空间误差场图
- 图像含义
- 和热力图的区别
- 常用绘图函数
- 代码例程:空间误差场曲面图
- 运行结果
- 图像分析写法
空间误差场图
图像含义
空间误差场图比热力图更强调误差作为一个空间函数的连续分布特征。
也就是说,它不只是“哪里误差大、哪里误差小”,而是把误差看成一个二维或三维空间中的标量场:
E = f ( x , y ) E=f(x,y)E=f(x,y)
或者三维情况下:
E = f ( x , y , z ) E=f(x,y,z)E=f(x,y,z)
如果是二维空间误差场,可以用三维曲面表示:
z = E ( x , y ) z=E(x,y)z=E(x,y)
其中横轴和纵轴是空间位置,高度方向表示定位误差大小。
和热力图的区别
| 对比项 | 定位误差热力图 | 空间误差场图 |
|---|---|---|
| 表达形式 | 二维颜色图 | 三维曲面图或空间场图 |
| 重点 | 误差区域分布 | 误差连续变化趋势 |
| 横纵坐标 | X、Y位置 | X、Y位置 |
| 颜色含义 | 误差大小 | 误差大小 |
| 高度含义 | 无 | 误差大小 |
| 适合用途 | 论文结果展示 | 参数分析、空间趋势展示 |
| 常用函数 | contourf,imagesc | surf,mesh,slice,isosurface |
简单来说:
热力图适合看“平面区域误差分布”;
空间误差场图适合看“误差在空间中如何起伏变化”。
常用绘图函数
二维空间误差场常用:
surf mesh surfc contour3 shading interp view三维空间误差场常用:
slice isosurface volshow对于一般定位论文和仿真展示,二维空间误差场曲面图就足够了。
代码例程:空间误差场曲面图
下面这个代码和前面的热力图使用同一套误差数据,但使用三维曲面方式展示。
%% 空间误差场图示例clc;clear;close all;%% 1. 构造二维区域x=linspace(-50,50,160);y=linspace(-40,40,120);[X,Y]=meshgrid(x,y);%% 2. 构造模拟定位误差场E_base=0.3;E_edge=0.015*sqrt(X.^2+Y.^2);E_peak1=2.0*exp(-((X-10).^2+(Y-5).^2)/250);E_peak2=1.5*exp(-((X+20).^2+(Y+10).^2)/180);E=E_base+E_edge+E_peak1+E_peak2;%% 3. 绘制空间误差场曲面图figure('Color','w');surf(X,Y,E,'EdgeColor','none');hold on;% 在底部投影等高线contour3(X,Y,E,12,'k','LineWidth',0.8);xlabel('X位置 / m','FontSize',12,'FontWeight','bold');ylabel('Y位置 / m','FontSize',12,'FontWeight','bold');zlabel('定位误差 / m','FontSize',12,'FontWeight','bold');title('空间定位误差场曲面图','FontSize',13,'FontWeight','bold');cb=colorbar;ylabel(cb,'定位误差 / m','FontSize',11,'FontWeight','bold');shading interp;grid on;box on;view(45,35);运行结果
图像分析写法
可以这样描述:
图中以三维曲面形式展示了定位误差在空间区域内的连续变化趋势。其中,水平面坐标表示待定位目标的位置,垂直方向表示对应位置处的定位误差大小。可以看出,误差场并非均匀分布,而是在局部遮挡区域和边缘区域形成明显峰值。这说明定位误差不仅与测距噪声大小有关,还与空间位置、锚节点几何分布以及传播环境密切相关。相比二维热力图,空间误差场图能够更加直观地展示误差峰值、梯度变化以及高误差区域的空间扩展范围。
如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者
