Я пытаюсь выяснить способ запуска файла.m из java.
Когда файл.m запущен, он выводит текстовый файл, который мне нужно получить. У меня уже есть код для извлечения текстового файла в java, но я до сих пор не могу понять, как запустить и запустить файл.m из java, чтобы он выводил нужный мне файл. Есть идеи?
Я думаю, что MatlabControl - это то, что вы хотите. Все это описано здесь: http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html
По сути, звоните
MatlabControl.eval( "yourfile.m");
Вот код, который вы ищете:
import matlabcontrol.*;
public class matlabconnect
{
public static void main(String[] args)
throws MatlabConnectionException, MatlabInvocationException
{
// create proxy
MatlabProxyFactoryOptions options =
new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
// call builtin function
proxy.eval("disp('hello world')");
// call user-defined function (must be on the path)
proxy.feval("matlab_file_name");
// close connection
proxy.disconnect();
}
Я протестировал программу. Он работает хорошо. Не забудьте поместить ваш файл matlab в свой путь по умолчанию.
Вы можете просто запустить Java-процесс и запустить matlab... "matlab -r" yourMfile "