vb调用MATLAB

vb调用MATLAB,第1张

Set Matlab = CreateObject("Matlab. Application")

这句中,matlab.和Application之间不要有空格。

还有前面要有Set,look下面:

Public Matlab As Object

Private Sub Button1_Click()

Set Matlab = CreateObject("Matlab.Application")

Call Matlab.MinimizeCommandWindow

Call Matlab.Execute("clca=[1,2,34,5,6]b=[4,5,61,2,3]c=a+b")

End Sub

、通过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的集成。


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

原文地址: http://outofmemory.cn/yw/11141530.html

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

发表评论

登录后才能评论

评论列表(0条)

保存