matlab自动化脚本对于搞飞控有啥用?

Posted 欣飞鸽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab自动化脚本对于搞飞控有啥用?相关的知识,希望对你有一定的参考价值。

matlab自动化脚本对于搞飞控有啥用?

脚本介绍 & 实践操作

matlab自动化脚本对于搞飞控有啥用?






脚本介绍


1

自动化脚本的作用



    

脚本就是个小程序,通过执行该脚本可以将繁琐的有规律的人为操作,通过电脑程序自动执行,减少重复工作。                          



2

举个栗子


对于具有固定格式的通信协议如mavlink,通过自动化脚本,我们可以将基于通信协议的xml文件,生成c/c++的通信协议代码,如MAVLink Generator 脚本工具:

matlab自动化脚本对于搞飞控有啥用?



其中xml文件内容也是相当于有固定格式的代码,感兴趣的可以看下:https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml

文本可能有些不够直观,将有规律的格式通过表格来展示,会更直观一些,如匿名飞控的协议:

matlab自动化脚本对于搞飞控有啥用?

使用格式清晰的表格,便于内容的理解传达。当我们修改通信协议时,修改表格模板,然后使用自动化脚本自动生成修改后的协议代码,这样我们只需维护更直观的表格,而无需反复修改代码。






实践操作


matlab自动化脚本对于搞飞控有啥用?

读取excel表格


一次性读取全部excel表格内容,相比于多次读取部分内容,可以节省打开excel表格的时间,提高读取速度


% num返回的是excel中的数字,txt输出的是文本内容,raw输出的是未处理数据

[num,txt,raw]=xlsread('C:UsersAdministratorDesktop est

a.xls')

形式如下:

matlab自动化脚本对于搞飞控有啥用?

matlab自动化脚本对于搞飞控有啥用?

内容分析


通过size函数,可以获取到读取内容的行数与列数,方便进行整体的遍历:

[row,col] = size(txt);


特殊字符分析解析,可使用正则表达式,或者特殊函数,如判断读取内容是否包含分号:

if contains(strtrim(cell2mat(ParamInline(j,1))), ';')||contains(strtrim(cell2mat(ParamInline(j,1))), ';')

























matlab自动化脚本对于搞飞控有啥用?

自动化写代码


打印某个单元格:


fprintf(fid,'你好程序员" ''%s''"; ',strtrim(cell2mat(txt(1,1))));%打印第一列



新建文件并写入数据

x=[1 2 3 4];%要存入的数据矩阵。fp=fopen('A.txt','a');%'A.txt'为文件名;'a'为打开方式:在打开的文件末端添加数据,若文件不存在则创建。fprintf(fp,'%d ',x);%fp为文件句柄,指定要写入数据的文件。注意:%d后有空格。fclose(fp);%关闭文件。

运行结果如下:

matlab自动化脚本对于搞飞控有啥用?



至此人工智能第一步就完成了,有多少人工,就有多少智能,期待你的精彩!


END

开心飞翔,灵动如鸽

愿与无人机爱好者共创一片蓝天梦!

matlab自动化脚本对于搞飞控有啥用?

常按二维码

关注更多精彩内容!




以上是关于matlab自动化脚本对于搞飞控有啥用?的主要内容,如果未能解决你的问题,请参考以下文章

python自带的idle有啥用

JOOQ自动生成的类中字段的SQLDataType有啥用

redis lua脚本有啥用

notepad++有啥用?

CS1.6脚本有啥用,可以打的更准吗?

asp.net中script有啥用?