matlab與java混合編程
A. 您好我在網上看到了您的那篇java與matlab的混合編程,在result = operation(4,a,b)這行是出現這個函數
MATLAB非常實用!具體和導師討論,看看他希望你做的哪些地方需要知道哪些知識,一定會讓你直接咨詢
B. 如何實現Java和matlab的混合編程,用java做交互界面,調用matlab做計算有實例請發給我參考下,十分謝謝
部署好了就行了。環境部署網上都有。直接搜索Java與matlab混編就行。我也在做混編,部署完了,使用matlab中的deploytool將.m文件編譯為class文件,就可以在Java中當成類的一個方法調用。實例發給你,你也參考不了什麼。
C. MATLAB JAVA混合編程效率問題
因為java在打包成為位元組碼後是被jvm解釋執行的。
D. Java在matlab里的用途和用法:
機器中裝有Eclipse和Matlab,並配置好環境變數。
小魏裝的是Eclipse 3.7.1 和Matlab7.11.0 (R2010b)。當然要裝有JDK,Eclipse的配置不多說了,網上有許多,至於Matlab,最好在classpath中添加:
%matlabInstallRoot%\R2010b\toolbox\javabuilder\jar\javabuilder.jar
這里說「最好」,是因為不添加,只在項目中引用,貌似也是可行的。
P.S. 如果是VC++中調用MATLAB,一定要在path中添加:
%matlabInstallRoot%\R2010b\bin\win32
E. 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();
}
}
}
F. java要調用matlab,但是matlab要用到很多其他m文件和包請問如何一起Build打jar包
Java和MATLAB混合編程,Java調用MATLAB代碼
資料來源:http://blog.csdn.net/cs_fang_dn/article/details/50239115
G. 如何在matlab中使用java-Java
1、需要將相關jar包地址添加到matlab的classpath.txt文件中
2、在matlab中創建一個JFrame窗口對象:下面都是在matlab命令行的操作,%表示相關命令的解釋
>> import javax.swing.JFrame; %引入相關類
>> import %import命令用來查詢已經引入的類
ans =
'javax.swing.JFrame'
>> frame=JFrame('title') %創建JFrame對象,名字為frame
frame =
javax.swing.JFrame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=title,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,0x0,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
>> setSize(frame,200,200) %給frame對象創建大小
>> show(frame) %顯示frame對象
H. java與matlab混合編程報錯
你是java調用matlab還是matlab調用java?
有些功能是不支持混合調用的,比如matlab中sym等函數。
I. vs與matlab混合編程怎麼使用
可以去官網看介紹,我記得要專業版的才行,就是要付費(或者激活)的那種,我之前就試了2013專業版的,因為2015支持的最低版本就是VS2013