以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  VBA调用matlab出现程序被占用  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=163886)

--  作者:小王
--  发布时间:2018/6/7 11:03:39
--  VBA调用matlab出现程序被占用

VBA调用matlab出现由于另一个程序正在运行,此操作无法完成,请切换或重试的问题

 

 

 

 

 

Dim Matlab As Object  \'全局变量声名

On Error Resume Next  \'对于matlab的打开、声明和错误处理
 Set Matlab = GetObject("", "Matlab.Application")
If Err Then
Err.Clear
Set Matlab = CreateObject("Matlab.Application")
If Err Then
MsgBox "软件不能打开MATLAB,请重试!"
Exit Sub
End If
End If

\'隐藏matlab窗口
Matlab.Visible = False

Call Matlab.PutFullMatrix("WDZ", "base", WDZ, IM)


 Matlab.Execute ("load e:\\data.mat;wip=WDZ(1,1:14);t0=WDZ(1,15);[X]=fun123(wip,t0,A);load e:\\matlab2.mat;Attributes=X(1,:);[predict_label1]=svmpredict(1, Attributes,svmModel);z=predict_label1;")
Call Matlab.GetFullMatrix("z", "base", z, IM)
For j = 1 To 1
Yc1 = z(1, j)
Next
Call Matlab.Quit
Set Matlab = Nothing


--  作者:无为剑
--  发布时间:2018/6/7 11:27:54
--  

应该是由于MATLAB计算较慢,上次调用还没计算完毕,你又去调用。

不知道上述这段话,您是否能正常理解?


--  作者:小王
--  发布时间:2018/6/8 11:10:52
--  
可是第一次调用也出现这个问题
--  作者:无为剑
--  发布时间:2018/6/8 12:14:23
--  

请问你是在金字塔平台上运行的吗?


--  作者:小王
--  发布时间:2018/6/8 12:35:12
--  
不是,我是Arena仿真软件,也是VBA调用matlab,就想问一下
--  作者:无为剑
--  发布时间:2018/6/8 12:55:25
--  

不是金字塔平台,我们没法帮您的


--  作者:小王
--  发布时间:2018/6/8 12:56:05
--  
好的,谢谢