Java调用Scilab-编译运行Javasci v2

来源:互联网 发布:约瑟夫环 java 数组 编辑:程序博客网 时间:2024/05/16 09:32

    • Scilab简要介绍
    • 本文运行环境
    • LinuxUnixMacOSX
    • Windows
    • eclipse

1 Scilab简要介绍

Scilab 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。

  • Scilab开源的软件,用户不仅可以在Scilab的许可证条件下自由使用该软件,还可以根据自己需要修改源代码,使之更加符合自身需要。
  • Matlab类似,Scilab也是一种科学工程计算软件,可以说,就基本的功能如科学计算、矩阵处理及图形显示而言,Matlab能完成的工作Scilab都可以实现。
  • Scilab提供的语言转换函数可以自动将用Matlab语言编写的程序翻译为Scilab语言。

2 本文运行环境


  • win7x64
  • jdk1.8
  • eclipse Mars2
  • Scilab 5.5.2
    首先官网下载scilab安装 ,官网地址:www.scilab.org

2 Linux/Unix/MacOSX


Linux/Unix/MacOSX上,需要设置全局变量SCI:

  • Scilab的二进制文件中,SCI 指向 /path/to/scilab/share/scilab/
  • 在Scilab的源文件目录中,SCI 指向 源文件目录的根目录
    /path/to/scilab/source/tree/

需要将下面的的jar库加入到classpath中:

  • org.scilab.modules.javasci.jar (必须要加的)
  • org.scilab.modules.types.jar (可选)

编译demo代码(demo在本文最后),命令行代码是:

javac -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample.java

运行java应用,还需要提供本机 libjavasci 类库的路径,有两种方式:

  • 设置LD_LIBRARY_PATH路径

    • Scilab的二进制文件中,LD_LIBRARY_PATH要指向
      /path/to/scilab/lib/scilab/ and /path/to/scilab/lib/thirdparty/
    • 在Scilab的源文件目录中, LD_LIBRARY_PATH要指向源文件的根目录/path/to/scilab/modules/javasci/.libs/

    通过下面的命令行来运行程序,

    java -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample
  • 作为java的参数来运行

    java -Djava.library.path=/path/to/libjavasci/:/path/to/scilab/lib/thirdparty/ -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample

3 Windows


假定 Scilab安装在D:\Program Files\scilab-XXXX(xxxx表示Scilab的版本,例如5.5.2)。例如本文安装在D:\Program Files\scilab-5.5.2

在windows中,不必添加特定的环境变量,只需要下面两步

  • 需要将下面的的jar库加入到classpath中:

    • org.scilab.modules.javasci.jar (必须要加的)
      classpath中加入
      D:\Program Files\scilab-5.5.2\modules\javasci\jar

    • org.scilab.modules.types.jar (可选)
      classpath中加入
      D:\Program Files\scilab-5.5.2\modules\types\jar

  • PATH环境变量中要加入scilabxxxx/bin,运行时需要的libjavasci.dll和它的依赖,这些都在bin文件夹中
    PATH中加入D:\Program Files\scilab-5.5.2\bin

不设置classpath的话可通过下面的命令行来运行

java -cp "C:\Program Files\scilab-XXXX\modules\javasci\jar\org.scilab.modules.javasci.jar;C:\Program Files\scilab-XXXX\modules\types\jar\org.scilab.modules.types.jar";. BasicExample

4 eclipse


如果是用eclipse,则只需下面几步

  • 设置path
    D:\Program Files\scilab-5.5.2\bin
  • 将所需的jar文件加到项目中
    org.scilab.modules.javasci.jar和org.scilab.modules.types.jar

BasicExample.java文件

// A simple Java example// javasci v2// Filename: BasicExample.javaimport org.scilab.modules.javasci.Scilab;import org.scilab.modules.types.ScilabType;class BasicExample {    public static void main(String[] args) {        try {            Scilab sci = new Scilab();            sci.open();            sci.exec("a=cos(%pi)*sin(%pi^2);");            ScilabType a = sci.get("a");            System.out.println("a = " + a);        } catch (org.scilab.modules.javasci.JavasciException e) {            System.err.println("Could not find variable type: " + e.getLocalizedMessage());        }   }}

运行效果如图

java call sci demo

至此,java调用scilab环境搭建完毕!

1 0