matlab 写excel 慢_吐槽一下MATLAB的workspace

用MATLAB编程,或者Simulink建模仿真,有一个特别强大、特别人性化的功能,可以在workspace中直接查看定义的参数和运行的结果

无论是仿真的调试,结果的分析,或是中途的Debug,workspace都发挥着至关重要的作用

cd051b687f066fa01f1f0f48d86e5c83.gif

工具是好工具,不过我还是想吐槽一下……

几年前在我还是软件工程师的时候,经常会碰到这种情况

做控制器模型开发或者集成测试的时候,加载模型、标定量和模型测试需要的数据之后,workspace里就会产生无数个数据,多到什么情况,就是加载的时候会等的不耐烦,用滑块翻页会卡的那种

这导致的一个问题是,workspace就失去了它原本的作用,没办法一下子在workspace里找到想要查看的数据

我想查个热阻的标定量,记不住全名,只知道末尾是个“_C”,中间有个关键词“Rth”,你说我该在workspace里翻,还是到模型里找,万一这模型根本不熟,是不是就GG了

有相同经历的汽车工程师,麻烦评论区举个手

3a31e7f4e21c8d15eb3f0fde73fd170a.png

于是,我根据这个槽点,自己DIY了一个workspace,叫HaoWorkspace

今天我们就来聊一聊,HaoWorkspace都有哪些有意思的功能

既然要做一个山寨workspace,第一要素就是外观上要像

所以,我在HaoWorkspace里加入了windows docked的功能,启动之后会自动停靠在MATLAB界面中

figure('windowstyle','docked')

我把HaoWorkspace的窗口移动到workspace上方,这样看起来就真的挺像一个workspace了

6b27a1b182bcefb16126b0f7e1fe10ae.png

前面吐槽这么多,说白了,就是希望workspace里能增加一个变量名搜索的功能

在HaoWorkspace里变量名搜索的功能通过一个搜索框就实现了,在搜索框中输入关键词,回车,就能过滤出所有带有关键词的目标变量名,同时还支持多关键词搜索,通过空格符分隔

144aa9d44c7a4c9e5daae68b8e87a523.gif

定位到需要的变量之后,大家可以在命令栏粘贴变量名查看数值,更简单的做法是,我加入了一个快捷键查看变量的功能,选取变量,按一下空格键,就能查看变量内容了

f832f53dc86cec583e2f8fed7c42e7db.gif

除了变量名检索功能之外,我还加入了数据类型过滤的功能

只需要在下拉菜单中选取想要查看的数据类型,就能把这种类型的所有数据过滤出来

78e33564466680eae7b41c1fdd9e1b8f.gif

前面吐槽的功能,HaoWorkspace已经顺利解决了,不过HaoWorkspace难道就只有这两个简单的功能吗?

必须不是!

HaoWorkspace还能把变量导出到mat文件、m文件和Excel文件中

肯定有朋友会说,workspace右键也能另存为mat文件和m文件啊

但是,HaoWorksapce可以基于变量的检索过滤,根据用户需求,有选择的导出,也算是检索功能基础上的一个拓展功能

简单聊几句我为什么要写这个功能

做控制器开发或者仿真的时候,经常需要对标定量调参优化,但这并不是一蹴而就的,几个关联标定量之间需要反复调整,最终才能确定

调完了,头就大了,因为要把最终的标定量同步回数据管理文件中,而标定量实在太多了

我问了一些工程师朋友,他们的做法是,每调一个参数数值,就要先手动在数据文件里修改,然后运行脚本,把改动数据赋值到workspace里测试效果,再继续改

而HaoWorkspace能解决的问题是,大家只管尽情地在命令栏改标定量,调到你满意为止,最后再一键导出

有些朋友习惯用m文件管理标定量,那就只需要在搜索框中检索标定量特定的标志,比如末尾“_C”,然后把过滤出的全部标定量导出到m文件

bc535c34c07ec19001ccd66e3f80e4fd.gif

有些项目用的是特定的数据类型,那就可以按照数据类型进行过滤,然后全选导出

cb8612c2bfb9370723d0e59d51aa743a.gif

同时,数据导出功能加入了excel选项,很多朋友在平时工作过程中习惯用excel管理数据

但是在功能开发过程中存在一个问题,就是文件模板难以统一,所以目前初版功能我暂时先用一个比较简单的excel模板导出数据,之后大家有更好的建议,可以微信我

导出的excel中,按照不同数据类型定义相应的sheet,比如double数据存放在一个sheet中,cell数据存放在另一个sheet中

f2abedb772dce66ee093265cdfa734b5.gif

以上就是今天关于HaoWorkspace的一个简单分享

如果你也对MATLAB感兴趣,欢迎关注我的公众号“打浦桥程序员”,更多MATLAB GUI工具,电子书,视频和源代码等你来拿~

对HaoWorkspace有兴趣的朋友直接拿去用吧

链接:https://pan.baidu.com/s/1Ejkzw6Ecgd5trEwL6WY6Ig

密码:afio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值