java矩阵类_151-矩阵类
[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-矩阵类相关推荐
- 【数理知识】《矩阵论》方保镕老师-第7章-几类特殊矩阵与特殊积
上一章 回到目录 下一章 第7章-几类特殊矩阵与特殊积 7.1 非负矩阵 7.1.1 非负矩阵与正矩阵 定理 7.1.3 (谱半径的单调性) 定理 7.1.4 (佩龙 (Perron) 定理) 7.1 ...
- Python矩阵计算类:计算矩阵加和、矩阵乘积、矩阵转置、矩阵行列式值、伴随矩阵和逆矩阵
最近在Python程序设计中遇到一道设计矩阵计算类的题目,原题目要求计算矩阵加和和矩阵乘积,而我出于设计和挑战自己的目的,为自己增加难度,因此设计出矩阵计算类,不仅可以求出矩阵加和和矩阵乘积,还能计算 ...
- 优化求解器 | Gurobi的MVar类:矩阵建模利器、求解对偶问题的备选方案 (附详细案例+代码)
优化求解器 | Gurobi的MVar类:矩阵建模利器.求解对偶问题的备选方案 优化求解器的建模方式:以gurobi为例 Gurobi的MVar(矩阵形式变量对象) 一个线性规划的例子:Wyndor玻 ...
- C++ | 矩阵类模板(类模板)
问题 B: 矩阵类模板(类模板) 时间限制: 1 Sec 内存限制: 128 MB 提交: 559 解决: 314 [提交][状态][讨论版] 题目描述 设计一个矩阵类模板Matrix,支持任意数 ...
- 【线代】几类特殊矩阵:矩阵可逆充要条件(可逆矩阵与初等矩阵)、分块矩阵相似对角化、正交矩阵充要条件及性质
一.可逆矩阵 1. 定义 给定一个n阶方阵A,若存在一n阶方阵B使得AB=BA=E(或AB=E.BA=E任满足一个),E是单位矩阵,则称A可逆,B是A的逆矩阵. 2. 充要条件 (⇔表示等价于,在这里 ...
- java 矩阵_(JAVA)计算机图形学与矩阵
(JAVA)计算机图形学与矩阵 平移 旋转 变比 一)矩阵 1)矩阵的乘法运算 矩阵是计算机图形学的重要工具. 计算机图形学要常常用到 矩阵乘法(矩阵与矩阵相乘). 矩阵(Aij)m*n 与矩阵(Bi ...
- java jama包_java矩阵包jama的简单操作
本文转自http://www.cnblogs.com/zangbo/p/5622351.html 一.jama简介 Jama是一个基本的线性代数java包.包括一个基本的Matrix类和5个矩阵分解类 ...
- java如何建Cube类,(JAVA)MyColorCube5(另一个Matrix3D类与面消隐)
(JAVA)MyColorCube5(另一个Matrix3D类与面消隐) 实现功能:显示一个有颜色的正方体, 拖动鼠标时,正方体绕中心点转动. 虽然实现功能与MyColorCube2相似,但本例在My ...
- java源程序是由类定义_无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件...
无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件 答:× 小儿头皮静脉输液时如误注入动脉,局部表现为: 答:呈树枝状苍白 人民群众既是历史 ...
- java 类定义_JAVA类与对象(二)----类定义基础
类是组成java程序的基本要素,是java中的一种重要的复合数据类型.它封装了一类对象的状态和方法,是这一类对象的原型.一个类的实现包括两个部分:类声明和类体,基本格式: class { 属性 方法 ...
最新文章
- 将cocos2dx项目从Visual Studio 迁移到 xcode
- java中小写转大写函数_lotus 中日期小写转大写的函数及算法(lotus script) (转)...
- 《统一沟通-微软-实战》-6-部署-2-中介服务器-1-定义中介服务器
- eclipse创建android工程,在eclipse创建android 工程
- 如何限制SELECT-OPTIONS的选择屏幕的OPTION
- 使用Docker安装的Tuleap-aio.查看admin默认密码
- RocketMQ(三)—— 集群模式的说明
- python游戏程序代码大全_python小游戏代码,python小游戏代码大全打枪
- GSEA分析详细步骤
- JS中定义对象和集合
- 在 WindowMobile 上的模拟LED 显示屏插件(转)
- Mac微信多开以及防撤回方案
- matlab 中的textscan
- PS如何用制作BMP 256位色非压缩图片,供Easyboot作为背景
- 下载win10镜像(iso)
- 清理掉Win10“另存为“和“此电脑“里3D对象、视频、图片、文档、下载、音乐、桌面
- 京东20210618活动脚本
- linux 如何解压缩 .tar.gz文件
- 经验分享:一套完整的硬件电路设计该怎么做?
- vue+echarts绘制3D地图
热门文章
- 安谋科技发布新业务品牌“核芯动力”,先手布局智能计算产业
- 产业数字化升级进入深化期,腾讯智慧出行释放“数字底座”核心能力
- 对话阿里云叔同:释放云价值,让容器成为“普适”技术
- 美企调查华为设备安全性,华为发长文质疑;摩根大通预计苹果2020年将推5G iPhone;谷歌拟联手Dish成立美国第四大运营商...
- ​听说,私有云也出新一代了?
- 云存储精华问答 | 云存储是如何工作的?
- docker Redis集群
- Shiro 实现免密登陆
- java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字
- Tomcat10 开机启动 Linux环境