久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

在Java中調(diào)用matlab函數(shù)

 老狗肚皮 2014-06-26

    考慮到計算的各種情況,有些用Java代碼實現(xiàn)的計算難免會顯得不夠高效,。而利用MATLAB寫好相應(yīng)的計算函數(shù),,然后打包成jar包供Java調(diào)用,在某些情況下會更加方便?,F(xiàn)在就來說一下如何實現(xiàn)這一過程:

  1.確定配置好了相應(yīng)的環(huán)境

    首先,要確定你電腦上裝好了MATLAB并且配置好了Java的運(yùn)行環(huán)境,,注意,,MATLAB的版本必須是2006b+(包括2006b或更高版本),因為只有在這些版本中才有MATLAB Builder for Java(也叫Java Builder),。

  2.打包步驟

    a)打開MATLAB(筆者用的是MATLAB 2012b,,版本的一些差異我會在后面注明),在Command Window框中輸入deploytool,,會跳出如下界面:

在Java中調(diào)用matlab函數(shù)
    b)在Name中輸入名字,,在Location中選擇路徑,最后在Type中選擇Java Package:

在Java中調(diào)用matlab函數(shù)

    可能在有些版本中選擇Type時顯示的是Matlab Builder for Java,,并且在Deployment Tool面板中還有Generate Verbose Output選項框,,勾選上它,針對不同的版本時可能有一些出入,,大家多留心一些,,自己多嘗試嘗試。

  c)在MATALAB的Editor中新建一個m文件,,這里編輯一個簡單的加法函數(shù)add并保存:

在Java中調(diào)用matlab函數(shù)

    d)在MATLAB中找到Java Package窗口,,添加class文件,命名這個class文件的時候要注意了,,因為這個文件就是以后導(dǎo)入到Java中要作為一個對象的名字,,也就是說它就是放在new后面作為構(gòu)造函數(shù)的類名,。這里命名為matlabAdd:

在Java中調(diào)用matlab函數(shù)
  e)然后點類名下的Add files,將剛才編輯好的m文件add.m加到matlabAdd當(dāng)中,。在Java中調(diào)用matlab函數(shù)

  f)接著就可以打包了,,還是在Java Package窗口找到在Java中調(diào)用matlab函數(shù),點擊就可以打包了,。等打包好,,就可以調(diào)用了。

  3.調(diào)用打包好的matlab函數(shù)

    a)在MATLAB安裝的目錄中找到"...\toolbox\javabuilder\jar\javabuilder.jar"的文件,并在你剛才打包的文件夾中找到對應(yīng)的包,,本例中是firstOne.jar,,然后將這兩個jar包導(dǎo)入到你的Java項目當(dāng)中。


在Java中調(diào)用matlab函數(shù)
b)新建JAVA類文件MJBuilderTest.java,,示例代碼如下:

import com.mathworks.toolbox.javabuilder.*;
import myadd.*;

class MJBuilderTest
{
     public static void main(String[] args)
     {
         MWNumericArray a = null;   
         MWNumericArray b = null;   
         Object[] result = null;    
         Myadd myAdd = null;     
         try
         {
            
             if (args.length != 2)
             {
                 System.out.println("Error: must input 2 numbers!");
                 return;
             }
           
            
             a = new MWNumericArray(Double.valueOf(args[0]),MWClassID.DOUBLE);
             b = new MWNumericArray(Double.valueOf(args[1]),MWClassID.DOUBLE);
            
             myAdd = new Myadd();
           
            
             result = myAdd.myadd(1, a, b);
             System.out.print("/nThe sum of " + a.toString() + " and " + b.toString() + " is: ");
             System.out.println(result[0]);
         }
         catch (Exception e)
         {
             System.out.println("Exception: " + e.toString());
         }
       
         finally
         {
            
             MWArray.disposeArray(a);
             MWArray.disposeArray(b);
             MWArray.disposeArray(result);
             if (myAdd != null)
                 myAdd.dispose();
         }
     }
}

c)在Eclipse中設(shè)置好輸入?yún)?shù)輸入窗口:Run as- Run configations-Arguments 選擇 要輸入的數(shù)據(jù)類型,,這里選擇的是“string_prompt”,點擊應(yīng)用,。

d)編譯執(zhí)行MJBuilderTest.java,,輸入?yún)?shù)(2個參數(shù)用空格隔開),例如:1 2 ,,如果配置正確,,結(jié)果會顯示

“The sum of 1 and 2 is: 3”

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多