近段时间因为某些功能,需要对矩阵进行操作,然后百度了一下java对矩阵操作的包:一个是math3,另一个是Jama。

从我搜到的内容来看,Jama包对矩阵的操作稍微比math3丰富一些,所以我选择了Jama3。

以下是它的maven依赖,将其加入pom文件就能在工程中使用Jama包的类和方法了。

<!-- https://mvnrepository.com/artifact/gov.nist.math/jama -->
<dependency><groupId>gov.nist.math</groupId><artifactId>jama</artifactId><version>1.0.3</version>
</dependency>

网上也有一些对Jama包的基本使用。大概就是将数组转换为矩阵、设定矩阵中的某些值、获得矩阵中的某些值、对矩阵进行拷贝和克隆。除此之外还有矩阵加、矩阵减、矩阵乘、矩阵求逆和转置。具体的操作方法可以参考百度。

但是你如果想将矩阵和向量进行乘操作,就不能简单的用times()方法了。

我们知道向量(列向量)可以看作是个一维数组,而times()方法只能接收Matrix类型参数,那么怎么将一个一维数组转换成一个Matrix类型变量呢?

例如我想将int[]{1,2,3,4}转换成向量(矩阵),并将其与由二维数组生成的矩阵做乘操作,见以下代码:

 double testarray[][]=new double[2][2];testarray[0][0]=1d;testarray[0][1]=2d;testarray[1][0]=3d;testarray[1][1]=4d;
//创建矩阵
Matrix matrix=new Matrix(testarray);
double[] testarray2=new testarray2[2];
testarray2[0]=1d;
testarray2[1]=2d;
//将testarray2创建为向量(矩阵)
Matrix vector=new Matrix(testarray2,1);
//进行乘操作,要注意vector是个行向量,所以得先转置
matrix.times(vector.transpose()).print(4,2);

以上就是矩阵和向量的乘操作的实现。

那么怎么将矩阵转换为二维数组。

只需要使用其的getarray()方法就可以了。

有不对的地方还请提出来~

Jama包的矩阵操作相关推荐

  1. java jama包_java矩阵包jama的简单操作

    本文转自http://www.cnblogs.com/zangbo/p/5622351.html 一.jama简介 Jama是一个基本的线性代数java包.包括一个基本的Matrix类和5个矩阵分解类 ...

  2. java的jama包_JAVA 矩阵工具包 JAMA

    [实例简介] JAMA is a basic linear algebra package for Java. It provides user-level classes for construct ...

  3. python实现求矩阵行列式、求逆矩阵等各种矩阵操作(不使用numpy包)

    def submatrix(A,i,j):#矩阵A第i行第j列元素的余矩阵p=len(A)#矩阵的行数q=len(A[0])#矩阵的列数C=[[A[x][y] for y in range(q) if ...

  4. 范德蒙德矩阵在MATLAB中怎么表示,Python 之 Python与MATLAB 矩阵操作总结

    Python 之 Python与MATLAB 矩阵操作小结 一.线形代数理论基础 线形代数(linear algebra)是数学的一个分支,研究矩阵理论.向量空间.线性变换和有限维线形方程组等内容. ...

  5. python矩阵操作_Python中的矩阵操作

    Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包. NumPy 是一个非常优秀的提供矩阵操作的包.N ...

  6. java jama包_Java调用Jama包完成矩阵运算

    Java开发机器学习算法的时候,经常用到矩阵运算,我们可以调用Jama包来完成矩阵运算. Jama包下载地址:https://dl.pandaidea.com/jarfiles/j/Jama/Jama ...

  7. java导入包大全_eclipse快速导入jar包的相关操作步骤

    eclipse怎样快速导入jar包呢?熟悉这款软件是非常简单的,今天小编就分享了关于eclipse快速导入jar包,有需要的朋友一起来看看吧! eclipse快速导入jar包的相关操作步骤 方法1·最 ...

  8. python 读取图片成为一维数组_python+opencv 图像的数组和矩阵操作

    在调用opencv的imread函数读取图像时,我们得到的其实是一个类型为numpy.ndarray的n维数组.这个数组的维度是[height,width,3],它是由每个像素的RGB通道的灰度值组成 ...

  9. python正态分布随机数_Python使用numpy产生正态分布随机数的向量或矩阵操作示例...

    本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作.分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian ...

最新文章

  1. etcd分布式之负载均衡
  2. svn update一直卡哪里_电脑开机一直停在LOGO那里这是为什么呢?
  3. 使用Angular HTTP client对数据模型进行删除操作
  4. jzoj6287-扭动的树【区间dp】
  5. 解构华为云HE2E项目中的容器技术应用
  6. html5 session 缓存,关于HTML5中的sessionStorage的会话级缓存使用
  7. 和画意思相近的字_画字五行属什么,画字在名字里的含义,画字起名的寓意_卜易居起名字典...
  8. 2021年《职业防治法》宣传周活动资料海报挂图及职业病知识小手册等
  9. Python 数独求解
  10. 像素三国志在线html5小游戏,像素三国志
  11. VMware虚拟机ubuntu指定使用主机的wifi无线网卡
  12. 如何进行网站防篡改监控
  13. 《剑指Offer》51. 二叉搜索树的第k个结点
  14. 4.2 长训练序列的生成
  15. 传统企业上云的三个正确姿势是什么?
  16. sortable的基本属性
  17. [230513] TPO72 | 2022年托福阅读真题第1/36篇 | 10:45
  18. 软件测试英文笔试题(需用英语答卷)
  19. SGMII和SerDes的区别
  20. appcrash事件java,启动不了,提示问题事件名称:APPCRASH···的解决方案

热门文章

  1. Fabric源码流程分析之Orderer篇
  2. Springboot整合支付宝支付加内网穿透工具实现本地回调
  3. 为什么即使是最聪明的决策者也会掉入过度自信陷阱?
  4. 为什么恋爱久了就想分手?如何跨过四大危机期?
  5. 2019北京邮电大学计算机考研分数线,2019年北京邮电大学考研复试分数线
  6. 数组中最大第K元素(快排思想)
  7. ospf的一类,二类,和三类LSA详解
  8. 关于成为sap顾问的心得体会
  9. 爱客猴(echo)内容管理系统 v3.2.3
  10. C#简繁体转换方法(Microsoft.Office.Interop.Word)