Matlab中使用外部系统命令(如C++编译的exe等)
其实这样做是想在matlab里调用一些外部程序做一些事。比如在m文件里导入数据,而数据是一个外部程序多次改变参数执行得到的,把执行外部程序的命令放m文件里,要省事不少;再比如,把linux下matlab创建的太大的原始视频文件压缩处理放在一起(因为linux下matlab自带的avifile的压缩选项只有'none',也就是说Linux下没法在matlab内部进行压缩。
·
其实这样做是想在matlab里调用一些外部程序做一些事。比如可以在matlab里调用GAMMA的命令行参数可执行exe文件,对数据进行处理。
这样在m文件里导入数据,而数据是一个外部程序多次改变参数执行得到的,把执行外部程序的命令放m文件里,要省事不少。
1. 方法
在matlab中执行一条外部系统命令的方法(不仅仅是Unix系的,windows也是一样的):
! command
比如说linux下
! ls
! mkdir test
更好的使用方法(这个方法也是适用于windows的):
system('command')
[status, results]=system('command')
[status, results]=system('command','-echo')
第一个直接在命令窗口中显示运行中的提示
第二个如果调用成功,status会返回0,如果失败返回其它值,在命令窗口是没有输出的,但是所有字符保存在results中
第三个和第二个一样,只是还强制在命令窗口中显示运行信息。
这个方法之所以更好,还有一个原因就是可以给命令传递字符变量。
例子:在matlab中调用了ReadERS.exe读取数据
更多推荐
已为社区贡献1条内容
所有评论(0)