%------------------------两个虚线间变量需要改----------------------------------------------------%
%加载mat
veh = load('0921.mat'); %运行模型后生成的a_***存成的mat
%fusn source = 1(radar),2(cmr),3(fusn)
%设置时间序列中,绘制曲线的开始 结束时间。
start_time = 0;
end_time = 6.5;
%seeker萨和嗯要观测的目标的视觉ID
cmr_id_seeker = 9394;
cmr_id = mod(cmr_id_seeker, 200) + 1; %veh,目标是车将这行打开。
% cmr_id = mod(cmr_id_seeker, 55) +201; %bicy person,目标是人和而轮车开启这行。
text_frameid = "\leftarrow ";
%可以设置在某一时刻,在曲线上画一个箭头
text_framrid_time = 0;
%----------------------------------------------------------------------------%
fusn_id =5;
% text_frameID = num2str(text_frameid);
yawrate = veh.a_veh_yawrate.Data;
vlgt = veh.a_veh_vlgt.Data;
algt = veh.a_veh_algt.Data;
frameid = veh.a_fusn_frameid.Data;
% disp(frameid);
fusn_source =0;
time = veh.a_RadarCamObj.Objects(fusn_id).Estimate.latPosition.Time;
% id_cmr = veh.a_RadarCamObj.Objects.;
% disp(id_cmr);
len = 0;
for i =1:length(time)
data_time = veh.a_RadarCamObj.Objects(fusn_id).Estimate.latPosition.Time(i);
if data_time>start_time && data_time < end_time
len = len + 1;
end
end
drawID = zeros(len,1);
drawtime = zeros(len,1);
xpos_cmr = zeros(len,1);
ypos_cmr = zeros(len,1);
xvel_cmr = zeros(len,1);
yvel_cmr = zeros(len,1);
xpos_radar = zeros(len,1);
ypos_radar = zeros(len,1);
xvel_radar = zeros(len,1);
yvel_radar = zeros(len,1);
xacc_radar = zeros(len,1);
yacc_radar = zeros(len,1);
xpos_fusn = zeros(len,1);
ypos_fusn = zeros(len,1);
xvel_fusn = zeros(len,1);
yvel_fusn = zeros(len,1);
xacc_fusn = zeros(len,1);
yacc_fusn = zeros(len,1);
text_xpos_fusn = 0;
text_ypos_fusn = 0;
text_xvel_fusn =0;
text_yvel_fusn =0;
text_xacc_fusn =0;
text_yacc_fusn =0;
fusn_xpos = 0;
fusn_ypos = 0;
fusn_xvel = 0;
fusn_yvel = 0;
fusn_xacc = 0;
fusn_yacc= 0;
count = 0;
for i =1:length(time)
data_time = veh.a_RadarCamObj.Objects(fusn_id).Estimate.latPosition.Time(i);
% frame_id = veh.a_fusn_frameid.Data(i);
% fusn_xpos = veh.a_RadarCamObj.Objects(fusn_id).Estimate.longPosition.Data(i);
% fusn_ypos = veh.a_RadarCamObj.Objects(fusn_id).Estimate.latPosition.Data(i);
% fusn_xvel = veh.a_RadarCamObj.Objects(fusn_id).Estimate.longVelocity.Data(i);
% fusn_yvel = veh.a_RadarCamObj.Objects(fusn_id).Estimate.latVelocity.Data(i);
% fusn_xacc = veh.a_RadarCamObj.Objects(fusn_id).Estimate.longAcceleration.Data(i);
% fusn_yacc= veh.a_RadarCamObj.Objects(fusn_id).Estimate.latAcceleration.Data(i);
if data_time>start_time && data_time < end_time
count = count +1;
for j = 1:32
fusn_visnID = veh.a_RadarCamObj.Objects(j).Properties.visionId.Data(i);
% disp(fusn_visnID);
if fusn_visnID == cmr_id
fusn_sou = veh.a_RadarCamObj.Objects(j).Properties.fusionSource.Data(i);
% disp(fusn_sou)
if fusn_sou == 2
fusn_source =2;
fusn_xpos = veh.a_RadarCamObj.Objects(j).Estimate.longPosition.Data(i);
fusn_ypos = veh.a_RadarCamObj.Objects(j).Estimate.latPosition.Data(i);
fusn_xvel = veh.a_RadarCamObj.Objects(j).Estimate.longVelocity.Data(i);
fusn_yvel = veh.a_RadarCamObj.Objects(j).Estimate.latVelocity.Data(i);
fusn_xacc = veh.a_RadarCamObj.Objects(j).Estimate.longAcceleration.Data(i);
fusn_yacc= veh.a_RadarCamObj.Objects(j).Estimate.latAcceleration.Data(i);
elseif fusn_sou == 3
radar_id = veh.a_RadarCamObj.Objects(j).Information.height.Data(i);
fusn_source = 3;
fusn_xpos = veh.a_RadarCamObj.Objects(j).Estimate.longPosition.Data(i);
fusn_ypos = veh.a_RadarCamObj.Objects(j).Estimate.latPosition.Data(i);
fusn_xvel = veh.a_RadarCamObj.Objects(j).Estimate.longVelocity.Data(i);
fusn_yvel = veh.a_RadarCamObj.Objects(j).Estimate.latVelocity.Data(i);
fusn_xacc = veh.a_RadarCamObj.Objects(j).Estimate.longAcceleration.Data(i);
fusn_yacc= veh.a_RadarCamObj.Objects(j).Estimate.latAcceleration.Data(i);
else
fusn_source = fusn_sou;
radar_id = veh.a_RadarCamObj.Objects(j).Information.height.Data(i);
fusn_xpos = veh.a_RadarCamObj.Objects(j).Estimate.longPosition.Data(i);
fusn_ypos = veh.a_RadarCamObj.Objects(j).Estimate.latPosition.Data(i);
fusn_xvel = veh.a_RadarCamObj.Objects(j).Estimate.longVelocity.Data(i);
fusn_yvel = veh.a_RadarCamObj.Objects(j).Estimate.latVelocity.Data(i);
fusn_xacc = veh.a_RadarCamObj.Objects(j).Estimate.longAcceleration.Data(i);
fusn_yacc= veh.a_RadarCamObj.Objects(j).Estimate.latAcceleration.Data(i);
end
end
end
drawtime(count,1) = data_time;
% drawID(count,1) = frame_id;
xpos_fusn(count,1) = fusn_xpos;
ypos_fusn(count,1) = fusn_ypos;
xvel_fusn(count,1) = fusn_xvel;
yvel_fusn(count,1) = fusn_yvel;
xacc_fusn(count,1) = fusn_xacc;
yacc_fusn(count,1) = fusn_yacc;
for j = 1:21
id_cmr = veh.a_CmrObjList.objectsVec.objects(j).id.Data(i);
if id_cmr==cmr_id
% disp(veh.a_CmrObjList.objectsVec.objects(j).id);
xpos_cmr(count,1) = veh.a_CmrObjList.objectsVec.objects(j).xPos.Data(i);
ypos_cmr(count,1) = veh.a_CmrObjList.objectsVec.objects(j).yPos.Data(i);
xvel_cmr(count,1) = veh.a_CmrObjList.objectsVec.objects(j).xRelVel.Data(i);
yvel_cmr(count,1) = veh.a_CmrObjList.objectsVec.objects(j).yRelVel.Data(i);
end
% visionid = 1;
end
% disp(data_time);
% disp(radar_id);
if (fusn_source == 3 || fusn_source == 1) && radar_id > 0
for j = 1:40
id_radar = veh.a_RdrObjList.objectsVec.objects(j).id.Data(i);
if id_radar == radar_id
% disp(veh.a_CmrObjList.objectsVec.objects(j).id);
xpos_radar(count,1) = veh.a_RdrObjList.objectsVec.objects(j).xPos.Data(i);
ypos_radar(count,1) = veh.a_RdrObjList.objectsVec.objects(j).yPos.Data(i);
f32YawRateSq = yawrate(i)*yawrate(i);
f32YawRateTwo = 2.0 * yawrate(i);
radar_xVel = veh.a_RdrObjList.objectsVec.objects(j).xVel.Data(i);
radar_yVel = veh.a_RdrObjList.objectsVec.objects(j).yVel.Data(i);
radar_xAcc = veh.a_RdrObjList.objectsVec.objects(j).xAcc.Data(i);
radar_yAcc = veh.a_RdrObjList.objectsVec.objects(j).yAcc.Data(i);
xacc_radar(count,1) = (((((-f32YawRateSq) * xpos_radar(count,1)) - (f32YawRateTwo * radar_yVel)) + radar_xAcc) + algt(i));
%[TRACKABLE_ACCY] = ((((-f32YawRateSq) * f32PosY) + (f32YawRateTwo * f32VelX)) + f32AccY) + ((stEgoMotion->f32YawRate) * (stEgoMotion->f32Speed));
yacc_radar(count,1)= ((((-f32YawRateSq) * ypos_radar(count,1)) + (f32YawRateTwo * radar_xAcc)) + radar_yAcc) + (yawrate(i) * vlgt(i));
xvel_radar(count,1) = ((-yawrate(i)* ypos_radar(count,1)) + radar_xVel) + vlgt(i); %[TRACKABLE_VELX] = ((-stEgoMotion->f32YawRate * f32PosY) + f32VelX) + (stEgoMotion->f32Speed);
yvel_radar(count,1) = ((yawrate(i) * xpos_radar(count,1)) + radar_yVel); %[TRACKABLE_VELY] = (((stEgoMotion->f32YawRate) * f32PosX) + f32VelY);
% xvel_radar(count,1) = veh.a_RdrObjList.objectsVec.objects(j).xVel.Data(i);
% yvel_radar(count,1) = veh.a_RdrObjList.objectsVec.objects(j).yVel.Data(i);
% xacc_radar(count,1) = veh.a_RdrObjList.objectsVec.objects(j).xAcc.Data(i);
% yacc_radar(count,1) = veh.a_RdrObjList.objectsVec.objects(j).yAcc.Data(i);
end
continue;
% visionid = 1;
end
else
xpos_radar(count,1) = 0;
ypos_radar(count,1) = 0;
xacc_radar(count,1) = 0;
yacc_radar(count,1)= 0;
xvel_radar(count,1) = 0;
yvel_radar(count,1) = 0;
end
end
if data_time == text_framrid_time
% disp(data_time)
text_x = text_framrid_time;
text_xpos_fusn = fusn_xpos;
% disp(fusn_xpos);
text_ypos_fusn = fusn_ypos;
text_xvel_fusn =fusn_xvel;
text_yvel_fusn =fusn_yvel;
text_xacc_fusn =fusn_xacc;
text_yacc_fusn =fusn_yacc;
end
end
subplot(3,2,1);
plot(drawtime,xpos_fusn,'r-', drawtime, xpos_radar,'b-',drawtime, xpos_cmr,'g-')
text(text_xpos_fusn,text_ypos_fusn,text_frameid);
legend('fusn','radar','cmr');
text(text_x, text_xpos_fusn, text_frameid,'FontSize',20);
title('pos_x')
subplot(3,2,2);
plot(drawtime,ypos_fusn,'r-', drawtime, ypos_radar,'b-',drawtime, ypos_cmr,'g-')
legend('fusn','radar','cmr');
text(text_x, text_ypos_fusn, text_frameid,'FontSize',20);
title('pos_y')
subplot(3,2,3);
plot(drawtime,xvel_fusn,'r-', drawtime, xvel_radar,'b-',drawtime, xvel_cmr,'g-')
legend('fusn','radar','cmr');
text(text_x, text_xvel_fusn, text_frameid,'FontSize',20);
title('vel_x')
subplot(3,2,4);
plot(drawtime,yvel_fusn,'r-', drawtime, yvel_radar,'b-',drawtime, yvel_cmr,'g-')
legend('fusn','radar','cmr');
text(text_x, text_yvel_fusn, text_frameid,'FontSize',20);
title('vel_y')
subplot(3,2,5);
plot(drawtime,xacc_fusn,'r-', drawtime, xacc_radar,'b-')
legend('fusn','radar');
text(text_x, text_xacc_fusn, text_frameid,'FontSize',20);
title('acc_x')
subplot(3,2,6);
plot(drawtime,yacc_fusn,'r-', drawtime, yacc_radar,'b-')
legend('fusn','radar');
text(text_x, text_yacc_fusn, text_frameid,'FontSize',20);
title('acc_y')
相关推荐
MATLAB生成的mat数据如何用origin绘制成图片
前言 MATLAB一般用来仿真做数学计算,有时候我们借助MATLAB自身强大的绘图功能就可以绘制出漂亮的插图,但是有时候MATLAB也无能为力,所以就要用到专门的绘图软件origin,但是有些小伙伴就犯了难了,如何将MATLAB生成的数据用origin绘制出来呢?下面就跟着我一起来探索吧。 举例 下面这段代码是为了测试用的,我们的目的是要在origin上画出y=x,y=2x,y=3x这三条曲线,横坐标x的取值范围为【1,100】,纵坐标y的数据则保存在result.mat文件中,代码如下: %y为100*3
【Matlab】Matlab导入多个.mat文件并画图的过程详解
matlab导入多个.mat文件,并根据文件中的数据进行画图,图像绘制包括散点图、折线图、子图、图例设置等。
MATLAB合并多个mat文件为一个mat文件
目录 一.合并mat文件 二.拼接矩阵或数据 一.合并mat文件 将如下四个mat文件合并,每个文件为1500行101列,合并完为7500行101列 clc clear all close all %% a=[]; List =dir('C:\Users\Administrator\Desktop\code\lstmdata\pri*.mat'); k =length(List); for i=1:k file_name{i}=List(i).name; temp=impor
.mat文件在Matlab中的读取使用操作
matlab中对.mat文件的读取后进行操作 1.数据中的采样频率为100Hz, 根据所分析的信号的特点确定合适的采样频率,截断长度(记录点数) 2.通过DFT频域分析方法,编程画出该信号的频谱与时域图形 3.使用滤波器设计方法将这些频率成分分别获得,并以图形显示 4.将滤得的频率成分叠加生产原信号,并与给的标准原信号进行对比.........
Matlab中对文件夹下.mat文件进行读取及操作
Matlab读取文件夹中的.mat文件并加载进行信号重采样 文件夹中的数据读取 获取文件夹下文件的各项信息,主要是根据用户所需要的文件夹路径path及文件后缀,使用dir方法可得到文件夹下目标文件的各项信息,得到的是struct结构的一个结果,如图: 然后for循环加载每一个文件并对其进行128Hz的重采样。 数据结果保存 结果保存使用save函数,其中有两个参数,第一个为保存的位置路径+文件名...
关于Matlab中循环遍历文件中mat文件,操作后依据原始mat文件名生成新的文件名并保存到新路径下
Matlab中对文件内.mat文件遍历读取并打标签保存 这篇文章是依据我自己的任务所查询学到的一些东西,在此记录下来供以后使用方便。我的任务是在train文件夹中有一组的训练数据,其格式都是mat文件类型,如下图。 现在要给这些mat文件打标签,依据每个mat文件中的数据的数量来打标签,因为mat文件代表不同的个体,所以所打标签的文件名存储也应该和训练数据的文件名相关联,而且还要显示出label...
MATLAB 之 MAT 文件
【代码】MATLAB 之 MAT 文件。
HCLR-Net: 混合对比学习正则化与局部随机扰动用于水下图像增强
独特贡献在于开发了一种处理负样本的新策略,既保留了负样本的统计特性,又防止网络过度剖析这些样本中的特征信息。通过根据每个通道特征的重要性对模型进行加权,我们可以增强富含上下文信息的通道,从而获得更准确、更详细的特征表示。AHA 模块利用垂直方向上的 Avgpool 和水平方向上的 Maxpool 来捕捉远程依赖关系和准确的位置信息,从而有效确定不同方向上的特征退化。对比学习策略通常旨在最小化正样本之间的欧氏距离,使预测图像更接近理想图像,同时最大化负样本与预测图像之间的距离,使它们进一步远离非理想表征。
MATLAB mat 文件
MATLAB(Matrix Laboratory)使用 .mat 文件格式来存储和加载数据。MAT 文件是一种二进制文件格式,能够保存 MATLAB 中的各种数据类型,包括矩阵、向量、结构体、元胞数组等。目的:遍历MAT中Q变量的每一行,将每一行的数据转置,并以行数为文件名导出为CSV文件。
别再到处找了!2024最新银河麒麟V10全版本(飞腾/龙芯/兆芯)官方下载与安装保姆级教程
本文提供2024年银河麒麟V10操作系统全版本(飞腾/龙芯/兆芯)的官方下载与安装保姆级教程,涵盖版本选择、镜像获取、启动盘制作及安装优化等关键步骤,助您高效部署国产操作系统。
Windows沙盒神器Sandboxie Plus保姆级教程:从安装到实战测试可疑软件
本文详细介绍了Windows沙盒神器Sandboxie Plus的安装、配置与实战应用,帮助用户安全测试可疑软件。从系统要求、安装步骤到核心功能如多沙盒管理、文件共享和快照恢复,全面解析了这款轻量级沙盒工具的优势与使用技巧,特别适合需要隔离运行未知程序的用户。
Matlab批量将.nii文件保存为.mat文件
1. matlab批量修改文件名 比如文件夹里有很多 .nii 后缀的文件,需要统一修改成 clc; clear all; file = dir('*.nii'); 2. matlab批量读取文件夹内所有图片
Linux 命令之 locale -- 设置和显示程序运行的语言环境
文章目录命令介绍locale 设置规则使用详解(一)查看当前 locale 设置(二)查看当前系统所有可用 locale(三)设置系统的 locale 命令介绍 locale 是 Linux 系统中多语言环境的设置接口,在 Linux 中,使用 locale 命令来设置和显示程序运行的语言环境,locale 会根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统定义一个软件运行时的语言环境。 通过 locale 来设置程序运行的不同语言环境,locale 由ANSI C提供支持。locale 的
matlab如何读取.mat文件,matlab中读取mat文件
Matlab 训练好的 BP 神经网络如何保存和读取方法 附实例说 (明)看到论坛里很多朋友都在提问如何存储和调用已经训练好的神经网络。 本人前几天也遇到了这样的问题,......2. 2 HDF 文件数据的读取 Mat lab 提供了三种从 H DF 或者 H DF2EOS 数据集中读取数据的方法: H DF 输入工具、 Matlab 高级输 入函数以及 Mat lab 命令......= st...
手把手教你用OpenCore在Dell Optiplex 3060上安装黑苹果(含ALC255声卡修复)
本文提供了一份详尽的指南,教你如何在Dell Optiplex 3060微型台式机上安装黑苹果系统。文章重点解决了使用OpenCore引导时的核心配置,特别是针对Intel UHD 630核显的驱动优化和Realtek ALC255声卡的修复方案,旨在帮助用户打造一个稳定可用的macOS工作站。
ardupilot 获取避障传感器数据
本节主要记录自己学ardupilot的避障代码过程,首先看下怎么注册避障传感器,然后怎么获取避障数据。
如何利用MATLAB把.txt中的数据绘制成曲线图?
之所以遇到这个问题,还得从我这个Python菜鸟说起,我想把Python程序中print的误差结果绘制成曲线图,但是在程序中编写代码屡试不爽。。。于是计划利用熟悉的MATLAB绘制曲线图。 1.将误差结果保存成文本。 2.利用MATLAB中将文本转成**.mat格式。 (1)在MATLAB中右击文本文件,选择导入数据**; (2)选择你需要的数据,再选择数据格式,默认的是table,我这里选择的是...
大模型微调部署实战及类GPT工具的高效使用
本文主要介绍了专栏《大模型微调部署实战及类GPT工具的高效使用》的核心内容,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 专栏亮点 3. 你的收获 4. 详细目录
matlab中利用save保存.mat文件
1.单个.mat文件保存 save(filename) %将当前工作区中的所有变量保存在 MATLAB格式的二进制文件(MAT 文件)filename 中。 save(filename,variables) %仅保存 variables 指定的结构体数组的变量或字段。 例如: A=[1 2 3 4 5 6 8 8 8 8 9 ]; save(‘file1.mat’,‘A’); %将变量A保存到当前文件夹中的文件 save(‘E:\room\MATLAB\apt\file1.mat’,‘A’);
2026 Claude Code 标准化前端UI SKILL——Frontend Design
是 Anthropic 官方开源的技能包,在 Claude 官方插件站中排名第一,超过 52k 的下载量。场景推荐方案快速体验批量安装官方 Skills深度设计策略叠加完整打磨流程集成终端跑claude一句话总结:Frontend Design 不是给 AI 加新能力,而是给 AI 加审美标准。它让 AI 从“能画”变成“会设计”——先想清楚风格,再动手写代码。
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
matlab打开mat文件,MAT文件打开方法汇总及其他操作
MAT文件是MATLAB使用的一种特有的二进制数据文件。MAT文件可以包含一个或者多个MATLAB变量。MATLAB通常采用MAT文件把工作空间的变量存储在磁盘里,在MAT文件中不仅保存各变量数据本身,而且同时保存变量名以及数据类型等。所以在MATLAB中载入某个MAT文件后,可以在当前MATLAB工作空间完全再现当初保存该MAT文件时的那些变量。这是其他文件格式所不能的。同样,用户也可以使用...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
论文出图-Matlab导入txt文件数据并绘图
matlab导入txt文件数据并绘图,图例显示汉字
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
matlab 生成mat文件
生成MAT文件 假如你的矩阵A.B都已赋值,现在需要将A,B矩阵保存成mat格式文件,执行如下命令:save mydata A B 就会把A B矩阵数据保存在yourdata.dat文件中了 保存指定数据为MAT文件:假如我们只想保存A矩阵,那么,我们可以用如下命令:save mydata2 A 回车 这样就可以将矩阵A单独保存起来了 保存所有数据为MAT文件:如果...
MATLAB基础操作02:读取mat文件画图
MATLAB基础操作02:读取mat文件画图
将Excel文件.mat保存成为MATLAB文件.mat
1、使用MATLAB的命令行help查看导入Excel文件的命令 查看相关命令行,更有助于深入了解该指令的调用方式。 2、找到你所需要导入Excel文件的路径和文件名 3、在MATLAB命令行窗口输入导入命令 此处使用 num = xlsread(filename) 命令作为示例。 1、其中上述命令中的filename就是Excel文件所...
3万+



被折叠的 条评论
为什么被折叠?



