【发布时间】:2018-05-05 13:43:20
【问题描述】:
import Jama.Matrix;
public class T5 {
public static void main(String args[]){
Matrix C=new Matrix(new double[][]{{1,0,0,},{0,1,0},{0,0,1}});
Scanner x;
try {
x=new Scanner(new File("D://out.txt"));
for (int i = 0; i < 100; i++) {
double a1= x.nextDouble();
Double b1=x.nextDouble();
double c1=x.nextDouble();
Matrix data1 = new Matrix(new double[][]{{a1, b1, c1}});
double a = data1.get(i, 0);
double b = data1.get(i, 1);
double c = data1.get(i, 2);
double[][] val = {{a}, {b}, {c}};
Matrix A_new = new Matrix(val);
Matrix newobser = C.times(A_new);
newobser.print(9, 6);
}
}
catch (Exception e){
System.out.println(e);
}
}
}
这段代码有问题。在此代码中,有一个矩阵data1,它具有三列和 1 行,随着时间的推移而迭代。我在硬盘名称out.txt 中有文件。该文件包含100 行和3 列。我尝试在变量a1 中取出out.txt 的第1 列,在变量b1 中取出out.txt 的第2 列,在out.txt 的第3 列在变量c1中。然后在Matrix data1中输入a1,b1,c1。这里我使用JAMA矩阵,这是一个构建矩阵包。 Get 和 print、times(use for matrix multiplication) 是 JAMA 矩阵包的函数。我如何才能继续从外部文件中获取输入?我的过程不起作用。
【问题讨论】:
-
您文件中的内容是什么样的?
-
3.575008 -3.331063 2.3462963.576784 -3.329287 2.3517923.578560 -3.327511 2.3572883.580336 -3.325735 2.3627843.582112 -3.323959 2.368280......等等。它按行和列排列。由于编辑功能有限,我无法在此处显示。
标签: java matrix bufferedreader jama