2009年11月10日
Java から Scilab version 5の
利用.
ちょっとまとめる必要がでたので,ここにメモ.
テスト環境:
windows vista
Scilab 5.1.1
Java 6 update 17
JavaからScilabへのインタフェースとして,Scilabにjavasciというパッケージが用意されている.
実体は,C:\Program Files\scilab-5.1.1\modules\javasci に.
まず,はじめに環境変数の設定.これらをしないと,任意のディレクトリからscilabを実行できない.
・変数 SCI を新規に作成し,値として scilabのインストール先を指定 C:\Program Files\scilab-5.1.1 といった感じに.
・変数 Path に,scilabの実行ファイルへのパス %SCI%\bin を追加.当たり前だけど,他のパスとの区切りであるセミコロンを忘れない.
次にjavaのコンパイル.
-----Test.java こんなファイルを用意したとする ----
import javasci.Scilab;
public class Test {
public static void main(String []args){
Scilab.Exec("disp(%pi);");
}
}
--------------------------------------------------------
コンパイル方法は,このTest.javaがあるフォルダで
>javac -cp "%SCI%\modules\javasci\jar\javasci.jar" Test.java
というように,javasciのjarファイルを指定.
(javaへのパスがなければ実行できないので,とうしてなければ通すべし.)
""を入れないと c:\program files の途中の空白で切れてしまうので,エラーとなった.
なお,scilab5のjarファイルは java 6 でコンパイルされてるらしいので,クラスファイルのバージョンが50であるべきだみたいなエラーがでたら java 6 で実行を.
次に,実行方法.
同じフォルダにて,
>java -cp ;"%SCI%\modules\javasci\jar\javasci.jar" Test
といった感じで,実行.コンパイルと同じで,javasci.jarをクラスパスに指定.
このとき,java -cp のあとのjar指定のところに,セミコロンを入れないとエラーになるので注意.
これを入れ忘れててものすごく悩んでしまった.
これで,とりあえず実行はできるはず.xpや7の環境でも同様にできるでしょう.
Linuxやmacでは,また方法が違ってくるようだけど,自分は使ってないので知らん.
javasci.jarファイルの元のファイルを指定せず,実行ディレクトリにコピーして.
>javac -cp javasci.jar Test.java
って感じでもおk.
javasciのソース自体は,C:\Program Files\scilab-5.1.1\modules\javasci\src\java\javasci に入ってる.
当初は java 5 で実行したくて,この中のソースを java 5 でコンパイルして利用しようとしてたのだけど,なぜかエラーになってしまう.そのままプログラムの一ファイルとして使っても,jarにまとめて使ってもだめだった.
scilab 4 では,それでいけてたのだけれど.
ちょっとまとめる必要がでたので,ここにメモ.
テスト環境:
windows vista
Scilab 5.1.1
Java 6 update 17
JavaからScilabへのインタフェースとして,Scilabにjavasciというパッケージが用意されている.
実体は,C:\Program Files\scilab-5.1.1\modules\javasci に.
まず,はじめに環境変数の設定.これらをしないと,任意のディレクトリからscilabを実行できない.
・変数 SCI を新規に作成し,値として scilabのインストール先を指定 C:\Program Files\scilab-5.1.1 といった感じに.
・変数 Path に,scilabの実行ファイルへのパス %SCI%\bin を追加.当たり前だけど,他のパスとの区切りであるセミコロンを忘れない.
次にjavaのコンパイル.
-----Test.java こんなファイルを用意したとする ----
import javasci.Scilab;
public class Test {
public static void main(String []args){
Scilab.Exec("disp(%pi);");
}
}
--------------------------------------------------------
コンパイル方法は,このTest.javaがあるフォルダで
>javac -cp "%SCI%\modules\javasci\jar\javasci.jar" Test.java
というように,javasciのjarファイルを指定.
(javaへのパスがなければ実行できないので,とうしてなければ通すべし.)
""を入れないと c:\program files の途中の空白で切れてしまうので,エラーとなった.
なお,scilab5のjarファイルは java 6 でコンパイルされてるらしいので,クラスファイルのバージョンが50であるべきだみたいなエラーがでたら java 6 で実行を.
次に,実行方法.
同じフォルダにて,
>java -cp ;"%SCI%\modules\javasci\jar\javasci.jar" Test
といった感じで,実行.コンパイルと同じで,javasci.jarをクラスパスに指定.
このとき,java -cp のあとのjar指定のところに,セミコロンを入れないとエラーになるので注意.
これを入れ忘れててものすごく悩んでしまった.
これで,とりあえず実行はできるはず.xpや7の環境でも同様にできるでしょう.
Linuxやmacでは,また方法が違ってくるようだけど,自分は使ってないので知らん.
javasci.jarファイルの元のファイルを指定せず,実行ディレクトリにコピーして.
>javac -cp javasci.jar Test.java
って感じでもおk.
javasciのソース自体は,C:\Program Files\scilab-5.1.1\modules\javasci\src\java\javasci に入ってる.
当初は java 5 で実行したくて,この中のソースを java 5 でコンパイルして利用しようとしてたのだけど,なぜかエラーになってしまう.そのままプログラムの一ファイルとして使っても,jarにまとめて使ってもだめだった.
scilab 4 では,それでいけてたのだけれど.
Posted by roma at 11:58│Comments(0)
│研究みたいな