joi, 18 noiembrie 2010

Netbeans 6.9.1 & J/Link & Mathematica 7.0

După vreo 2 ore de căutare şi testare, am reuşit în sfârşit să mă conectez la kernelul Mathematica 7.0 prin J/Link. Nu am găsit niciun site de unde să downloadez biblioteca jlink.jar, dar am observat într-un final că se afla în %Mathematica7Folder\7.0\SystemFiles\Links\JLink\JLink.jar (unde %Mathematica7Folder este directorul unde este instalat Mathematica. De exemplu, la mine este G:\Wolfram Research\Mathematica\).

În Netbeans, am creat un proiect nou JavaSE, la care am adăugat la "libraries" %Mathematica7Folder\7.0\SystemFiles\Links\JLink\JLink.jar, iar la această bibliotecă am editat "sources" ca %Mathematica7Folder\7.0\SystemFiles\Links\JLink\Source\Java şi "javadoc" %Mathematica7Folder\7.0\SystemFiles\Links\JLink\Documentation\JavaDoc.


Partea efectivă de conectare la kernel:

"
KernelLink ml = null;
        try {
            ml = MathLinkFactory.createKernelLink("-linkmode launch -linkname '%Mathematica7Folder\\7.0\\mathkernel.exe");          //una dintre metodele de legare la kernel
        } catch (MathLinkException e) {
            System.out.println("Fatal error opening link: "
                    + e.getMessage());

            return;
        }
        try {
            ml.connect();          //conectarea la kernel. !Este diferenţă între createKernelLink şi connect!
        } catch (MathLinkException ex) {
            System.out.println("No connection!" + ex.getMessage());
        }
        try {
            ml.discardAnswer();           //drop pachetul de răspund la conexiune
        } catch (MathLinkException ex) {
           System.out.println("Error! Please restart!" + ex.getMessage());
        }

//dacă totul merge ok, acum ar trebui să fiţi conectaţi la kernel

"

Pentru mai multe informaţii: http://www.wolfram.com/learningcenter/tutorialcollection/JLinkUserGuide/JLinkUserGuide.pdf

Niciun comentariu:

Trimiteți un comentariu