关于VB调用MATLAB中M文件的步骤

2024-11-27 04:02:57
推荐回答(1个)
回答1:

、通过M文件
Matlab产生的M文件不能直接在VB中调用,可利用mcc将M文件直接编译成.EXE文件,然后在VB中声明下面三个API函数,最后使用Shell命令即可实现VB与Matlab的无缝集成。
1. 用mcc生成独立的外部应用程序。可使用如下两种命令:
mcc -p file.m 或 mcc -m file.m
2. 在VB中声明调用的三个API函数:
● Declare Function WaitForSingleObject Lib “kernel32”(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
● Declare Function CloseHandle Lib “kernel32”(ByVal hObject As Long) As Long
● Declare Function OpenProcess Lib “kernel32”(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long,ByVal dwProcessId As Long) As Long
3. 示例代码:
Dim lTask As Long, lret As Long, lHandle As Long
’执行file.exe文件
lTask = Shell(“file.exe”, vbNormalFocus)
lHandle = OpenProcess(SYNCHRONIZE, False, lTask)
’等待进程执行完毕
lret = WaitForSingleObject(lHandle, INFINITE)
lret = CloseHandle(lHandle)
’ file.exe文件执行完毕后,继续执行应用程序
……
通过以上编码,应用程序可以在执行过程中调用.EXE完成特定的计算或图形功能后,再继续其执行过程,从而实现与Matlab的集成。