在matlab中如何调用执行外部程序呢

在matlab中如何调用执行外部程序呢,第1张

简单地方法是通过磁盘文件交换数据,先将c程序运行结果保存为磁盘文件,然后再通过matlab读取;

还有一个方法比较烦,但是要快很多,就是将你的c程序编译成mex文件,可以在matlab里面直接调用。具体怎么 *** 作可以到网上找资源,非常多

1准备好C语言程序,清楚C语言的入口函数

2编写mexfunction函数。mexfunction函数为C语言与MATLAB语言的接口函数。调用实例在mylinedetectc文件中在MATLAB中调用mex指令编译相关文件,将C语言编译为MEX文件。

3编译完成后,生成mylinedetectmexw32或mylinedetectmexw64文件,此文件即mex文件,用于MATLAB与C语言接口函数

4编译完成之后,编写MATLAB函数,调用MEX文件。以MEX文件的形式调用编译完成的C语言函数[o1,o2]=mylinedetect(double(X)');

5输出结果,上述linedetect函数完成图像中直线检测功能,带入MATLAB中调用后形成结果。

1 打开matlab2012b,点击new script,进入m文件编辑区。

2 先点击New,再在下拉选项中选择script。

3 进入m文件编辑区,文件默认名为:Untitled,即:未命名的。

4 在编辑区窗口定义要创建的函数。在这里我们编辑一个函数:

function y=raicos(t)

y=1/2(1+cos(pit))(t<-1&t<1);

5 保存创建的函数。按照下图所标的顺序,依次选择save、保存位置、保存的名称、保存确认键。下次就可以直接调用函数了。

6 在编制程序的过程中,若需用到y=raicos(t)函数,可直接调用。调用实例如下:

t=-2:001:2;

x=raicos(t);

plot(t,x)

保存m文件。方法步骤如上。也可以依次选择save as、保存位置、保存的名称、保存确认键。

点击run。即“运行”。

运行结果如下,在图形窗口中绘出了函数图形,即为所要的输出结果。

编写Gui时往往需要调用一些其他的外部程序。windows系统下,matlab可以用dos()或者

system()等命令来调用外部程序。

例如:dos(C:\Program Files\AA\XXXexe')

有时还需要在调用应用程序后,让应用程序再调用某些文件来执行。这时可以在dos()或者

system()中加入参数来实现:

比如:dos(C:\AA\XXXexe ABCtxt')%注意这里对空格的要求很严格。

在默认情形下,dos()或者system()打开了一个应用程序,知道这个应用程序结束了才执行后续

的命令,这里可以通过添加 & 的选项来实现打开应用程序后立即返回matlab,然后执行matlab

的后续命令,而不等待应用程序。

比如:dos('notepad filem &')%To open the Microsoft Notepad editor and return control

immediately to MATLAB。

由于安装应用程序的路径中往往有空格,使得dos()或者system()无法识别。因此可以在执行

dos()或者system()之前,先记住当前路径cd1=cd; 然后把当前路径改到应用程序所在的文件夹。

打开应用程序完成后,再改回cd1不影响后续程序的执行。

用matlab关闭应用程序时,可以调用tskillexe,tskillexe在关闭命令时,需要知道应用程序对应进程

的PID,有关用matlab读取PID的代码在网有下载。

以上就是关于在matlab中如何调用执行外部程序呢全部的内容,包括:在matlab中如何调用执行外部程序呢、如何在matlab上运行c语言写的程序、在matlab中怎么直接调用函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9793205.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存