基于PSO粒子群优化的汽车刹车稳定性数据matlab仿真与分析

news2025/1/16 5:40:29

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》

目录

一、理论基础

二、核心程序

三、测试结果


一、理论基础

刹车类别A

温度1

测试1

测试2

.......

测试n

温度3

测试1

测试2

.......

测试n

.......

.......

温度N

测试1

测试2

.......

测试n

        每次测试的温度间隔,根据实际操作的可行性,来选择。这个无所谓,从里面看到温度从20多度到60度,如果条件允许,可以再将温度扩展一下。即测试的温度范围再大点。然后,对于同一个温度,测试次数的确定,如果你每次测试的数值差别较大,那么测试次数最好多点,如果每次测试的差别不大,那么测试20次就够了。

      粒子群优化(PSO)算法是通过模拟鸟群觅食过程中的迁徙和群聚行为而提出的一种基于群体智能的全局随机搜索算法。PSO是将群体(swarm)中的个体看作是在D维搜索空间中没有质量和体积的粒子(particle),每个粒子以一定的速度在解空间运动,并向自身历史最佳位置pbest和邻域历史最佳位置聚集,实现对候选解的进化。

       PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为粒子。所有的粒子都有一个由被优化的函数决定的适值( fitness value),每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。

       PSO初始化为一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己;第一个就是粒子本身所找到的最优解,这个解称为个体极值;另一个极值是整个种群目前找到的最优解,这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。

二、核心程序

................................................................
parameter;
ishow = (get(handles.checkbox1,'Value'));
if choice == 1
L2    = func_anti_noise(L1,T1);
else
L2    = func_anti_noise(L1,T2);    
end
hold off;
axes(handles.axes4);
color_table;
for i = 1:len1
    str = colors{i};
    plot(L2(i,:),str);
    hold on;
end
if ishow == 1
    figure;
    color_table;
    for i = 1:len1
        str = colors{i};
        plot(L2(i,:),str);
        hold on;
    end
    title('Leaks anti noise');
end 


% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton4 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%多项式拟合%%%%%%%%%%%
parameter;
ishow            =        (get(handles.checkbox1,'Value'));
KK               = str2num(get(handles.edit1,'String')); 
 
if choice == 1
[y1,x1,y0,x0,P1fit] =  func_fit_means(T1,L2,KK);
else
[y1,x1,y0,x0,P1fit] =  func_fit_means(T2,L2,KK);    
end

hold off;
axes(handles.axes5);
plot(x0,y0,'o');
hold on;
plot(x1,y1,'r','LineWidth',1);
hold on;
 
if ishow == 1
    figure;
    plot(x0,y0,'o');
    hold on;
    plot(x1,y1,'r','LineWidth',1);
    hold on;
    title('多项式拟合曲线');
    
end 

%计算拟合误差
err1 = func_error(y0,x0,y1,x1);
set(handles.edit2,'string',num2str(err1)); 




% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton5 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最大值多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最大值多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最大值多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最大值多项式拟合%%%%%%%%%%%
parameter;
ishow            =        (get(handles.checkbox1,'Value'));
KK               = str2num(get(handles.edit1,'String')); 
if choice == 1
[y1max,x1max,y0max,x0max,P1max] =  func_fit_max(T1,L2,KK);
else
[y1max,x1max,y0max,x0max,P1max] =  func_fit_max(T2,L2,KK);    
end
hold off;
axes(handles.axes5);
plot(x0,y0,'o');
hold on;
plot(x1,y1,'r','LineWidth',1);
hold on;
plot(x1max,y1max,'g','LineWidth',1);
hold on; 
if ishow == 1
    figure;
    plot(x0,y0,'o');
    hold on;
    plot(x1,y1,'r','LineWidth',1);
    hold on;
    plot(x1max,y1max,'g','LineWidth',1);
    hold on; 
    title('多项式拟合曲线');
end 






function pushbutton6_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton6 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最小值多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最小值多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最小值多项式拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最小值多项式拟合%%%%%%%%%%%
parameter;
ishow            =        (get(handles.checkbox1,'Value'));
KK               = str2num(get(handles.edit1,'String')); 
if choice == 1
[y1min,x1min,y0min,x0min,P1min] =  func_fit_min(T1,L2,KK);
else
[y1min,x1min,y0min,x0min,P1min] =  func_fit_min(T2,L2,KK);    
end
hold off;
axes(handles.axes5);
plot(x0,y0,'o');
hold on;
plot(x1,y1,'r','LineWidth',1);
hold on;
plot(x1max,y1max,'g','LineWidth',1);
hold on; 
plot(x1min,y1min,'m','LineWidth',1);
hold on; 
if ishow == 1
    figure;
    plot(x0,y0,'o');
    hold on;
    plot(x1,y1,'r','LineWidth',1);
    hold on;
    plot(x1max,y1max,'g','LineWidth',1);
    hold on; 
    plot(x1min,y1min,'m','LineWidth',1);
    hold on; 
    title('多项式拟合曲线');
    
end 


% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton7 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%PSO优化拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%PSO优化拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%PSO优化拟合%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%PSO优化拟合%%%%%%%%%%%
parameter;
ishow            =        (get(handles.checkbox1,'Value'));
KK               = str2num(get(handles.edit1,'String')); 


%进行PSO优化
[V_score2,PP2] = func_pso(P1fit,x1,y0,x0);
ypso           = polyval(PP2,x1);

hold off;
axes(handles.axes6);
plot(V_score2,'Linewidth',2);



hold off;
axes(handles.axes7);
plot(x0,y0,'o');
hold on;
plot(x1,y1,'r','LineWidth',1);
hold on;
plot(x1max,y1max,'g','LineWidth',1);
hold on; 
plot(x1min,y1min,'m','LineWidth',1);
hold on; 
plot(x1,ypso,'k--','LineWidth',2);
hold on; 

if ishow == 1
    figure;
    subplot(121);
    plot(V_score2,'Linewidth',2);
    xlabel('迭代次数');
    ylabel('拟合误差优化过程');
    subplot(122);
    plot(x0,y0,'o');
    hold on;
    plot(x1,y1,'r','LineWidth',1);
    hold on;
    plot(x1max,y1max,'g','LineWidth',1);
    hold on; 
    plot(x1min,y1min,'m','LineWidth',1);
    hold on; 
    plot(x1,ypso,'k--','LineWidth',2);
    hold on; 
    title('多项式拟合曲线');
    legend('实际测量值','均值拟合曲线','最大测量值拟合曲线','最小测量值拟合曲线','优化后拟合曲线');
end 

err2 = func_error(y0,x0,ypso,x1);
set(handles.edit3,'string',num2str(err2)); 


% --- Executes on button press in pushbutton8.
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton8 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%统计量计算%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%统计量计算%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%统计量计算%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%统计量计算%%%%%%%%%%%
parameter;

%计算均值和方差,将这两个计算结果存放到四个变量的后两位
for i = 1:size(T1,1)
    %计算均值
    E1(i) = mean(T1(i,:));
    E2(i) = mean(T2(i,:));
    E3(i) = mean(P1(i,:));
    E4(i) = mean(L2(i,:));
    %计算标准差
    D1(i) = std(T1(i,:));
    D2(i) = std(T2(i,:));
    D3(i) = std(P1(i,:));
    D4(i) = std(L2(i,:));    
    %计算方差
    V1(i) = var(T1(i,:));
    V2(i) = var(T2(i,:));
    V3(i) = var(P1(i,:));
    V4(i) = var(L2(i,:)); 
end

figure(10);
plot(E1,E4,'b-o');
hold on;
plot(E1,D4,'r-o');
hold on;
plot(E1,V4,'k-o');
legend('均值','标准差','方差');


fid = fopen('statistics.txt','wt');
fprintf(fid,'均值       标准差     方差\n');
for i = 1:length(E4)
    fprintf(fid,'%f   ',E4(i));
    fprintf(fid,'%f   ',D4(i));
    fprintf(fid,'%f   ',V4(i));
    fprintf(fid,'\n');
end
fclose(fid);


% --- Executes on button press in pushbutton9.
function pushbutton9_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton9 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%拟合统计分析%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%拟合统计分析%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%拟合统计分析%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%拟合统计分析%%%%%%%%%%%
parameter;
ishow            =        (get(handles.checkbox1,'Value'));

hold off;
axes(handles.axes8);
plot(x0,y0,'o');
hold on;
plot(x1,ypso,'k--','LineWidth',2);
hold on; 
%找到最接近0的温度
Best_tmp = 0;
Ind      = 0;
for i = 2:length(ypso)-1
    if ypso(i-1) < 0 & ypso(i)>=0   
       Best_tmp = x1(i);
       Ind      = i;
    end   
end
plot(x1(Ind),-4:0.01:8,'r','LineWidth',1);
hold on; 
plot(x1,ypso(Ind),'r','LineWidth',1);


%根据统计量分析
%找到均值最小的值
Tmpes          = abs(E4);
[V,I]          = sort(Tmpes);
Best_Team_mean = I(1);

%找到均值最小的值
Tmpes          = abs(D4);
[V,I]          = sort(Tmpes);
Best_Team_std  = I(1);

if  ishow == 1
    figure(11);
    subplot(121);
    plot(x0,y0,'o');
    hold on;
    plot(x1,ypso,'k--','LineWidth',2);
    hold on; 
    plot(x1(Ind),-4:0.01:8,'r','LineWidth',1);
    hold on; 
    plot(x1,ypso(Ind),'r','LineWidth',1); 
    axis square;
    
    subplot(122)
    plot(E1(Best_Team_mean),E4(Best_Team_mean),'--rs','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
    hold on;
    plot(E1,E4,'b-o'); 
    hold on;
    plot(E1(Best_Team_std),D4(Best_Team_std),'--rs','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
    hold on;
    plot(E1,D4,'k-o');       
    hold on;
    axis square;
    legend('均值','标准差');
end

if Best_Team_mean == Best_Team_std 
   msgbox(['最稳定温度为:',num2str(Best_tmp),' 对应的测试组为:',num2str(Best_Team_mean)]);
else
   msgbox(['最稳定温度为:',num2str(Best_tmp),' 对应的测试组为:',num2str(Best_Team_mean),' 和 ',num2str(Best_Team_std)]); 
end

三、测试结果

 1:显示EXCEL中的数据,将EXCEL导入MATLAB,然后显示出其中的数据:

 

2:3:显示两个温度和泄漏之间对应关系图,这个是根据样本直接显示的

4:显示多个LEAK的样本值:

5:去掉LEAK样本中的一些异常采样点:

 

6:多项式拟合效果显示:

7:粒子群优化后的误差收敛曲线

8:粒子群优化后的多项式拟合效果:

9:最后的稳定性分析结果:

左图是根据优化拟合结果,得到实际中最有可能为稳定区域的温度值,如上面的对话框为31.43.

但是这个在实际中可能没法测试到。

所以上图中右图就是表示的这个情况,通过均值和方差最小化,得到测试组13和14两个测试温度区域为最佳的区域。

通过分析,

在GUI上的数据显示区域,会自动对最佳的数据测试组显示the best的字样。

A28-13

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java语言的过滤数据流

过滤数据流 为了解决不同数据流之间速度、数据格式差异的问题&#xff0c;以便提高输入/输出操作的效率&#xff08;特别是当需要大量的输入、输出操作的程序时&#xff09;&#xff0c;因此&#xff0c;Java贴心的提供了过滤流。 在已存在的数据流的基础上&#xff0c;过滤数…

IntelliJ IDEA

特色功能 IDEA所提倡的是智能编码&#xff0c;是减少程序员的工作&#xff0c;IDEA的特色功能有以下22点[1] &#xff1a; ● 智能的选取 在很多时候我们要选取某个方法&#xff0c;或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取&#xff0c;IDEA就提供这种基于…

数据治理:数据标准的6大建设步骤及实施分享

“车同轨、书同文”&#xff0c;数字化时代&#xff0c;数据标准化是企业进行数字化转型的根基。数据标准与企业数据管理的每个域都相关&#xff0c;是数据治理工作的最基础内容。 元数据管理中&#xff0c;需要从业务属性、技术属性、管理属性三个方面定义数据标准&#xff1b…

第54篇-某网易易盾滑块请求data参数分析【2022-11-16】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、流程分析三、data参数1.d值2.p值3.ext值一、前言 在很久以前我们使用selenium+OpenCV模拟过一次易盾盾滑块…

学习大数据之后可以做什么?未来发展怎么样?

当下&#xff0c;有很多小伙伴看中了大数据开发的前景&#xff0c;从而选择了学习大数据的行列当中来&#xff0c;只能说&#xff0c;坚持你的选择没有错~ 当下来看&#xff0c;可以说大数据是一种宝贵的战略资源&#xff0c;其潜在价值和增长速度正在改变着人类的工作、生活和…

人人开源搭建后台管理系统 逆向工程生成CRUD代码

一、什么是人人开源 也就是说和若依类似&#xff0c;都是快速帮我们开发一些简单的逻辑代码的&#xff0c;可以帮我们自动生成代码。 二、具体操作 我们现在就以renren-fast作为后台管理系统框架&#xff0c;用renren-fast-vue作为前端系统框架进行开发项目 具体操作如下所示&a…

做好一个BI项目的关键是什么

做好一个BI项目的关键是什么&#xff1f;有人会说&#xff0c;那肯定是报表&#xff0c;报表是数据分析最直接的成果展示&#xff0c;好的报表能够帮助企业从各种纷杂的信息中及时地发现关键有效的信息&#xff0c;从而为决策提供支持。诚然&#xff0c;报表很重要&#xff0c;…

SPI通信协议

目录一、什么是SPI协议二、SPI物理层三、SPI协议层一、什么是SPI协议 SPI&#xff08;Serial Peripheral Interface&#xff0c;串行外围设备接口&#xff09;通讯协议&#xff0c;是 Motorola 公司提出的一种同步串行接口技术&#xff0c;是一种高速、全双工、同步通信总线&a…

【PTA-训练day7】L2-019 悄悄关注 + L1-027 出租

L2-019 悄悄关注 - 哈希表 PTA | 程序设计类实验辅助教学平台 1、java - 喜闻乐见超时 import java.util.*;public class Main {public static void main(String[] args){Scanner scnew Scanner(System.in);int nsc.nextInt();String[] namesc.nextLine().split(" "…

Centos7.6 源码编译部署percona mysql 5.7.39-42

Centos7.6 源码编译部署percona mysql 5.7.39-42 参考链接&#xff1a; mysql5.7.35源码编译安装部署CentOS7 编译安装 Percona Server 5.7percona Server for MySQL 5.7源码安装 一、部署环境准备 更换阿里云yum源 cd /etc/yum.repos.d/ mkdir bak && mv *.repo ba…

[附源码]java毕业设计江苏策腾智能科技公司人事管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

第1关:节点监听机制

ZooKeeper的监听机制 节点监听机制用以保证集群之间的一致性&#xff0c;以及服务器可以及时通知客户端节点状态的变化。 一个节点可以被监控&#xff0c;包括路径中存储的数据修改&#xff0c;子节点路径改变&#xff0c;当该节点发生修改&#xff0c;服务器可以通知设置监控…

AVS3帧间预测

帧间预测是去除时域冗余的重要工具&#xff0c;随着AVS标准发展&#xff0c;越来越多的帧间预测工具被加入标准&#xff0c;主要可以分为三类&#xff1a;预测编码类型、运动信息编码工具、CU级和子块级运动补偿。 预测编码类型 预测编码类型是指帧间预测的不同预测方式&#…

年产5000吨芒果醋工厂设计

摘要 - 1 - 1 绪论 - 6 - 1.1 概述 - 6 - 1.1.1 芒果醋的价值 - 6 - 1.1.2 芒果醋的市场贸易需求 - 6 - 1.1.3 国内芒果醋行业发展现状 - 7 - 1.2 本课题研究的意义 - 7 - 1.3 本课题的研究内容 - 8 - 1.4 设计原则 - 8 - 2 厂址选择 - 8 - 2.1 厂址选择 - 8 - 2.2 气温 - 9 - …

21、池化技术和线程池的使用(三大方法,7大参数,4种拒绝策略)

池化技术和线程池的使用&#xff08;三大方法&#xff0c;7大参数&#xff0c;4种拒绝策略&#xff09; 池化技术&#xff1a;事先准备好一些资源&#xff0c;有需要用就拿&#xff0c;用完再还回来线程池的好处&#xff1a; *降低资源的消耗&#xff1a;线程的不停的创建销毁…

【LeetCode 力扣】2.两数相加 Java实现 模拟 递归

题目链接&#xff1a;2.两数相加 1 原题描述&#xff1a; 2 解题思路 初看此题&#xff0c;其实并不难理解&#xff0c;我们只需要简单对加法过程进行一个模拟&#xff0c;即可完成。那么我们应该怎么模拟呢&#xff1f;首先观察题目&#xff0c;链表是采用的 逆序 存储&…

[旭日X3派] 初识篇 - 01

简单介绍一下 旭日X3派&#xff1a; 地平线旭日️ X3 派是一款面向生态开发者的嵌入式 AI 开发板&#xff0c;接口兼容树莓派&#xff0c;具有 5 TOPS 端侧推理与 4 核 ARM A53 处理能力。 可同时多路 Camera Sensor 的输入并支持 H.264/H.265 编解码。 结合地平线的高性能 A…

什么是JUC

什么是JUC JUC指的是&#xff1a;Java里的三个包 java.util.concurrentjava.util.concurrent.atomic&#xff1a;原子性java.util.concurrent.locks&#xff1a;lock锁回顾线程和进程 进程 程序执行的一次过程&#xff0c;一个进程包含一个或多个线程。进程是资源分配的单位 …

【毕业设计】深度学习行人重识别系统 - person reid

文章目录0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图4 实现效果5 部分代码6 最后0 前言 &#x1f525; Hi&#xff0c;大家好&#xff0c;这里是丹成学长的毕设系列文章&#xff01; &#x1f525; 对毕设有任何疑问…

Linux NetCore下Pdf转图片 内存溢出

Linux NetCore下Pdf转图片 内存溢出Linux PDF转图片异常查看libgdiplus版本解决方案NetCore 3.1下面调用Pdf转图片的组件&#xff0c;在本地windows环境下转换正常&#xff0c;但是到容器里面就会转换失败&#xff0c;查看命令行日志可以看到如下错误。 Linux PDF转图片异常 …