自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 问答 (4)
  • 收藏
  • 关注

原创 第四十六篇,PID心法解读

自动控制PID调参

2024-08-25 11:25:04 453

原创 第四十五篇,杂记(五)

杂记

2024-03-18 16:59:31 104

原创 第四十四篇,发现一个simulink的妙用

用simulink对C代码做仿真

2023-12-21 16:58:39 416

原创 第四十三篇,点线关系

点与线的相对位置关系

2023-12-14 16:44:44 404

原创 第四十二篇,MATLAB on Linux

最近在Ubuntu上安装了一把MATLAB,以下操作亲测有效。

2023-12-07 20:18:42 620

原创 第四十一篇,一次matlab与spdlog的合作

【代码】第四十一篇,一次matlab与spdlog的合作。

2023-11-30 11:17:31 482

原创 第四十篇,杂记(四)

杂记

2023-11-22 16:54:47 438

原创 第三十九篇,杂记(三)

。。

2023-08-31 22:25:00 92

原创 第三十八篇,杂记(二)

']);

2023-08-31 22:23:12 88

原创 第三十七篇,每个人都是自己的大IP!

保护知识产权,从simulink说起。

2023-08-15 22:12:19 233

原创 第三十五篇,改进的自动生成代码m脚本

【代码】第三十五篇,改进的自动生成代码m脚本。

2023-07-17 15:22:42 334

原创 第三十四篇,使用过哪些Qt特性

QStringQTimerQLabelQCheckBoxQComboBoxQTabWidgetQGroupBoxQWidgetQLineEditQSpinBox。

2023-05-31 20:50:07 76

原创 第三十三篇,记一次Windows下Qt使用log4cplus的经历

log4cplus版本2.0.7,使用MinGW编译器,使用CMake工具,方法。

2023-04-27 21:43:30 328

原创 第三十二篇,记一次Windows下Qt使用boost的经历

后来的后来,注意到各个boost库的名字中含有vc142字眼,瞬间恍然,电脑上装着visual studio呢,编译boost不指定toolset它就默认用visual studio的编译器了,而我Qt用的MinGW,怪不得呢,而且Qt有一次的error中还提示了什么incompatible。看网上说用什么bjam.exe,又一番折腾后认为我的boost版本高了,bjam是老版本的东西,现在统一用b2.exe了,这可如何是好。别的啥也没有,我心想这是什么魔幻,先拿STL的thread试试吧,哎也不行!

2023-04-26 22:12:34 1452

原创 第三十一篇,C++面经之手写代码(五)

这一篇先写个二叉树的题目,二叉树也是面试中常考到的算法与数据结构的知识点。

2023-04-05 23:22:27 153

原创 第三十篇,C++面经之手写代码(四)

删除数组指定元素,并用后续元素补位。a为待操作数组,size为数组长度,k为指定的待删除元素,该元素在数组a中可实际存在也可不存在,这段代码都可处理。关键在于count的妙用,表面意思是在a中找到了几个k,更深一层的作用在于补位操作,由于是数组,找到k后所谓的删除操作也不能把这块内存抹去或delete,只能是用其它元素来占位、补位,count就起到了告诉后续元素往前移动几步的补位操作。

2023-04-04 23:30:15 124

原创 第二十九篇,C++面经之手写代码(三)

struct stNode // 链表节点 {int num;以stNode结构体作为本篇题目中涉及到的链表节点的通用定义。

2023-04-04 22:38:19 179

原创 第二十八篇,C++面经之手写代码(二)

第二篇以几个经典排序算法开始吧。

2023-03-30 23:46:13 125

原创 第二十七篇,C++面经之手写代码(一)

前几篇整理、记录了面试遇到的问答题目,接下来再开几篇,写一写手写代码环节的题目,尽量加上注释或者讲解,并把代码写完整,达到复制粘贴后可立即编译执行的程度。语言还是C++,有一点需要说明一下,有些面试官要求做安全检查,比如传入的指针是否为空,传入的int值是否超出设定的范围,但大部分不强制要求,关键看设计思路,所以我贴上的代码里有的做这种检查有的没做,知晓这层意思就好。每篇的数量就先不做限制了,主要控制篇幅吧,毕竟这种题目长短差别很大。

2023-03-30 23:45:20 399

原创 第二十六篇,C++面经之问答(五)

在结构体或类中,按照变量声明的顺序,每个变量的起始地址相对于该结构体或类的0地址的偏移量,均是其字节大小的整数倍,因此如果它前边所有变量字节数的和不足此整数倍,需要补齐;关键还是在于C++新增了函数重载机制,以及把NULL的宏定义直接改成了0(在C语言中对NULL的宏定义是((void*)0),即强转为了空指针),带来了困扰。因为CPU是按块读取的,如2字节、4字节、8字节,如果不对齐,会发生数据丢弃、拼接,影响效率。池化的方式一般和要解决的问题的数据类型有关联,即每个空间单元的字节大小;

2023-03-30 23:35:48 245

原创 第二十五篇,C++面经之问答(四)

关键在于引用、指针,浅拷贝只是复制了指针对象,并未拷贝指针指向的实体,因此拷贝前和拷贝后的两个对象拥有同一份指针指向的实体,或者说内存空间,任一方的修改都会同步影响另一方,还会有重复delete的风险;而深拷贝不仅复制指针对象,还会开辟新的内存空间,将指针指向的实体完整复制一份,这样使得拷贝前后的对象完全独立,互不影响,且没有重复delete的风险;shared_ptr采用引用计数的方式使得一个对象可以由多个shared_ptr包装,解决了重复包装的问题,但存在循环引用时无法析构导致卡死的问题;

2023-03-26 21:17:48 363

原创 第二十四篇,C++面经之问答(三)

信号槽底层用观察者的方式实现,可以理解为信号即发布者的notify()方法,槽即在notify()方法中被调用的订阅者的update()方法。MOC元对象编译的引入是必要的,因为信号槽等并不是标准的C++语法,需要MOC做一次转换以正常编译,自成体系的编译器应该都有类似机制。信号槽是多对多的,即一个信号可以连接多个槽,多个信号可以连接至同一个槽,信号可以连接到另一个信号。2MSL最大报文段生存时间,1是客户端应答的时间,1是客户端收网络上剩余报文的时间。信号的参数列表个数可以大于槽的,多余的将被忽略。

2023-03-26 18:59:20 160

原创 第二十三篇,C++面经之问答(二)

有另外一种写法需要增加自定义中断标志,即线程执行函数中有try-catch逻辑,若stop时代码刚好在try-catch中运行,此时catch捕获中断异常,它会置位抹去terminate状态,导致检测不生效,所以有必要在自定义的stop()方法中增加自定义中断标志,并在检测逻辑中对其进行检测,其不受catch置位的影响,可保证检测逻辑的正确性。线程是线程,线程对象是线程对象,尤其是detach方式,线程对象离开作用域就会析构,但其关联的线程并不一定结束;典型的是生产者消费者一类的场景。

2023-03-26 18:33:51 110

原创 第二十二篇,C++面经之问答(一)

面试参加了不少,问答也积累了足够多,基础的、进阶的、学院派的、实践派的、奇葩的,都见识到了,有些也是让人哭笑不得。后来养成了面完即整理的习惯,不直接照搬网上科班式严谨的论述,因为大部分人实际面试时做不到完整又流畅的表达,我就结合自己的理解和面试的临场发挥,对主要的或有特点的问答做下记录,并分享出来希望能帮到有需要的小伙伴。为了避免单篇篇幅过长,我会分拆成几个,每篇的问答个数尽量控制在10个左右并控制篇幅,主题集中在C++、Qt,并持续更新,有错误的地方欢迎指正,别喷就好。

2023-03-26 10:18:48 264

原创 第二十一篇,常用Git操作记录

/ 拉取远程名叫dev的分支git fetch origin dev // 执行后本地git branch并不能看到devgit checkout dev // 可以看到dev了,在dev上开发。

2023-03-25 23:04:11 123

原创 第七篇(下),MPC工程化总结

另外,暂不考虑模型的变化,以横向位置替换横向偏差做状态量为例,则cost function里得减去横向位置参考才合乎常理,这时,代入cost function推导可以得出,最终的结果为quadprog()里的参数。续上3.2.3里quadprog()的问题,这个一定要做options,否则仿真能过但无法code generation,至于quadprog()的实现原理。说点儿其它的,在损失函数cost function的计算中,互为转置的项可以合并同类项,理解了这个点有些推导过程才能看的懂。

2023-03-25 21:44:39 1849 4

原创 第二十篇,Simulink使用痛点记录

比如有一个容器存储、传输路上看到的所有汽车的属性,汽车的数量显然不固定,有多有少还可能一辆没有,这是典型的变长数据集,常规的编程语言中都是基操,但MATLAB&&Simulink竟然不支持,当然我说的是code generation的需求,这样不光内部不方便,对外做接口也很不友好,提前设定一个固定或者足够大的维度,要么难以准确确定要么设的过大导致浪费,不得不说也是又一个明显的瑕疵,而且亟待解决。尝试过,数据字典中定义的bus或者叫结构体是可以很容易导出到m文件并使用的,但枚举就不行,有什么本质差异吗?

2023-03-25 20:38:05 349

原创 第十九篇,解析法求解五阶多项式

五阶多项式解析解

2022-10-31 20:26:08 723

原创 第十八篇,Simulink with Git

Simulink Git

2022-10-31 18:12:16 1552 4

原创 第十七篇,多项式曲线拟合

轨迹规划,多项式拟合曲线,如五阶多项式轨迹规划、车道线三次方程拟合等

2022-09-25 22:38:30 1168

原创 第十五篇,Apollo之PID积分抗饱和

PID 积分抗饱和

2022-08-06 10:45:38 1247

原创 第十四篇,Apollo学习之LQR曲率前馈

Apollo LQR 曲率前馈

2022-08-05 21:29:32 2229

原创 第十三篇,黄金分割搜索、斐波那契查找

黄金分割搜索、斐波那契查找

2022-07-11 20:45:44 337

原创 第十二篇,Apollo学习之各种依赖库

百度Apollo依赖库整理

2022-06-25 11:09:32 980

原创 第十一篇,VS Code无法整理C++代码格式问题

VS Code cpp无法排版

2022-06-25 10:54:19 894

原创 第十篇,杂记(一)

杂记

2022-06-20 17:31:42 52

原创 第九篇,Simulink生成代码的配置

Simulink生成代码的配置、结构体数组的配置

2022-06-18 16:52:51 1051 2

原创 第八篇,滤波:二阶低通滤波、卡尔曼滤波

低通滤波器

2022-06-18 16:47:11 15412

原创 第七篇(上),LQR工程化总结

LQR、MPC、Apollo、ADAS、LKA、自动驾驶、MATLAB、Simulink

2022-06-11 16:56:57 6414 7

原创 第三篇,得益于混合编程

目前做自动驾驶,“被迫”改行MATLAB/Simulink。MBD有很多优势,但缺点也很明显,高度的应用化、泛化、淡化数据类型,导致容易出现效率瓶颈。拿一个例子来说,做ALC(自动变道)的时候要做轨迹规划,一个常用的方法是五阶多项式拟合,在MATLAB中用polyfit()实现,受限于MATLAB基于矩阵的计算和内部不为人知的拟合细节,空间效率时间效率严重拉跨,一度出现了代码空间不足、CCS无法编译、编译后无法运行等critical bug。怀念起我熟悉的C/C++的好,我料定找一段C代码替换掉MATLA

2022-05-06 22:11:58 538

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除