「java矩阵性能」描述矩阵性能的数
今天给各位分享java矩阵性能的知识,其中也会对描述矩阵性能的数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
用JAVA写一个矩阵类
昨天刚帮一个网友改编的,输出矩阵并且在矩阵求幂后输出矩阵的一个类,直接可以运行。
注释都有的。希望你用的得到。import java.util.Scanner;
public class JuZhen {
//定义计算方法
public static int calc(int x, int y,int score){
if(x==0 y==0){
score = 0;
}else {
score = 1;
}
return score;
}
//输入矩阵
public static void shuru(){
Scanner input = new Scanner(System.in);//Scanner是用来接纳系统控制台输的字符串的
System.out.print("请输入矩阵的阶数:");
int n = input.nextInt(); //取一个输入的字符赋值给n
int M[][] = new int[n][n]; //定义数组维数.初始化数组,定义了一个双向的长度为
//n的
System.out.print("请输入矩阵的的值(0-1):");
for(int i=0;iM.length ;i++){ //不能以0开始
for(int j=0 ;jM[i].length ; j++){
M[i][j] = input.nextInt();
}
}
System.out.println("你输入的矩阵为:");
for(int i=0;iM.length ;i++){ //显示矩阵
System.out.print("\n");
for(int j=0 ;jM[i].length ; j++){
System.out .print(M[i][j] + "\t") ;
}
}
}
//仅仅是一个求幂的递归。
int myPow(int x, int y) {
int pow = 0;
if (y 0) {
pow = x * myPow(x, y - 1);// 2,3//2*2,3-1
}
if (y 0) {
pow = 1 / x * myPow(x, y + 1);
}
if (y == 0) {
pow = 1;
}
return pow;
}
//程序入口
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入矩阵的阶数:");
int n = input.nextInt();//这个相当于确定行数。
int M[][] = new int[n][n];
//定义数组维数
System.out.print("请输入矩阵的的值(0-1):");
for(int i=0;iM.length ;i++){ //外循环表示行,在外循环已知的情况下去填内循环,内循环表示列
for(int j=0 ;jM[i].length ; j++){
M[i][j] = input.nextInt();
}
}
int temp[][] =new int[n][n];
int m[][] =new int[n][n];
System.out.println("你输入的矩阵为:");
for(int i=0;iM.length ;i++){ //显示矩阵
System.out.print("\n"); //执行完外循环也就是打印出一行后换行
for(int j=0 ;jM[i].length ; j++){
temp[i][j] = M[i][j] ; //赋给矩阵temp
System.out .print(M[i][j] + "\t") ;//执行完内循环也就是一列时空两格。\t为tab键起退格作用
}
}
System.out.print("\n\n你想求几次方:");
int c =input.nextInt(); //获得幂次
for (int k=0; kc;k++){ //最外层的循环和里边的两层循环也就是二维数组里的每个都有交集,也就是每个都要求幂
for(int i=0 ; iM.length; i++){
for(int j=0; jM[i].length ;j++){
m[i][j]= new JuZhen().myPow(temp[i][j],c);
}
}
}//for k
for(int i=0;im.length ;i++){ //显示矩阵
System.out.print("\n");
for(int j=0 ;jm[i].length ; j++){
System.out .print(m[i][j] + "\t") ;
}
}
}//main
}//class JuZhen
java 三维矩阵
;
C/C++ 的多维数组其实就是用一维数组实现的,而且不管维数多大,所有数组都可以用指向数组第一个元素的指针进行传递,即 C/C++ 的指针机制允许我们把不同维数的数组当作同一类型的数据。
Java 中最接近的机制是对象数组(Object[])。你把该方法的参数类型改成 Object[] 后,该方法即能接受 ctrlpoints[4][4][3](当然不管 ctrlpoints 的类型是什么)。但必须一提的是,如果要传入的数组的类型是原始(primitive)类型,该数组的维数必须大于一,因为任何一维的原始类型数组都不能被转型为 Object[] 。
Java编写一个程序实现矩阵的运算加减乘除,(并对其中的异常进行处理)
/**
* 矩阵:由 m × n 个数Aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵
* 说白了就是一个二维数组,下面的程序用整形作为数据类型,其他类型运算大同小异
*
*/
public class MatrixUtils {
/**
* 矩阵运算:加(减法与之类似)
*/
public static int[][] matrixAdd(int[][] addend, int[][] summand) {
if (addend == null || addend.length == 0) {
throw new IllegalArgumentException("addend matrix is empty!");
}
if (summand == null || summand.length == 0) {
throw new IllegalArgumentException("summand matrix is empty!");
}
//矩阵加减要求两个矩阵类型一致,即行列数相同
int row = addend.length;
int col = addend[0].length;
if (row != summand.length || col != summand[0].length) {
throw new IllegalArgumentException("summand and summand not the same type!");
}
int[][] sum = new int[row][col];
for (int i = 0; i row; i++) {
for (int j = 0; j col; j++) {
sum[i][j] = addend[i][j] + summand[i][j];
// sum[i][j] = addend[i][j] - summand[i][j]; //减法
}
}
return sum;
}
/**
* 矩阵运算:乘法,没找到除法的运算规则
*/
public static int[][] matrixMultiply(int[][] addend, int[][] summand) {
if (addend == null || addend.length == 0) {
throw new IllegalArgumentException("addend matrix is empty!");
}
if (summand == null || summand.length == 0) {
throw new IllegalArgumentException("summand matrix is empty!");
}
//两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p矩阵
int row = addend.length;
int col = summand[0].length;
if (addend[0].length != summand.length) {
throw new IllegalArgumentException("summand and summand not the same type!");
}
int[][] sum = new int[row][col];
for (int i = 0; i row; i++) {
for (int j = 0; j col; j++) {
for (int z = 0; z addend[0].length; z++) {
sum[i][j] += addend[i][z] * summand[z][j];
System.out.println("sum[" + i+ "]["+ j+"]= " + sum[i][j]);
}
}
}
return sum;
}
}
Java相比Python3有哪些优势
现在的优势还真不怎么多了。我想现在唯一的优势是参考书多吧。
比市场,web方面,已经被php,ruby,python抢掉了部分市场份额。
移动领域,j2me已经基本上没人用了。都是用安卓和object-c(Iphone的)
在编程语言方面,最近一期的排行榜,java跌了一位,排第二,第一是c
功能强大,但是要学习的东西太多。比如一开始做桌面,但是java桌面系统用的人很少,web方面,开源框架太多,不知道学啥。而且不同的公司都有自己的框架,不像.net就一个,也不想ruby也有一个一统的ruby on rails
至于跨平台,除了.net这个变态,基本上所有在web运行的语言都是能跨平台的。
而且php,ruby都是免费的。java虽然免费,但是被oracle收购后,还不知道会有啥改变!
关于java矩阵性能和描述矩阵性能的数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。