導航:首頁 > 編程語言 > javamatlab混合編程

javamatlab混合編程

發布時間:2022-04-23 02:53:36

❶ MATLAB java混合編程效率問題

因為java在打包成為位元組碼後是被jvm解釋執行的。

❷ JAVA調用MATLAB的程序怎麼才能脫離MATLAB運行

脫離matlab工作環境,實現matlab與visualbasic語言的混合編程
以下討論是在matlab7.0軟體和vc++6.0軟體環境中進行:
一、將matlab的.m文件編譯成.exe文件,實現matlab與visual
basic語言的混合編程
1

❸ java與matlab混合編程報錯

你是java調用matlab還是matlab調用java?
有些功能是不支持混合調用的,比如matlab中sym等函數。

❹ java和matlab之間數據類型的轉換規則

其實java和matlab類型的轉換並不困難,java與matlab可以混合編程,所以你可以在matlab端寫一個M文件用於將matlab的矩陣換為數組(這個很簡單三),然後將數組發給java端~同理在matlab端還寫一個m文件用於將從java端發來的數組轉換為矩陣,不需要強轉,你只需要建一個新的矩陣,然後將數組的內容填進去就ok啦~
希望能夠幫助到你!

❺ matlab與java混合編程有什麼作用

Java和matlab混合編程

如果用Matlab和java混合編程開發Windows的應用程序則可以實現優勢互補,縮短開發時間,降低程序設計的復雜度。同時程序可以脫離Matlab環境獨立運行,在工程計算和教學實踐中都具有實際意義。
1.使用java調用Maltab函數的基本方法是:通過Java Builder實現Java調用Matlab。在Java環境中直接調用Matlab所生成的Jar包。

下面以在Java中產生任意維數的魔方矩陣,計算任意矩陣的特徵向量和特徵值,對兩組數據進
行擬合並繪制擬合曲線三個實例來說明通過Java
Builder實現Java調用Matlab的過程。傳統的純Java編程實現上述實例非常復雜,甚至很難完成。這一問題在Matlab中只需要調用幾個
函數即可完成。

1.1、將Matlab函數包裝成Java類

首先在Matlab中編寫三個M文件:

Eig.m

function [v,d]=Eig(input)

format long

[v,d]=eig(input);

End

Magic.m

function f =Magic( input )

f=magic(input);

end

Plot.m

function Plot(x,y )

p=polyfit(x,y,3);

t=min(x):max(x)/100:max(x);

s=polyval(p,t);

plot(x,y,'*',t,s);

title('數據擬合結果');

xlabel('x');

ylabel('y');

end

其次,在Matlab中新建一個Deployment
Project,名稱為MyProject.prj,類型為Java
package。在Project中新建三個Class,分別為GetEig,GetMagic,PolyFit。將
Eig.m,Magic.m,plot.m分別添加到上述Class中。之後點擊Builder the project,等待編譯成功即可。

1.2、在Java中調用Matlab函數

新建一個Java類JavaMatlab,並引入相關的包。

import com.mathworks.toolbox.javabuilder.*;//引入Matlab相關包

import MyProject.*;//引入建立的包及類

調用時Java與Matlab之間的參數傳遞需要通過MWNumericArray完成。具體的調用代碼如下:

package org.genius.ExpandJava;

import MyProject.*;

import com.mathworks.toolbox.javabuilder.*;

public class JavaMatlab {

public static void main(String[] args) {

MWNumericArray a = null; // 用於保存矩陣

MWNumericArray ax = null; // 用於保存矩陣

MWNumericArray ay = null; // 用於保存矩陣

Object[] result = null; // 用於保存計算結果

GetEig getEig = null;

GetMagic getMagic=null;

PolyFit polyFit=null;

int r = 4; // 魔方矩陣維數

int array[][]={{50,-20,0},{-20,80,60},{0,60,-70}};

double x[]={0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1};

double y[]={-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2};

try {

//產生魔方矩陣並列印

a = new MWNumericArray(r, MWClassID.DOUBLE);

getMagic = new GetMagic();

result = getMagic.Magic(1,a);

System.out.println("產生的四維魔方矩陣:");

System.out.println(result[0]);

MWArray.disposeArray(result);

//計算所給矩陣的特徵向量和特徵值並列印結果

a = new MWNumericArray(array, MWClassID.DOUBLE);

getEig = new GetEig();

result = getEig.Eig(2, a);

System.out.println("原始矩陣:");

System.out.println(a.toString());

System.out.println("得到的特徵向量:");

System.out.println(result[0]);

System.out.println("得到的特徵值:");

System.out.println(result[1]);

MWArray.disposeArray(result);

ax = new MWNumericArray(x, MWClassID.DOUBLE);

ay = new MWNumericArray(y, MWClassID.DOUBLE);

polyFit = new PolyFit();

result=polyFit.Plot(ax,ay);

polyFit.waitForFigures();

} catch (Exception e) {

System.out.println("Exception: " + e.toString());

}

finally {

// 釋放本地資源

MWArray.disposeArray(a);

MWArray.disposeArray(ax);

MWArray.disposeArray(ay);

MWArray.disposeArray(result);

getEig.dispose();

getMagic.dispose();

polyFit.dispose();

}

}

}

❻ 如何在java中調用matlab代碼

前段時間摸索了java調用matlab東西,不說學的有多深,也算有結果了,達到目的了。也即用java程序可以調用matlab中函數了。
按順序說吧,最開始肯定是下個matlab看看。下哪一個呢。開始下一個7.0覺得很新了。後來才覺得不是,現在都有7.8了。同時網上還流傳著另外一種版本號信息,即2006版、 2006a版、2008b版,後來從網上找資料才知道,原來,matlab是一年兩版的,叫a版和b 版。比如MATLAB 7.2 (Release 2006a),我下的是m7.8即2009a版。網上有對應關系,有興趣可以找一下。
先說明一下,我用java調用matlab用的是matlab人提供的,MABLAB BUILDER JA工具,還要告訴你,這工具2006b版以前是沒有的,我想以前java可能通過JNI通過c來調用matlab的。所以你下載時要注意版本了。還有一點要說明下,如果你用的是AMD的處理器,不是intel的處理器,安裝matlab後,可能不能運行,具體表現是,一打開就關閉了。我公司機器用就是AMD的處理器,解決辦法其實也很簡單,就是給你的機器新建立一個系統變數,變數名是BLAS_VERSION,變數值是D://MATLAB7//bin//win32//atlas_Athlon.dll(你的matlab安裝地址)。
然後,就是我們學著用MABLAB BUILDER JA了,開始不知道看matlab幫助,只是從網上看別人寫的東西,關於這樣的文章基本上出自一個娘胎,我不明白的地方,都一樣的沒有。後來看到了matlab幫助文檔了,確實興奮了一把,那才是最正宗的。下面我就試著按照它的說明一步一步說一下。
先來,介紹一下MATLAB® Builder™ JA吧,它是 MATLAB® Compiler™的擴展產品,用它你可以把你的m-code文件包裝起來,並打包到一個多個class文件中,這樣的你的java程序就能用matlab了,其實是這樣的,m-codeiv當然就是你想調用的matlab程序了。
要說明一點,如果你只是在安裝matlab的機器上,用java調用運行由MATLAB® Builder™ JA生成的jar包,當然可以。
如果你要在沒有安裝matlab的機器上用java調用這些jar包,怎麼辦?也是可以的,不過,不過你要先在機器上安裝matlab提供的MATLAB Compiler Runtime (MCR),它的安裝文件在C:/Program Files/MATLAB/R2009a/toolbox/compiler/deploy/win32下(你的安裝目錄下)文件名MCRInstaller.exe。
准備工作:
java環境,JAVA_HOME設置正確。還有一點你jdk版本要是1.6以上的,1.5可能有錯。
關鍵部分來了,在這部分你可以,通過一個例子,看到一個M-code function轉變成為java可調用組件。
這個例子的名字叫,magic square,這個例子讓你學會如何,創建一個叫magicsquare 的java組件,它主要包括一個 magic class,和一個jar文件,還有其它上些發布組件用到的文件。magic .class是最關鍵的,就是它包裝了, MATLAB 的函數 makesqr, makesqr函數是計算魔方數組用的,後面我們就是java程序,調用這個函數。
MATLAB Builder JA,可以通過在matlab命令,deploytool 調出,在這之間,為了驗證matlab已能得到你的java環境了,你可以用,getenv JAVA_HOME來驗證一下,能返回你的JAVA_HOME就是正確的了。
這個例子的,m代碼和java代碼,matlab都幫我們寫好了。你現在需要做的就是把它的代碼拷貝你的工作空間中,它是例子在
matlabroot /toolbox/javabuilder/Examples/MagicSquareExample .
matlabroot就是matlab的安裝目錄。

❼ Java與MATLAB混合編程,如何處理之間圖像傳遞

matlab是用java調用的。安裝的時候可以看到它在它的目錄里裝了javamatlab程序介面很豐富,可以提供介面給各種編程語言進行混合編程matlab也可以連接各種硬體,操作機器運動,或者測量,或者輸入視頻等

❽ 如何實現Java和matlab的混合編程,用java做交互界面,調用matlab做計算有實例請發給我參考下,十分謝謝

部署好了就行了。環境部署網上都有。直接搜索Java與matlab混編就行。我也在做混編,部署完了,使用matlab中的deploytool將.m文件編譯為class文件,就可以在Java中當成類的一個方法調用。實例發給你,你也參考不了什麼。

❾ java matlab混合編程需要什麼支持

matlab是用java調用的。安裝的時候可以看到它在它的目錄里裝了java matlab程序介面很豐富,可以提供介面給各種編程語言進行混合編程 matlab也可以連接各種硬體,操作機器運動,或者測量,或者輸入視頻等

❿ 請問java調用matlab,jar包沖突怎麼解決

Java和MATLAB混合編程,Java調用MATLAB代碼

閱讀全文

與javamatlab混合編程相關的資料

熱點內容
linux打包命令targz 瀏覽:996
抖音app是哪個 瀏覽:407
蘋果app怎麼上架 瀏覽:255
NA伺服器地址 瀏覽:427
我的世界如何初始化伺服器 瀏覽:97
哪個手機app天氣預報最准 瀏覽:752
怎樣把視頻壓縮至25m 瀏覽:570
vivox27文件夾怎麼改變 瀏覽:727
新手玩狼人殺用什麼app 瀏覽:615
pdf在線查看 瀏覽:954
安卓tv90如何關閉後台 瀏覽:683
php讀取word亂碼 瀏覽:755
minicom源碼 瀏覽:1001
海爾冷櫃壓縮機 瀏覽:416
聯通伺服器如何調試信號 瀏覽:136
stata新命令 瀏覽:941
單調棧演算法python 瀏覽:606
微信解壓游戲怎麼下載 瀏覽:962
忍三伺服器不同如何登上賬號 瀏覽:822
php求積 瀏覽:297