Java调用Scilab-编译运行Javasci v2

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,则只需下面几步

BasicExample.java文件

// A simple Java example
// javasci v2
// Filename: BasicExample.java

import 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环境搭建完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值