导航:首页 > 编程语言 > java和matlab

java和matlab

发布时间:2025-02-01 13:19:57

1. linuxjava ,matlab前景如何

matlab是一个数学工具,帮助你分析与画图之类的操作比较多;
linux是一个操作系统,你学linux学到最后,还是要设计到编程的问题;
所以这些的核心就是要掌握编程技术,因此学习先学JAVA比较好,很多公司都是用JAVA进行开发,工作前景很好的!

2. 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相关的资料

热点内容
服务器之间的负载均衡如何实现 浏览:204
多媒体服务器执行什么定额子目 浏览:216
php获取手机标识 浏览:906
点击录制按钮是什么app 浏览:890
证据提取命令视频 浏览:353
java的学习心得 浏览:96
prof命令 浏览:279
手机加密文件密码怎么解开 浏览:283
贾跃亭程序员完整视频 浏览:958
怎样把两个文件夹打包发送 浏览:378
单片机教程资料 浏览:982
仿大众点评系统源码python 浏览:426
手机网络服务器连接不上是怎么回事 浏览:155
电脑为什么一直要解压 浏览:530
淘客优惠券网站源码 浏览:555
word转成pdf在线 浏览:775
手机暴力解压教程 浏览:130
解压小视频第二期 浏览:364
装机自带软件找不到软件文件夹 浏览:330
仙境之路服务器地址ip 浏览:708