故障码循环显示专项--和Deepseek的一次深度交互

01--背景

自打Deepseek上线以来,风靡全球,我也在本地接入了deepseek,之前一直想把故障码循环显示专项这个功能做进软件内,因为当前有个项目对观测量的支持非常有限,因为使用的是CAN报文。

观测量预估:

CAN的标准帧长度为111bit,如果周期为10ms,那么1s报文发送100次,波特率为500K bits/s

那么单帧负载率= 111bit*100次/500k =2.22% ,10ms信号观测数量=100/2.22≈45个

2ms单帧负载率=2.22%*5 = 11.1% 2ms信号观测数量=100/11.1 ≈9个

而一个软件有成百上千的观测量,仅仅这点观测量还不足以做全一个观测环境,这样会导致分析问题时所采集的数据总会丢三落四,效率低下。

而这个功能,最起码可以把一些布尔量集合起来,循环展示,通过State的变化去推断信号是什么时候置位的,什么时候又Reset了,关键是一个信号可以代替十几个信号,对变量的空间节省也非常有作用,为什么叫故障码循环显示专项呢?因为该功能对置位的故障码更为有效,有时候发现不对劲了只要把该信号调出来,看看到底哪些故障置位了即可去找对应的应对方法。

现在目前的问题是,在之前的博客中

故障码循环显示专项_simulink持续显示错误代码-CSDN博客

虽然已经通过建模实现了该功能,并且经过几次调试解决了已知的bug,但是最后在软件集成的时候还是出现了问题,那就是我们所用的某个模块(find模块)不支持代码生成功能,由于公司的MATLAB为正版软件,某些功能没有购买,或是版本不支持等

如下图,变步长信号不支持生成代码

02--交互

所以我就在想,能不能避开find模块,find模块的作用就是把非0信号的索引找出来组合成一个数组。

于是就这个问题我问了Deepseek,以下是我们交互的内容:

我是这么问的:

Deepseek第一次回答:

明显没有说完,我让他说下一段:

Deepseek第2次回答:

于是我拿Deepseek写的MATLAB Function代码直接使用了,发现报错,我把报错发给了他

Deepseek第3次回答:

拿去用之后继续报错,有点不想指望他了

Deepseek第4次回答

没说完就给停了

Deepseek第5次回答:

拿这次的代码去使用,居然不报错了成功了

03--模型功能实现

放大下面:

上图,find模块会直接找到对应置位的索引,索引由1开始

而下面先把标志位与索引位置映射好,然后通过MATLAB Function函数,只把大于0的信号重新拼接成数组

MATLAB Function 函数:

复制代码
function y = filter_elements(u)
    % 将输入转为列向量(确保所有维度一致)
    u_col = u(:); % 转为列向量
    
    % 预分配(列向量)
    max_size = length(u_col);
    temp = zeros(max_size, 1); % 改为列向量预分配
    
    % 筛选条件(示例:元素 >0)
    count = 0;
    for i = 1:length(u_col)
        if u_col(i) >0
            count = count + 1;
            temp(count) = u_col(i);
        end
    end
    
    % 输出为列向量:直接截取有效部分(保持列方向)
    y = temp(1:count); 
end

变量设置:

运行仿真:

结果相等均为1,4,5

移植该功能去生成代码:

非常可惜!没有绕过这个变步长信号的使用,因为MATLAB Function内变量y勾选了变步长,仍然无法支持,跟用了Find的结果一样

虽然最后仍然没有在这个事情上得到帮助,但是Deepseek的出现无疑对后续的建模,策略开发有非常好的指导意义。

相关推荐
2zcode9 小时前
基于MATLAB元胞自动机(CA)的AZ80A镁合金动态再结晶(DRX)过程模拟
开发语言·matlab·动态再结晶
jiushiapwojdap11 小时前
LU分解法求解线性方程组Matlab实现
数据结构·其他·算法·matlab
MATLAB代码顾问13 小时前
改进遗传算法(IGA)求解作业车间调度问题(JSSP)——附MATLAB代码
开发语言·matlab
米饭不加菜13 小时前
机器人矩阵运算MATLAB计算
matlab·矩阵·机器人
机器学习之心14 小时前
多智能体遗传算法(MAGA)优化最优投影方向的投影寻踪聚类评价,MATLAB代码
matlab·聚类·投影寻踪聚类评价
MATLAB代码顾问14 小时前
多种群协同进化算法(MPCE)求解大规模作业车间调度问题——附MATLAB代码
开发语言·算法·matlab
Evand J15 小时前
【MATLAB绘图教程】空间误差场图的概念及其应用,附代码
matlab·平面·绘图·定位
alphageek816 小时前
Matlab linspace函数完全指南:从基础用法到进阶技巧
开发语言·其他·matlab
xrgs_shz16 小时前
MATLAB 纹理特征提取:一文读懂 graycomatrix 与 graycoprops
人工智能·计算机视觉·matlab
2zcode18 小时前
基于MATLAB的深度学习工业表面缺陷多分类检测系统设计与实现(GUI界面+数据集+训练代码)
深度学习·matlab·分类