Re: [問題] 在matlab中如何調用自訂的java函數???已回收

看板MATLAB作者 (修行)時間15年前 (2009/04/01 08:58), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #19qhmOeV (MATLAB)
文章代碼(AID): #19qhmOeV (MATLAB)