MATLAB
文章平均质量分 83
matlab除了生孩子啥也会
iπ弟弟
野生程序喵,阿里云弹性计算后端开发工程师。
Github: https://github.com/ZYunfeii
展开
-
MATLAB转C/C++常见问题总结
楔子本指南试图帮助用户写出在转C过程中尽量少报错的Matlab m文件,其中更多是一些编程范式上的问题,在此记录下来,帮助后人写出无缝转C的代码。Author: Y. F. ZhangTime: 2022.4.16注意点使用变量前声明变量这一点在matlab中时可以容忍的,但对于一般编程语言是无法容忍的。使用一个变量前请预分配变量内存(注意预分配内存不是简单前面给个 =0就可以了,得是相应维度的预分配):tmp = zeros(6, 6); % 预分配内存for i = 1 : 6原创 2022-05-05 16:46:59 · 5549 阅读 · 5 评论 -
KITTI数据集激光雷达点云3D-Box可视化Matlab代码
为什么要写这篇Blog网上很少有详细写KITTI点云+3D-Box可视化方法的,唯一找到一个https://github.com/Qjizhi/kitti-velodyne-viewer还是用C++和Python写的,不仅需要PCL点云库而且还有编译等一串较为麻烦的操作。而用Matlab做则十分简洁优雅,不到百行代码即可完成。网上对KITTI数据的介绍不够简明,我想通过可视化这一过程介绍一下用到的数据的含义。本文相较于1的github还增加了类别标注上图,接口只有一个就是点云帧编号。所用到的KI原创 2021-08-08 14:03:49 · 5306 阅读 · 2 评论 -
滑模控制二阶系统实例(5mins理解入门,附带MATLAB实现)
问题设想一个在一维空间的物块,在其上施加一个力f,物块会运动:显然这是一个二阶系统,选取状态变量x1x_1x1为位移,x2x_2x2为速度,则有:x1˙=x2x2˙=f/m=u\dot{x_1}=x_2\\\dot{x_2}=f/m=ux1˙=x2x2˙=f/m=u其中uuu定义为输入,mmm为物块的质量。又已知:x1(0)=1x2(0)=0x_1(0) = 1\\x_2(0)=0x1(0)=1x2(0)=0设计一个滑模控制器将其控制到原点。设计滑模面和控制率滑模面其实就原创 2020-09-24 17:06:56 · 17223 阅读 · 11 评论 -
BackStepping反步控制的一个二阶实例推导附带Simulink模型验证
Backstepping基础这一部分强烈建议自己拿出一张草稿纸推一推这篇博客的内容:backsteppingbackstepping的思想正如其名字,反推,将一个高阶系统分解成无数个一阶系统,对每一个一阶系统利用Lyapunov函数找到一个参考输入,而这个输入则是下一个一阶系统的状态变量,下一个一阶系统有了其状态变量的参考值,再利用Lyapunov函数又可以找到一个参考输入,而这个输入则又是下一个一阶系统的状态变量…如此迭代下去,直至推到输入u(最后一个一阶系统)。结合下面这个SISO系统理解我上面说的原创 2020-11-15 17:39:23 · 3054 阅读 · 27 评论 -
Simulink报错:State derivatives returned by S-function ‘xx‘ in ‘untitled/S-Function‘ during flag = 1...
解决这个报错一般还伴随着警告algebraic loop(代数环)存在。看似是s函数的报错,实则问题不出在这,而是出在仿真步长上,我的模型再输入10都是正常的,上100就报错,显然模型应该是不存在问题的。这也是我锁定问题应该在simulink求解方法上而不是模型上的原因。解决方案:将模型设置为固定步长,且步长取小一些:...原创 2020-11-15 16:33:31 · 7449 阅读 · 2 评论 -
MATLAB中一些具有观赏性的可视化函数
contourcontour这个函数用来画三维图的等高线,示例如下:Z = peaks(100)mesh(Z)zmin = floor(min(Z(:))); zmax = ceil(max(Z(:)));zinc = (zmax - zmin) / 10;zlevs = zmin:zinc:zmax;figurecontour(Z,zlevs)效果:peak是创建一个示...原创 2020-10-18 20:10:22 · 96 阅读 · 1 评论