java matlab函数是什么意思(matlab与java混合编程有什么作用)
大家好,今天小编来为大家解答java matlab函数是什么意思这个问题,matlab与java混合编程有什么作用很多人还不知道,现在让我们一起来看看吧!
matlab中的poly是什么意思
MATLAB中的poly函数是用于求以向量为解的方程或方阵的特征多项式,可以直接传递多项式方程的系数矩阵进行使用,例如poly([1 2 3])。
1、poly([1 2 3])使用的举例。
P=poly([1 2 3])可以解出P=[1-6 11-6],即求得方程为:x^3-6*x^2+11*x-6=0。
2、poly([1 2 3; 4 5 6; 7 8 0])使用的举例。
P=poly([1 2 3; 4 5 6; 7 8 0])可以解出P=[1-6-72-27],即方阵A特征多项式为:λ^3-6*λ^2-72*λ-27=0。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
扩展资料:
matlab优势特点:
1、高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
2、具有完备的图形处理功能,实现计算结果和编程的可视化;
3、友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
4、功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
参考资料来源:百度百科-MATLAB
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();
}
}
}
matlab中 a(1:2)=[ ]是什么意思
matlab中 a(1:2)=[ ]表示的意思是:把数组a的第一个和第二个元素取空。
比如数组a=[1,2,3,4,5,6],执行语句后结果就是a=[3,4,5,6]。
Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
扩展资料:
MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
参考资料:百度百科-MATLAB
文章分享结束,java matlab函数是什么意思和matlab与java混合编程有什么作用的答案你都知道了吗?欢迎再次光临本站哦!