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调用scilab环境搭建完毕!