「java矩阵函数」矩阵java代码
本篇文章给大家谈谈java矩阵函数,以及矩阵java代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java构造一个矩阵
- 2、Java 现有矩阵A和B,大小3*3,编写函数,两个矩阵相加,
- 3、求java编写行列式矩阵的相关知识
- 4、用java怎么写矩阵乘法?
- 5、写一个关于6*6矩阵的JAVA程序
java构造一个矩阵
1、java构造函数--数组 在构造函数中初始化数组,如 public class array { private int [][] matrix; public array(int r,int c) { matrix=new matrix[r][c]; } }
matrix=new matrix[r][c];
2、这里是new int[][]; java中8个基本数据类型都是有默认值的,int默认值为0 ,
3、所以数组中默认都为0.
4、但是切记有默认值的变量必须是类的属性,方法中局部变量必须赋值才可以使用。
Java 现有矩阵A和B,大小3*3,编写函数,两个矩阵相加,
定义两3*3数组,分别输出矩阵之和跟相乘的结果:
public class TestMatrix{
public static void main(String[] args){
int[][] a={{1,2,3,4},{5,6,7,8},{9,1,2,3}};
int[][] b={{1,2},{3,4},{5,6},{7,8}};
int arow=a.length;
int bcol=b[0].length;
int m=b.length;
int[][] c=new int[arow][bcol];
for(int i=0;iarow;i++){
for(int j=0;jbcol;j++){
int result=0;
for(int k=0;km;k++){
result+=a[i][k]*b[k][j];
}
c[i][j]=result;
}
}
for(int i=0;ic.length;i++){
for(int j=0;jc[i].length;j++){
System.out.print(c[i][j]+"\t");
}
System.out.println();
}
}
}
求java编写行列式矩阵的相关知识
思路应该很简单,考虑如何抽象类,矩阵如何存储的数据结构如何表示(此处不建议使用数组,建议使用相关的容器,比如嵌套的ArrayListArrayListDouble, 类存储数据),容器类更方便的实现你说的3中的删除一行,不过删除列需要一些额外处理。
目标函数,应该不多,建议百度一下,有没有java实现的关于数学运算的第三方jar包,这样的话,你只要稍微封装一下即可。
见第一
如果使用容器,因为容器是动态的,不是数组的静态,也即是说,数据的多少对程序的影响是微小的。
希望上边的答复可以帮助到你。
用java怎么写矩阵乘法?
import java.util.Scanner;
public class Matrix {
public double[][] create() {
Scanner sc = new Scanner(System.in) ;
System.out.print("请输入矩阵的行高:");
int a = sc.nextInt() ;
System.out.print("请输入矩阵的列宽:");
int b = sc.nextInt() ;
double[][] x = new double[a][b] ;
for(int i=0;ilt;a;i++){
for(int j=0;jlt;b;j++){
System.out.print("请输入元素x["+i+"]["+j+"]的值:" );
x[i][j] = sc.nextDouble() ;
}
}
return x ;
}
public double[][] multiply(double[][] x,double[][] y){
double[][] result = null ;
int a = x[0].length ;
int b = y.length ;
if(a != b){
System.out.println("输入的维数不匹配,不能进行运算");
}else{
int c = x.length ;
int d = y[0].length ;
result = new double[c][d] ;
for(int i=0;ilt;c;i++){
for(int j=0;jlt;d;j++){
double sum = 0 ;
for(int k=0;klt;a;k++){
sum += x[i][k]*y[k][j] ;
}
result[i][j] = sum ;
}
}
}
return result ;
}
public void print(double[][] x){
System.out.println("矩阵为:");
for(int i=0;ilt;x.length;i++){
for(int j=0;jlt;x[i].length;j++){
System.out.print(x[i][j] + " ") ;
}
System.out.println();
}
}
}
测试类:
public class TestMatrix {
public static void main(String[] args) {
Matrix m = new Matrix() ;
//double[][] x = {{1,2},{3,2}} ;
//double[][] y = {{1,2,1},{2,3,3}} ;
System.out.println("创建第一个数组:") ;
double[][] x = m.create() ;
m.print(x) ; //用来验证输入的是否和你一样的,没啥作用
System.out.println("创建第二个数组:");
double[][] y = m.create() ;
m.print(y) ; //用来验证输入的是否和你一样的,没啥作用
double[][] result = m.multiply(x, y) ;
if(result == null){
return ; //如果输入的矩阵不能运算就不输出结果了。
}
m.print(result) ;
}
}
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
写一个关于6*6矩阵的JAVA程序
1、矩阵类
public class Matrix {
/* 矩阵相乘 */
public static double[][] multiplyMatrix(double[][] a,double[][] b){
if(a[0].length != b.length) {
return null;
}
double[][] c=new double[a.length][b[0].length];
for(int i=0;ia.length;i++) {
for(int j=0;jb[0].length;j++) {
for(int k=0;ka[0].length;k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
return c;
}
2、测试函数(main函数)
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int m = n = k = 6;
double [][]a=new double[m][n]; //定义一个m*n的矩阵
double [][]b=new double[n][k]; //定义一个n*k的矩阵
System.out.println("输入连续的数构成数组a:");
for(int i=0;im;i++)
for(int j=0;jn;j++)
a[i][j]=1.0;
System.out.println("输入连续的数构成数组b:");
for(int i=0;in;i++)
for(int j=0;jk;j++)
b[i][j]=1.0;
double [][]c=multiplyMatrix(a, b);
System.out.println("Matrix a:");
printMatrix(a); //打印a
System.out.println("Matrix b:");
printMatrix(b); //打印b
System.out.println("Matrix c:");
printMatrix(c); //打印c
input.close();
}
}
3、打印函数(可以放到main函数所在类中)
public static void printMatrix(double[][] c) {
if (c!=null) {
for(int i=0;ic.length;i++) {
for(int j=0;jc[0].length;j++) {
System.out.printf("%-8.1f",c[i][j]); //保留1位小数;
}
System.out.println();
}
} else {
System.out.println("无效");
}
System.out.println();
}
关于java矩阵函数和矩阵java代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-06,除非注明,否则均为
原创文章,转载请注明出处。