Calling Matlab from Java

Hi everybody,
I need to call Matlab from Java, run some programs in matlab and get the standard output.
I know I can start matlab with:
Process proc = Runtime.getRuntime().exec("matlab");
But then how do i run a program in matlab? (For example, if I have "myprogram.m", I would run it in matlab by typing "myprogram")
If I start a new process [Process proc2 = Runtime......exec("myprogram")], it does not start in matlab.
Any ideas?
thanx in advance.

Sounds like myprogram is just a parameter of a call to matlab.
Try some variations on
exec("matlab myprogram");
There is also - I believe - an exzec call that takes an array of parameters.

Similar Messages

  • Call MatLab from Java

    Hi Java Lovers,
    Any one know how to call MatLab function from Java Code

    {color:#ff0000}Triple posted{color}
    [http://forum.java.sun.com/thread.jspa?threadID=5280633]
    [http://forum.java.sun.com/thread.jspa?threadID=5280629]
    Cross posting is rude.
    db

  • "ReferenceError: "myIpAddr"  is not defined, when call JavaScript from java

    Hi developers,
    My java application was trying to issue a http request via proxy auto-config. So, I did below jobs
    1. Read URL of *.pac from registry
    2. Call FindProxyForURL from java, the code is like below
                   ScriptEngineManager factory = new ScriptEngineManager();
                   ScriptEngine engine = factory.getEngineByName("JavaScript");
                   engine.eval(autoProxyScript);
                   Invocable inv = (Invocable) engine;
                   Object obj = inv.invokeFunction("FindProxyForURL",
                             "http://java.sun.com/",
                             "java.sun.com");
    However, I got "ReferenceError: "myIpAddress" is not defined
    I can not change the script on server to add a function like "myIpAddress", I am wordering why IE or mozilla can call it successfully and get proxy server, while Java failed to do that.
    I got a ugly solution by calling "pacparser" by jni. But I really hope I can get a better solution.

    A .pac file is a JavaScript, but it requires some functions to be defined in the executing context to work (i.e. you must define those).
    From the example on the Wikipedia page there's at least "shExpMatch" and "isInNet". "myIpAddress" seems to be another such candidate.

  • Jintegra problem - accessing Matlab from Java??

    Hi:
    Sorry if this post doesn't belong here!!
    I am accessing Matlab from JAVA using JIntegra for COM. I tried running the example in their website.
    (http://j-integra.intrinsyc.com/support/com/doc/other_examples/Matlab.htm)
    I have also posted the example below. I am using their trial version and have included all the jars as said. I get the an unexpected output (all zero's) for reading a variable in the matlab workspace. I don't understand why I get this. Can anyone let me know if this runs for you??
    Thanks
    Pavan
    Example code from Jintegra website:
    public class MatlabExample {
    public static void main(java.lang.String[] args) throws Exception {
    try {
    // DCOM authentication: Make sure NT Domain, NT User, NT Password are valid credentials.
    // Uncomment this line if MatlabExample.java remotely accesses MATLAB :
    // com.linar.jintegra.AuthInfo.setDefault("NT DOMAIN", "NT USER", "NT PASSWORD");
    // Create the MATLAB object
    // Specify host name or IP address of MATLAB machine as parameter if
    // MatlabExample.java remotely accesses MATLAB.
    // mlapp.MLApp mlApp = new mlapp.MLApp("123.456.789.0");
    mlapp.MLApp mlApp = new mlapp.MLApp();
    String result = mlApp.execute("a = [1 2 3 4; 5 6 7 8;]");
    System.out.println("Execute result is " + result);
    double mreal[][] = new double[2][4];
    double mimage[] = new double[0];
    mlApp.getFullMatrix("a", "base", new Object[]{mreal}, new Object[]{mimage});
    for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 4; j++) {
    System.out.println(mreal[i][j]);
    } finally {
    com.linar.jintegra.Cleaner.releaseAll();
    }

    ......How are you declaring the class in your JSP? ... are you instantiating it as a bean using the useBean tag, or just instantiating it in your code like normal.
    Maybe you could post the relevant JSP code too?
    Hello again,
    Only the last string is populating after the file has be tokenized. What I'll like to accomplish is passing the very first string in the file. I did not get too far in the JSP file setup because the code is still in it's testing stage, but any help will be highly appreciated.
    Here is the JSP code
    <%@page import="dev.*" %>
    <%@page session="true" language="java" import="java.io.*" %>
    <jsp:useBean id="wagerhist" scope="request" class="dev.RoundDetail2" />
    <html>
    <head>
    <title>Round Detail</title>
    <body>
      <table width="530" bordercolor="#000000" valign="top">
        <tr>
              <td align="left"  width="19%">Game ID<%=wagerhist.string_gameID%></td>
              <td align="left"  width="30%">  </td>
              <td align="left"  width="20%">card1</td>
              <td align="left"  width="31%">  </td>
            </tr>
      </table>
    </body>
    </html>

  • Call OSB from java client

    Hi',
    I am trying to call OSB from java client,
    The OSB proxy Service type is "WSDL Web Service", I am able to get response from SOAP UI with below request, Please help me with Java code,
    I have been Googling a lot for this however didnt got enough.
    Thanks
    Yatan
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://core.xxx.com/schema/ServiceHeader/V1.0" xmlns:v11="http://core.xxx.com/schema/Customer/V1.0" xmlns:v12="http://core.xxx.com/schema/Customer/V1.0">
    <soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>weblogic</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome1</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    <v1:GMWSHeader>
    <v1:SourceId>String</v1:SourceId>
    <v1:TransactionId>String</v1:TransactionId>
    <v1:TransactionTimeStamp>1967-08-13</v1:TransactionTimeStamp>
    <v1:ServiceVersion>LATEST</v1:ServiceVersion>
    </v1:GMWSHeader>
    </soapenv:Header>
    <soapenv:Body>
    <v11:GetDetailsRequest>
    <v11:Condition>
    <v12:SellingSource>?</v12:SellingSource>
    <v12:FulfillingFCNNbr>?</v12:FulfillingFCNNbr>
    </v11:Condition>
    </v11:GetDetailsRequest>
    </soapenv:Body>
    </soapenv:Envelope>

    Thanks Guys, I tried the ways you mentioned I am getting below error, this error is coming in both weblogic clientgen and webservice proxy from jdeveloper,
    I understand that this error has something to do with my process however not sure why is it coming, I will really appreciate if you can provide me some pointers.
    error:
    Buildfile: C:\JDeveloper\OSBClient\TestOSBClient\build.xml
    javaFromWSDL:
    [clientgen]
    *********** jax-ws clientgen attribute settings ***************
    wsdlURI: http://localhost:8001/xx/som/contracts/CustomerContract?wsdl
    packageName : com.osb.client
    destDir : C:\OSB
    *********** jax-ws clientgen attribute settings end ***************
    [clientgen] Consider using <depends>/<produces> so that wsimport won't do unnecessary compilation
    [clientgen] parsing WSDL...
    [clientgen]
    [clientgen]
    [clientgen] [ERROR] A class/interface with the same name "com.osb.client.SOMMessage" is already in use. Use a class customization to resolve this conflict.
    [clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Relevant to above error) another "SOMMessage" is generated from here.
    [clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] A class/interface with the same name "com.osb.client.TaskCompletionMessage" is already in use. Use a class customization to resolve this conflict.
    [clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Relevant to above error) another "TaskCompletionMessage" is generated from here.
    [clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
    [clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Related to above error) This is the other declaration.
    [clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
    [clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    [clientgen] [ERROR] (Related to above error) This is the other declaration.
    [clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
    [clientgen]
    BUILD FAILED
    weblogic.wsee.tools.WsBuildException: Error running JAX-WS clientgen: null
         at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:175)
         at weblogic.wsee.tools.anttasks.ClientGenFacadeTask.execute(ClientGenFacadeTask.java:244)
         at weblogic.wsee.tools.anttasks.ClientGenTask.execute(ClientGenTask.java:365)
         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatinxxethodAccessorImpl.invoke(DelegatinxxethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
         at org.apache.tools.ant.Task.perform(Task.java:348)
         at org.apache.tools.ant.Target.execute(Target.java:357)
         at org.apache.tools.ant.Target.performTasks(Target.java:385)
         at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
         at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
         at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
         at org.apache.tools.ant.Main.runBuild(Main.java:758)
         at org.apache.tools.ant.Main.startAnt(Main.java:217)
         at org.apache.tools.ant.Main.start(Main.java:179)
         at org.apache.tools.ant.Main.main(Main.java:268)
    Caused by: Error starting wsimport:
         at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:757)
         at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:169)
         ... 19 more
    Caused by: com.sun.tools.ws.wscompile.AbortException
         at com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:136)
         at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2255)
         at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:194)
         at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:140)
         at com.sun.tools.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:261)
         at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:203)
         at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:188)
         at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:738)
         ... 20 more
    Total time: 3 seconds

  • Call ABAP from Java

    Can any one help me in calling an ABAP program from Java.
    The version of SAP with me is 4.7.
    Thanks in advance.
    Regards ,
    Nagaraju Donikena

    To call ABAP from Java when I tried doing it from sample code given in help I was getting the following error. Can any one help in this regard.
    Exception in thread "main" java.lang.ExceptionInInitializerError: JCO.classIniti
    alize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
    JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjco
    rfc in java.library.path]. java.library.path
            at com.sap.mw.jco.JCO.<clinit>(JCO.java:735)
            at TestConnect.<init>(TestConnect.java:8)
            at TestConnect.main(TestConnect.java:25)

  • How to invoke Matlab from Java

    Hi, I want to pass some data generated from Java class to Matlab, then invoke Matlab from Java to run the computation program (file written in Matlab, myfile.m). I know Matlab can use classes generated from Java, how to drive Matlab from Java?
    I appreciate your help!
    yaya

    According to their documentation, you can't. Having said that, again according to their documentation, there are plans to support this in future releases.
    m

  • Calling BDC from Java using JCO

    Hello Everyone,
    Is it possible to call a BDC from Java program using JCO ?

    Are you serious with that question? Did you try to build the web service client before? Because this is exactly the same. Try to find "building web service clients" instead "Calling BPEL from java". By default (probably) every BPEL process has both WSIF and SOAP end points, just use correct WSDL address.

  • Calling Serializer from Java

    Hi,
    I am calling xsql from Java.
    Can I set FOPserializer with help of oraclesql like i can set other attribute of xsql.
    e.g
    OracleXMLQuery ors = new OracleXMLQuery(conn, selectStmt);
                   ors.setRaiseNoRowsException(false);
    ors.setSkipRows(skipRows);
    ors.setMaxRows(maxRows);
    an example would be helpful.
    Thanks in advance
    Raju

    The FOPSerializer (and the concept of serializers in general) is a feature of the XSQL Pages Framework. Your code example here is using the XML SQL Utility's OracleXMLQuery class. To use XSQL programmatically, you should use the oracle.xml.xsql.XSQLRequest class, documented in the XSQL Online Documentation
    hope this helps.

  • Calling ant from java

    public static void main(String[] args) {
              String arr[] = null;
              arr = new String[2];
              arr[0] = "-buildfile";
              arr[1] = "C:\\workspace\\my projects\\ANTTASKS\\bin\\build.xml";
              try {
                   Launcher launcher = new Launcher();
                   launcher.main(arr);     
              } catch (Exception e) {
                   System.out.println(e.getMessage());
                   // TODO: handle exception
    I tried calling ant from java. But the problem is that, i am not sure how to get the handle of error & input stream from this.
    I also need to know how do I kill the ant executable if there is some kind of exception like ConnectionTimeOut or is there any some kind of timeout mechanism.
    Earlier i was calling ant as an external process like Process P = new Process(), where p.execute("ant.bat xxxxx"). I used to get the error & input stream from the process itself.
    Please help!!!
    thanks

    A better approach would be to use the classes provided in Ant. The API documentation for Ant has all the necessary information.
    The sample code would look like:
    Project ant = new Project();
    ProjectHelper helper = new ProjectHelperImpl();
    ant.init();
    helper.parse(ant, new File("build.xml"));
    ant.executeTarget("clean");

  • Calling searchadminctl from Java failing

    I am trying to call searchadminctl from a Java application, to make some automation around installing thesaurus. The searchadminctl batch file gets called alright and its own Java application gets started, but it gives me this error:
    16:48:26:812 INFO     main          url:null user:eqsys
    16:48:27:530 INFO     main          cmd mode=1
    16:48:27:546 INFO     main          thesaurus:default:null:null
    16:48:27:546 INFO     main          delete:thesaurus:default
    16:48:27:593 INFO     main          thesaurus delete:1
    16:48:27:890 INFO     main          url:null user:eqsys
    16:48:28:609 INFO     main          cmd mode=1
    16:48:28:609 INFO     main          thesaurus:null:null:null
    16:48:28:609 INFO     main          create:thesaurus:C:/ses-thesaurus-importer/export/thesaurus.xml:null
    16:48:28:749 DEBUG     main          thesaurus:null
    16:48:28:749 INFO     main          thesaurus null null
    16:48:28:843 DEBUG     main     ThesaurusDBAdapter          insert to run command:ctxload userName:eqsys
    16:48:30:812 DEBUG     output     ThesaurusDBAdapter$1          Enter user: Connecting...
    16:48:30:827 DEBUG     output     ThesaurusDBAdapter$1          Creating thesaurus DEFAULT...
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          Thesaurus DEFAULT created...
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          Processing...
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          0 lines processed successfully
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          Beginning insert...DRG-50857: oracle error in drzmiai
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-20000: Oracle Text-fejl:
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-04002: INCREMENT skal være et heltal forskelligt fra nul
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-06512: ved "CTXSYS.DRUE", linje 160
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-06512: ved "CTXSYS.DRITHSL", linje 129
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          ORA-06512: ved linje 1
    16:48:30:843 DEBUG     output     ThesaurusDBAdapter$1          
    16:48:30:859 DEBUG     output     ThesaurusDBAdapter$1          Disconnected
    16:48:30:952 DEBUG     main     ThesaurusDBAdapter          finish command with status 1
    16:48:30:952 ERROR     main     Error creating thesaurus: the NLS_LANG environment variable may be inconsistent with the thesaurus encoding java.lang.Exception     oracle.search.admin.db.ThesaurusDBAdapter:insert:310     oracle.search.admin.manager.JDBCDataManagerService:create:148     oracle.search.admin.manager.AbstractAdminDataManager:create:54     oracle.search.admin.manager.ThesaurusManager:create:52     oracle.search.admin.cmd.AdminCMDHandler:create:334     oracle.search.admin.cmd.AdminConsole:runAdminModuleJob:672     oracle.search.admin.cmd.AdminConsole:runAdminComand:541     oracle.search.admin.cmd.AdminConsole:main:227
    As you can see, the delete operation goes well, but create fails. The NLS_LANG message seems to be shown no matter what the real error was though.
    The funny thing is, that I have tried to take the EXACT command with the EXACT parameters my Java application calls, and call it manually, and then it works just fine. Any ideas on how to get this to work? Any ideas what these ORA-XXXXX errors is?
    Thank you
    Søren

    Last night when I was somewhere between this world and dream world I scanned through my code in my mind and found the error, and it is my bad... I called the searchadminctl with my thesaurus file as argument, just before I closed my OutputStream to the file, which we all know is quite a bad idea.
    So the answer is: it is absolutly no problem to call searchadminctl from Java :)
    /Søren

  • Call ESB from java or unix

    Dear All,
    Due to project requirement, I have a customer who wants to call ESB from java/unix
    i am aware of java calling BPEL but I have never seen a java calling ESB ?
    does any body about it ?
    Is it possible ?
    Appreciate your response.
    Best Regards
    Arc

    Hi, for BPEL there is a really good API to invoke processes externally. For ESB there is not (as far as I know). But each ESB process is just invokable like any other web service. So it would be an option to use javax.xml.rpc package and create Service and Call objects. You can then make use of DII (Dynamic invoking) and there is no need to specify parameters as long payload for the ESB process is valid XML for the Routing Service.
    Jos Baan

  • Calling package from java using JNDI properties

    Hi there,
    I have created an interface to transfer data from oracle to JMS XML Queue. It is inside a package and have generated a scenario.
    The scenario works well when executed from the ODI designer. When I execute it from java it throws an error. The error is
    java.sql.SQLException: Cannot load connection class because of underlying exception: 'javax.jms.JMSException: Cannot create the initial JNDI context
    Is there any ways to set the JNDI properties, (any set methods for ODIConnection object)
    Cheers

    Are you serious with that question? Did you try to build the web service client before? Because this is exactly the same. Try to find "building web service clients" instead "Calling BPEL from java". By default (probably) every BPEL process has both WSIF and SOAP end points, just use correct WSDL address.

  • How to Link to MATLAB from java?

    Hi
    Anyone knows how to link to MATLAB from java? I am programming in Java (Eclipse) and I want to link to MATLAB.
    Thanks,
    Bing

    Hi, there:
    Will using JTable add much overhead? I may have to use several JTables and switch among them. I can add scroll bar to or edit JTables, right?
    BTW, do you have experience about gnuplot? Can I find the command tree of gnuplot somewhere? Or do you know a better place to post question about gnuplot? unix/linux group, maybe.
    Thanks,
    Jack
    P.S. Would you guys answer my question after I use up my duke dollars? :- )

  • How to call xml from java

    Hi
    I want to use xml for updating files in an existing jar . so i want to call xml from java code and then come back to java code and do the remaining work in java code, pl guide me how to do this . what APIs are helpful for this regard
    Thanks

    You can't update files in a jar. Even if you could, you wouldn't use XML for that. You don't call XML. XML is not a programming language. So, basically your entire question is misguided.

Maybe you are looking for