我无法使用从Java调用的COM API来执行我的Matlab脚本。这是一个Java单元测试:
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Variant;
@Test
public void testMatlab()
{
ActiveXComponent myMatlabInCom = new ActiveXComponent("Matlab.Application");
myMatlabInCom.invoke("Execute", new Variant("addpath('C:\\mike\\test');"));
myMatlabInCom.invoke("Execute", new Variant("cd ('C:\\mike\\test');"));
myMatlabInCom.invoke("Execute", new Variant("testScript;"));
}
这是我的Matlab testScript.m文件:
function testScript()
prompt = 'Do you want more? Y/N [Y]: ';
str = input(prompt,'s');
if isempty(str)
str = 'Y';
end
disp('You answered: ');
disp(str);
testScript.m位于' c:\ mike \ test'夹
我看到的行为是提示永远不会出现。似乎我的脚本从未被调用过。
知道我可能做错了什么吗?看起来这应该很容易,但我似乎无法让它发挥作用。
谢谢,-Mike