Re: [問題] 在matlab中如何調用自訂的java函數???已回收
※ 引述《chingfanlee (chingfan)》之銘言:
: 請問版上的大大....
: 如果我有一個用java語言寫的函數,如下
: public static long sessionPK_x0_p(long g,long x0, long p){
: long sPK=1;
: for (int i=0;i<x0;i++){
: sPK=(sPK*g) %p;
: }
: return sPK;
: }
: 我想要在Matlab中使用它,比如在matlab中輸入:
: 則matlab就會輸出我要的a值....
: 請問該如何做呢
1. 先裝好JDK。
注意版本相容性問題,舊版的JRE不能執行新版JDK編出來的程式。
你可以用MATLAB指令:
version -java
來查詢你MATLAB所使用的JRE的版本,然後去下載同系列的JDK。
2. Java所有的程式都要做成一個個class。
所以你必須把你的function寫在一個class裡面:
例如:
public class sessionPK_x0_p
{
public static long sessionPK_x0_p(long g,long x0, long p){
long sPK=1;
for (int i=0;i<x0;i++){
sPK=(sPK*g) %p;
}
return sPK;
}
}
3. 用javac compile sessionPK_x0_p.java產生sessionPK_x0_p.class後,
最簡單在MATLAB執行Java程式的方法是把.class檔丟到MATLAB目前工作目錄,
然後把目前目錄加到Java classpath:
javaclasspath .
更新Java class的cache:
clear java
再來就可以呼叫你的Java程式了:
a = sessionPK_x0_p.sessionPK_x0_p(17,33,503)
Note. MATLAB說明書有教如何使用Java。在
Contents/MATLAB/External Interfaces/Calling Java from MATLAB
--
西方三聖:http://p8.p.pixnet.net/albums/userpics/8/3/553683/1193661731.jpg
《佛說阿彌陀經》http://web.cc.ncu.edu.tw/~93501025/amtf.doc
十一面觀音咒:http://file.buda.idv.tw/music/DBZFY04.mp3
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.220.219
推
04/03 01:29, , 1F
04/03 01:29, 1F
討論串 (同標題文章)