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 では,それでいけてたのだけれど.


同じカテゴリー(研究みたいな)の記事画像
修論発表を
エレベータに見る
2日連続で東京
Office IME 2007が
盛るぜぇ~超盛るぜぇ~
ゼミ発表
同じカテゴリー(研究みたいな)の記事
 修了 (2010-03-26 18:10)
 歓送迎会が (2010-03-18 18:31)
 中央口のお姉さん, (2010-03-16 14:42)
 学会の (2010-03-10 22:11)
 windows7の認証を (2010-03-05 17:22)
 卒論発表会 (2010-02-15 22:23)

 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。