Java 调用 Matlab并在Swing界面显示实例与心得总结

为了让自己更好的记住如何运用Matlab打包java以及swing界面参数传递等问题,总结自己在编写小程序时候犯错点与心得,方便下次注意。

使用工具 Eclipse1.7、 Jdk1.7、 Matlab2014a

一、Matlab打成Java包

1、首先保证Matlab版本与Java版本一致(只需大体一致,如都为1.7、都为1.6即可)

2、在环境变量中进行配置:

CLASSPATH:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\Program Files\MATLAB\R2014a\toolbox\javabuilder\jar\javabuilder.jar;%JAVA_HOME%\lib\dt.jar;

JAVA_HOME:

D:\JDK2

MATLAB_JAVA:

D:\JRE2

PATH:

.;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%JAVA_HOME%\lib;C:\ProgramData\Oracle\Java\javapath; %JAVA_HOME%\jre\bin;C:\Program Files\MATLAB\MATLAB Compiler Runtime\v83\runtime\win64;C:\Program Files\MATLAB\R2014a\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;D:\java\bin;D:\JDK2

这里根据实际安装情况进行调整,有些部分可省略不必写。重点是要在PATH中添加MATLAB路径

3、在matlab中输入deploytool、选择library 在最上面打包中添加.m文件,填写工程名和类名。这里注意填写的工程名,类名在java 中均需要用到,所以需要特别记住。暂时不放图,等有需要在慢慢添加。

本例如下:

Untitled1包中:工程为Untitled1.prj、方法为polyfitfordatarenew、类为Class1、函数名与matlab程序名为polyfitfordatarenew.m

附matlab程序

function [yold ynew Rsquare SSEnew fx]=polyfitfordatarenew(address)
num = xlsread(address);
f=num(:,1);
f=f';
oldlen=15;
x=1:oldlen;
len=size(f,1);
if len==1
    len=size(f,2);
end;
newlen=len-oldlen;
Rsquare=zeros(1,newlen);
fx=zeros(newlen,4);
ynew=zeros(1,len);
ynew(1:oldlen)=f(1:oldlen);
yold=f(1:len);
for i=1:newlen
   y=f(i:i+oldlen-1);
   fx(i,1:3)=polyfit(x,y,2)  %对数据进行2次拟合,输出结果
   if (mod(i,2)==0)
   else
      fx(i,1:4)=fx(i-mod(i,2)+1,1:4);
   end;
   yvalue=polyval(fx(i,1:3),x);
   ymean=mean(y);
   Rsquare(i)=(norm(yvalue-ymean)/norm(y-ymean))^2; %求R的平方并输出

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值