1. java調用matlab
我分別網路了那兩個問題,解決方案好像是一樣的。
把你的matlab的bin的路徑添加到系統的path路徑中,也可以把你的mcr的bin路徑添加到path中,你可以採用命令行的形式:
setPath=%Path%;<matlabroot>inwin32
或者
setPath=%Path%;<mcr_root><version>
untimewin32,
參考網址:
http://www.mathworks.cn/support/solutions/en/data/1-78FIKN/index.html?proct=MJ&solution=1-78FIKN
http://www.mathworks.cn/matlabcentral/newsreader/view_thread/296636
原文是:
"bin"(MCR)'sPATHenvironmentvariable.-:
<matlabroot>inwin32or<mcr_root><version>
untimewin32
toyoursystemPATH,,ortheMCR.Eitherreplace<matlabroot>(e.g.,C:ProgramFilesMATLABR2008a),or<mcr_root>(e.g.,C:)and<version>(e.g.,v78).
2. java怎樣調用matlab程序
嘗試以下方法:
Runtime.getRuntime().exec(command);
OLE技術
Robot模擬滑鼠鍵盤操作
3. 如何在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的安裝目錄。
4. java(eclipse)調用matlab時出錯,請問如何解決
1、下載jdk1.6(和matlab2007的jdk版本一致),然後把環境變數搭好,主要是java_homepath(java_home是一定要建的。
2、 系統用戶名不要用中文命名,運行程序就Ok了!
5. 請問 java中調用matlab 時出錯,問題怎麼解決的啊
提示了 jar包找不到 ,把jar包導入到lib 包試下。 詳細http://blog.csdn.net/wannshan/article/details/5907877
前段時間摸索了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。
6. 在Java中調用matlab的程序
應該是你引用函數的輸出變數超過了,函數所定義的變數個數
7. java調用matlab函數的參數問題
表示你輸出參數的個數,你這個是畫圖的函數,所以輸出參數為0,舉個例子 function [sum]=add(a,b) sum=a+b; end
在java程序里調用的時候就得使用add(1,a,b),因為有一個輸出參數sum
8. Java怎麼調用含有多個輸入參數的matlab函數呢
function用來定義函數,一般一個函數放在一個.m文件里。舉個簡單的例子建立一個myfunction.m,然後在文件中寫。
function y=myfunction(a,b)
其中a,b是輸入函數的參數,y是函數返回的值。當需要返回多個值時,可以將y看作一個數組,或者直接將函數的開頭寫成如function [x,y]=myfunction(x,y)的形式。
然後就是定義函數的內容,通俗的說就是怎樣由輸入參數a,b得到返回值y。比如最簡單的y=a+b。
總結一下,將下面的代碼
function y=myfunction(a,b)
y=a+b;
保存為一個m文件myfunction.m,調用方式如下。
num=myfunction(3,4);
這樣就可以由函數中的y=a+b得到num的值是3+4=7。
9. java中怎麼調用matlab繪制三維圖形
1、調用plot3函數來繪制三維曲線圖,調用格式如下:
plot3(x1,y1,z1,』PropertyName』,』PropertyValue』...);
其中PropertyName表示屬性名,可以是顏色,線型,線寬等屬性,PropertyValue表示屬性值,對應屬性名所包含的各種屬性值。
該函數調用對應的m文件如下:
clear all;%%表示清空所有變數及變數值%%
t=0:pi/360:2*pi;
x=sin(t);
y=cos(t);
z=2*x.^2+y.^2;
plot3(x,y,z,'Color','r','LineWidth',2);
%%三維曲線坐標軸和標題的設置%%
xlabel('x');
ylabel('y');
zlabel('z');
title('三維曲線圖');
axis([-1.2 1.2 -1.2 1.2 0.5 2.2];
2、調用surf、surfc(得到含有等高線的三維曲面圖)、surfl(帶燈光的三維曲面圖)三個函數來繪制三維曲面圖
3、調用mesh、meshc(得到含有等值線的三維網格圖)、surfz(用於繪制包含零平面的網格線)三個函數來繪制三維曲面圖
4、調用contour3函數繪制三維等高線圖
5、特殊三維圖形調用函數:
cylinder:三維柱面圖,sphere:三維球體
pie3: 三維餅狀圖, ribbon:三維綵帶圖
6、特殊三維圖形繪制
對上面所講的四種特殊三維圖形進行繪制