[java]代码库import java.util.Scanner;

import java.util.Arrays;

public class Main {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int r = scan.nextInt();

int c = scan.nextInt();

System.out.println("row:"+r+" column:"+c);

//输入,修改矩阵的值

Matrix me = new Matrix(r,c);

for(int i = 0; i < r; i++)

{

for(int j = 0; j < c; j++)

{

double a = scan.nextDouble();

me.set(i, j, a);

}

}

r = scan.nextInt();

c = scan.nextInt();

double a = scan.nextDouble();

me.set(--r, --c, a);

System.out.println("after set value:");

me.show();

//打印具体位置上的值

r = scan.nextInt();

c = scan.nextInt();

System.out.print("value on ("+r+","+c+"):");

System.out.printf("%.0f\n",me.get(--r, --c));

//矩阵相加输出

r = scan.nextInt();

c = scan.nextInt();

Matrix jia = new Matrix(r,c);

for(int i = 0; i < r; i++)

{

for(int j = 0; j < c; j++)

{

a = scan.nextDouble();

jia.set(i, j, a);

}

}

System.out.println("after add:");

(me.add(jia)).show();

//矩阵相乘输出

r = scan.nextInt();

c = scan.nextInt();

Matrix cheng = new Matrix(r,c);

for(int i = 0; i < r; i++)

{

for(int j = 0; j < c; j++)

{

a = scan.nextDouble();

cheng.set(i, j, a);

}

}

System.out.println("after multiply:");

(me.multiply(cheng)).show();

//矩阵转置输出

System.out.println("after transpose:");

(me.transpose()).show();

}

}

class Matrix

{

private int row;//行

private int col;//列

double[][] m;

public Matrix(int a, int b)

{

row = a;

col = b;

m = new double [a][b];

}

void set(int r, int c, double a)

{

m[r][c] = a;

}

double get(int r, int c)

{

return m[r][c];

}

int width()

{

return col;

}

int height()

{

return row;

}

Matrix add(Matrix b)

{

Matrix a = new Matrix(row,col);

for(int i = 0; i < row; i++)

{

for(int j = 0; j < col; j++)

a.set(i,j, b.get(i,j)+this.m[i][j]);

}

return a;

}

Matrix multiply(Matrix b)

{

Matrix a = new Matrix(row,b.width());

for( int i = 0; i < row; i++)

{

for( int j = 0; j < b.width(); j++)

{

int sum = 0;

for( int k = 0; k < col; k++)

sum += this.get(i,k)*b.get(k, j);

a.set(i, j, sum);

}

}

return a;

}

Matrix transpose()

{

Matrix a = new Matrix(col,row);

for(int i = 0; i < col; i++)

{

for(int j = 0; j < row; j++)

a.set(i,j,this.m[j][i]);

}

return a;

}

void show()

{

for(int i = 0; i < row; i++)

{

for(int j = 0; j < col; j++)

{

if( j == 0)

System.out.printf("%.0f",this.get(i, j));

else

System.out.printf(" %.0f",this.get(i, j));

}

System.out.println();

}

}

}

java矩阵类_151-矩阵类相关推荐

  1. 【数理知识】《矩阵论》方保镕老师-第7章-几类特殊矩阵与特殊积

    上一章 回到目录 下一章 第7章-几类特殊矩阵与特殊积 7.1 非负矩阵 7.1.1 非负矩阵与正矩阵 定理 7.1.3 (谱半径的单调性) 定理 7.1.4 (佩龙 (Perron) 定理) 7.1 ...

  2. Python矩阵计算类:计算矩阵加和、矩阵乘积、矩阵转置、矩阵行列式值、伴随矩阵和逆矩阵

    最近在Python程序设计中遇到一道设计矩阵计算类的题目,原题目要求计算矩阵加和和矩阵乘积,而我出于设计和挑战自己的目的,为自己增加难度,因此设计出矩阵计算类,不仅可以求出矩阵加和和矩阵乘积,还能计算 ...

  3. 优化求解器 | Gurobi的MVar类:矩阵建模利器、求解对偶问题的备选方案 (附详细案例+代码)

    优化求解器 | Gurobi的MVar类:矩阵建模利器.求解对偶问题的备选方案 优化求解器的建模方式:以gurobi为例 Gurobi的MVar(矩阵形式变量对象) 一个线性规划的例子:Wyndor玻 ...

  4. C++ | 矩阵类模板(类模板)

    问题 B: 矩阵类模板(类模板) 时间限制: 1 Sec  内存限制: 128 MB 提交: 559  解决: 314 [提交][状态][讨论版] 题目描述 设计一个矩阵类模板Matrix,支持任意数 ...

  5. 【线代】几类特殊矩阵:矩阵可逆充要条件(可逆矩阵与初等矩阵)、分块矩阵相似对角化、正交矩阵充要条件及性质

    一.可逆矩阵 1. 定义 给定一个n阶方阵A,若存在一n阶方阵B使得AB=BA=E(或AB=E.BA=E任满足一个),E是单位矩阵,则称A可逆,B是A的逆矩阵. 2. 充要条件 (⇔表示等价于,在这里 ...

  6. java 矩阵_(JAVA)计算机图形学与矩阵

    (JAVA)计算机图形学与矩阵 平移 旋转 变比 一)矩阵 1)矩阵的乘法运算 矩阵是计算机图形学的重要工具. 计算机图形学要常常用到 矩阵乘法(矩阵与矩阵相乘). 矩阵(Aij)m*n 与矩阵(Bi ...

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

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

  8. java如何建Cube类,(JAVA)MyColorCube5(另一个Matrix3D类与面消隐)

    (JAVA)MyColorCube5(另一个Matrix3D类与面消隐) 实现功能:显示一个有颜色的正方体, 拖动鼠标时,正方体绕中心点转动. 虽然实现功能与MyColorCube2相似,但本例在My ...

  9. java源程序是由类定义_无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件...

    无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件 答:× 小儿头皮静脉输液时如误注入动脉,局部表现为: 答:呈树枝状苍白 人民群众既是历史 ...

  10. java 类定义_JAVA类与对象(二)----类定义基础

    类是组成java程序的基本要素,是java中的一种重要的复合数据类型.它封装了一类对象的状态和方法,是这一类对象的原型.一个类的实现包括两个部分:类声明和类体,基本格式: class { 属性 方法 ...

最新文章

  1. 将cocos2dx项目从Visual Studio 迁移到 xcode
  2. java中小写转大写函数_lotus 中日期小写转大写的函数及算法(lotus script) (转)...
  3. 《统一沟通-微软-实战》-6-部署-2-中介服务器-1-定义中介服务器
  4. eclipse创建android工程,在eclipse创建android 工程
  5. 如何限制SELECT-OPTIONS的选择屏幕的OPTION
  6. 使用Docker安装的Tuleap-aio.查看admin默认密码
  7. RocketMQ(三)—— 集群模式的说明
  8. python游戏程序代码大全_python小游戏代码,python小游戏代码大全打枪
  9. GSEA分析详细步骤
  10. JS中定义对象和集合
  11. 在 WindowMobile 上的模拟LED 显示屏插件(转)
  12. Mac微信多开以及防撤回方案
  13. matlab 中的textscan
  14. PS如何用制作BMP 256位色非压缩图片,供Easyboot作为背景
  15. 下载win10镜像(iso)
  16. 清理掉Win10“另存为“和“此电脑“里3D对象、视频、图片、文档、下载、音乐、桌面
  17. 京东20210618活动脚本
  18. linux 如何解压缩 .tar.gz文件
  19. 经验分享:一套完整的硬件电路设计该怎么做?
  20. vue+echarts绘制3D地图

热门文章

  1. 安谋科技发布新业务品牌“核芯动力”,先手布局智能计算产业
  2. 产业数字化升级进入深化期,腾讯智慧出行释放“数字底座”核心能力
  3. 对话阿里云叔同:释放云价值,让容器成为“普适”技术
  4. 美企调查华为设备安全性,华为发长文质疑;摩根大通预计苹果2020年将推5G iPhone;谷歌拟联手Dish成立美国第四大运营商...
  5. ​听说,私有云也出新一代了?
  6. 云存储精华问答 | 云存储是如何工作的?
  7. docker Redis集群
  8. Shiro 实现免密登陆
  9. java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字
  10. Tomcat10 开机启动 Linux环境