最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從java中調(diào)用matlab詳細(xì)介紹

 更新時(shí)間:2013年12月26日 16:11:52   作者:  
這篇文章主要介紹了從java中調(diào)用matlab,有需要的朋友可以參考一下

前段時(shí)間摸索了java調(diào)用matlab東西,不說(shuō)學(xué)的有多深,也算有結(jié)果了,達(dá)到目的了。也即用java程序可以調(diào)用matlab中函數(shù)了。

    按順序說(shuō)吧,最開(kāi)始肯定是下個(gè)matlab看看。下哪一個(gè)呢。開(kāi)始下一個(gè)7.0覺(jué)得很新了。后來(lái)才覺(jué)得不是,現(xiàn)在都有7.8了。同時(shí)網(wǎng)上還流傳著另外一種版本號(hào)信息,即2006版、 2006a版、2008b版,后來(lái)從網(wǎng)上找資料才知道,原來(lái),matlab是一年兩版的,叫a版和b 版。比如MATLAB 7.2 (Release 2006a),我下的是m7.8即2009a版。網(wǎng)上有對(duì)應(yīng)關(guān)系,有興趣可以找一下。

    先說(shuō)明一下,我用java調(diào)用matlab用的是matlab人提供的,MABLAB BUILDER JA工具,還要告訴你,這工具2006b版以前是沒(méi)有的,我想以前java可能通過(guò)JNI通過(guò)c來(lái)調(diào)用matlab的。所以你下載時(shí)要注意版本了。還有一點(diǎn)要說(shuō)明下,如果你用的是AMD的處理器,不是intel的處理器,安裝matlab后,可能不能運(yùn)行,具體表現(xiàn)是,一打開(kāi)就關(guān)閉了。我公司機(jī)器用就是AMD的處理器,解決辦法其實(shí)也很簡(jiǎn)單,就是給你的機(jī)器新建立一個(gè)系統(tǒng)變量,變量名是BLAS_VERSION,變量值是D://MATLAB7//bin//win32//atlas_Athlon.dll(你的matlab安裝地址)。

   然后,就是我們學(xué)著用MABLAB BUILDER JA了,開(kāi)始不知道看matlab幫助,只是從網(wǎng)上看別人寫(xiě)的東西,關(guān)于這樣的文章基本上出自一個(gè)娘胎,我不明白的地方,都一樣的沒(méi)有。后來(lái)看到了matlab幫助文檔了,確實(shí)興奮了一把,那才是最正宗的。下面我就試著按照它的說(shuō)明一步一步說(shuō)一下。

    先來(lái),介紹一下MATLAB® Builder™ JA吧,它是 MATLAB® Compiler™的擴(kuò)展產(chǎn)品,用它你可以把你的m-code文件包裝起來(lái),并打包到一個(gè)多個(gè)class文件中,這樣的你的java程序就能用matlab了,其實(shí)是這樣的,m-codeiv當(dāng)然就是你想調(diào)用的matlab程序了。

   要說(shuō)明一點(diǎn),如果你只是在安裝matlab的機(jī)器上,用java調(diào)用運(yùn)行由MATLAB® Builder™ JA生成的jar包,當(dāng)然可以。

   如果你要在沒(méi)有安裝matlab的機(jī)器上用java調(diào)用這些jar包,怎么辦?也是可以的,不過(guò),不過(guò)你要先在機(jī)器上安裝matlab提供的MATLAB Compiler Runtime (MCR),它的安裝文件在C:/Program Files/MATLAB/R2009a/toolbox/compiler/deploy/win32下(你的安裝目錄下)文件名MCRInstaller.exe。

   準(zhǔn)備工作:

   java環(huán)境,JAVA_HOME設(shè)置正確。還有一點(diǎn)你jdk版本要是1.6以上的,1.5可能有錯(cuò)。

   關(guān)鍵部分來(lái)了,在這部分你可以,通過(guò)一個(gè)例子,看到一個(gè)M-code function轉(zhuǎn)變成為java可調(diào)用組件。

   這個(gè)例子的名字叫,magic square,這個(gè)例子讓你學(xué)會(huì)如何,創(chuàng)建一個(gè)叫magicsquare 的java組件,它主要包括一個(gè) magic class,和一個(gè)jar文件,還有其它上些發(fā)布組件用到的文件。magic .class是最關(guān)鍵的,就是它包裝了, MATLAB 的函數(shù) makesqr, makesqr函數(shù)是計(jì)算魔方數(shù)組用的,后面我們就是java程序,調(diào)用這個(gè)函數(shù)。

    MATLAB Builder JA,可以通過(guò)在matlab命令,deploytool 調(diào)出,在這之間,為了驗(yàn)證matlab已能得到你的java環(huán)境了,你可以用,getenv JAVA_HOME來(lái)驗(yàn)證一下,能返回你的JAVA_HOME就是正確的了。

    這個(gè)例子的,m代碼和java代碼,matlab都幫我們寫(xiě)好了。你現(xiàn)在需要做的就是把它的代碼拷貝你的工作空間中,它是例子在

    matlabroot /toolbox/javabuilder/Examples/MagicSquareExample .

   matlabroot就是matlab的安裝目錄。

    拷貝MagicSquareExample這個(gè)文件夾到你工作空間, for example, D:/javabuilder_examples

    記得不要有空格。把MagicSquareExample子目錄改名為 magic_square,現(xiàn)在的文件結(jié)構(gòu)應(yīng)該是 D:/javabuilder_examples/magic_square .沒(méi)錯(cuò)的話。然后把matlab工作空間轉(zhuǎn)到D:/javabuilder_ examples/magic_square。 最后,要用m-code function我們要先測(cè)試它,打開(kāi)makesqr.m文件,然后在matlab命令行中,輸入 makesqr(5),看看結(jié)果是不是

17 24  1  8 15
deploytool 調(diào)出 MATLAB Builder JA,它應(yīng)該是如下這個(gè)樣子,

然后你選擇MATLAB BUILDER JA,新建一個(gè)工作,點(diǎn)擊Browse按鈕把你的工作放在
D:/javabuilder_examples/magic_square.輸入magicsquare 作為工程名稱。默認(rèn)工程名字也是
D:/javabuilder_examples/magic_square目錄下的包名。
MATLAB Builder JA 分配classes存放的文件夾名是按工程名稱來(lái)設(shè)置的,所以在本工作中,Magicsquare 就是作為,calsses存放目錄
名稱了,我們要手動(dòng)改它名字為,class,直接右擊就可以改了。(這也是我以前看別人文章的,老找不到他們所謂的class文件夾的原因,也沒(méi)人說(shuō)這個(gè)問(wèn)題)
工作建好以后,你可以setting你的工程,matlab的指南上說(shuō),讓我們把Generate Verbose Output 選項(xiàng)選上,這樣就能看到出錯(cuò)信息,實(shí)際上它默認(rèn)是選擇的。
然后,把m文件添加到工程中,在matalb中找到makesqr.m 文件把它,用鼠標(biāo)拖到工程的magic文件夾下。然后保存工程。
下面就是構(gòu)建工程,點(diǎn)擊面板上方 按鈕,等待一會(huì),matlab就會(huì)你的工程目錄下,創(chuàng)建src 和distrib兩個(gè)文件夾。 src目錄中包括有,生成的java文件,magic.class。distrib目錄中包括有java存檔文件,magicsquare.jar。
23  5  7 14 16
 4  6 13 20 22
10 12 19 21  3
11 18 25  2  9
下面就是把m-code函數(shù)創(chuàng)建成一個(gè)java組件。用剛才說(shuō)的,

接下來(lái),就是驗(yàn)證你用matlab builder ja生成的java組件是不是能用的時(shí)候了。

先在你的java ide中建立一個(gè)java工程,然后把剛才生成的magicsquare.jar,還有,matlabroot/toolbox/javabuilder/jar/javabuilder.jar加入你的java工程構(gòu)建路徑中去。

然后你把D:/javabuilder_examples/magic_square/MagicDemoJavaApp下的getmagic.java測(cè)試文件拷貝到你java工程下,然后直接運(yùn)行它。具體是怎么調(diào)用的,你看一測(cè)試代碼就知道了,很easy.

就可以測(cè)試了。它是提示你輸入一個(gè)數(shù)。如輸入5,回車得到

Magic square of order 5

17 24  1  8 15
23  5  7 14 16
 4  6 13 20 22
10 12 19 21  3
11 18 25  2  9
就正確了。


最后補(bǔ)充一點(diǎn),我在公司機(jī)器上運(yùn)行這個(gè)例子時(shí),能出結(jié)果,但出結(jié)果前,老是報(bào)

這個(gè)錯(cuò),但在我家,自己的機(jī)器上就沒(méi)有這個(gè)錯(cuò)誤,要說(shuō)明一點(diǎn)的是,我家自己機(jī)器上用的INTEL的cpu,公司用的是AMD的,其它沒(méi)什么區(qū)別。也不知是什么原因。

相關(guān)文章

  • Set接口深入剖析之HashSet、LinkedHashSet和TreeSet

    Set接口深入剖析之HashSet、LinkedHashSet和TreeSet

    這篇文章主要介紹了Set接口深入剖析之HashSet、LinkedHashSet和TreeSet,LinkedHashSet是HashSet的子類,實(shí)現(xiàn)了Set接口,LinkedHashSet底層是一個(gè)LinkedHashMap,底層維護(hù)了一個(gè)數(shù)組+雙向鏈表,需要的朋友可以參考下
    2023-09-09
  • Layui 后臺(tái)加載菜單欄名稱以及url的例子

    Layui 后臺(tái)加載菜單欄名稱以及url的例子

    今天小編就為大家分享一篇Layui 后臺(tái)加載菜單欄名稱以及url的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • Spring使用注解存儲(chǔ)和讀取對(duì)象詳解

    Spring使用注解存儲(chǔ)和讀取對(duì)象詳解

    這篇文章主要給大家介紹了關(guān)于Spring如何通過(guò)注解存儲(chǔ)和讀取對(duì)象的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),有一定的參考價(jià)值,需要的朋友可以參考下
    2023-04-04
  • java ThreadLocal使用案例詳解

    java ThreadLocal使用案例詳解

    這篇文章主要為大家詳細(xì)介紹了java ThreadLocal的使用案例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • MyBatis-plus數(shù)據(jù)庫(kù)字段排序不準(zhǔn)確的解決

    MyBatis-plus數(shù)據(jù)庫(kù)字段排序不準(zhǔn)確的解決

    這篇文章主要介紹了MyBatis-plus數(shù)據(jù)庫(kù)字段排序不準(zhǔn)確的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Integer IntegerCache源碼閱讀

    Integer IntegerCache源碼閱讀

    這篇文章主要介紹了Integer IntegerCache源碼閱讀,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Springboot微服務(wù)項(xiàng)目整合Kafka實(shí)現(xiàn)文章上下架功能

    Springboot微服務(wù)項(xiàng)目整合Kafka實(shí)現(xiàn)文章上下架功能

    這篇文章主要介紹了Springboot微服務(wù)項(xiàng)目整合Kafka實(shí)現(xiàn)文章上下架功能,包括Kafka消息發(fā)送快速入門(mén)及相關(guān)功能引入,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • SpringBoot下token短信驗(yàn)證登入登出權(quán)限操作(token存放redis,ali短信接口)

    SpringBoot下token短信驗(yàn)證登入登出權(quán)限操作(token存放redis,ali短信接口)

    這篇文章主要介紹了SpringBoot下token短信驗(yàn)證登入登出權(quán)限操作(token存放redis,ali短信接口),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Java 多層嵌套JSON類型數(shù)據(jù)全面解析

    Java 多層嵌套JSON類型數(shù)據(jù)全面解析

    這篇文章主要介紹了Java 多層嵌套JSON類型數(shù)據(jù)全面解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • springboot接收J(rèn)SON實(shí)現(xiàn)示例解析

    springboot接收J(rèn)SON實(shí)現(xiàn)示例解析

    這篇文章主要為大家介紹了springboot如何接收J(rèn)SON的實(shí)現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07

最新評(píng)論

辽源市| 山阴县| 托克托县| 阳江市| 双鸭山市| 怀来县| 松原市| 新蔡县| 绥阳县| 西吉县| 卫辉市| 阿鲁科尔沁旗| 绥德县| 育儿| 丹寨县| 云阳县| 工布江达县| 开原市| 柳林县| 平果县| 杭锦后旗| 霸州市| 银川市| 安康市| 望城县| 普洱| 江川县| 怀仁县| 双鸭山市| 宜城市| 扎囊县| 深水埗区| 恩施市| 库车县| 皋兰县| 敦煌市| 朝阳县| 汉沽区| 日土县| 巨野县| 东海县|