【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

简单来说:

热力图适合看"平面区域误差分布";

空间误差场图适合看"误差在空间中如何起伏变化"。

常用绘图函数

二维空间误差场常用:

matlab 复制代码
surf
mesh
surfc
contour3
shading interp
view

三维空间误差场常用:

matlab 复制代码
slice
isosurface
volshow

对于一般定位论文和仿真展示,二维空间误差场曲面图就足够了。

代码例程:空间误差场曲面图

下面这个代码和前面的热力图使用同一套误差数据,但使用三维曲面方式展示。

matlab 复制代码
%% 空间误差场图示例
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);

运行结果

图像分析写法

可以这样描述:

图中以三维曲面形式展示了定位误差在空间区域内的连续变化趋势。其中,水平面坐标表示待定位目标的位置,垂直方向表示对应位置处的定位误差大小。可以看出,误差场并非均匀分布,而是在局部遮挡区域和边缘区域形成明显峰值。这说明定位误差不仅与测距噪声大小有关,还与空间位置、锚节点几何分布以及传播环境密切相关。相比二维热力图,空间误差场图能够更加直观地展示误差峰值、梯度变化以及高误差区域的空间扩展范围。

如需帮助,或有导航、定位滤波相关的代码定制需求,请点击下方卡片联系作者

相关推荐
Evand J3 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
matlab代码13 小时前
基于matlab水果识别系统(西红柿、香蕉、梨、青椒)【源码64期】
开发语言·matlab
民乐团扒谱机14 小时前
【微科普】相位调制 (PM) 理论推导、频谱演化与 MATLAB 仿真验证
matlab
m0_6145235515 小时前
平面跟踪为什么中途漂移:按首次异常帧建立排查记录
人工智能·平面·视频编辑
我爱C编程1 天前
基于GCC-PHAT与球面散乱数据插值ML估计算法的混合麦克风阵列声源定位方法Matlab仿真
matlab·gcc-phat·球面散乱数据插值·ml估计·麦克风阵列声源定位
2601_962293531 天前
Appium+python自动化(十二)- Android UIAutomator终极定位凶器(超详解)
android·自动化测试·appium·定位·uiautomator
xfilm埃利测量2 天前
平面显示导电膜方阻精准表征:四探针助力靶材高效反向设计
功能测试·测试工具·平面·四探针·薄膜电阻测量
菜鸟~noob2332 天前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
菜鸟~noob2332 天前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
菜鸟~noob2332 天前
【电子战】 第01篇:噪声、门限与虚警/检测概率(PFA/PD)【含matlab代码】
开发语言·matlab