【问题标题】:Identity Matrix creation using ujmp使用 ujmp 创建身份矩阵
【发布时间】:2018-12-22 03:26:53
【问题描述】:

我正在使用通用 Java 矩阵包来创建矩阵、稀疏矩阵、恒等矩阵和矩阵运算,如加法、减法、转置等。我在实现代码时遇到了一些问题。

  1. 如何使用 UJMP 创建恒等矩阵?

    这是我的代码

    导入 org.ujmp.core.Matrix;

    import java.io.File;
    
    import java.io.IOException;
    
    import java.util.Scanner;
    
    public class odou {
    
    public static void main(String args[])throws IOException {
    
    double t = 0.002;
    
        double time=0.0,forwardvelocity=0.0,angularvelocity=0.0;
        Matrix Gt=Matrix.Factory.zeros(3,3);
    
    
        Scanner x=new Scanner(new File("/home/froboticscse/IdeaProjects/UJMPtest/src/main/java/Robot1_O.txt"));
        while(x.hasNext()) {
            time = x.nextDouble();
            forwardvelocity = x.nextDouble();
            angularvelocity = x.nextDouble();
    
            Gt.setAsDouble(1.0,0,0);
            Gt.setAsDouble(0.0,0,1);
            Gt.setAsDouble((-forwardvelocity*t*Math.sin(theta_initialU+(angularvelocity*t)/2)),0,2);
            Gt.setAsDouble(0.0,1,0);
            Gt.setAsDouble(1.0,1,1);
            Gt.setAsDouble((forwardvelocity*t*Math.cos(theta_initialU+(angularvelocity*t)/2)),1,2);
            Gt.setAsDouble(0.0,2,0);
            Gt.setAsDouble(0.0,2,1);
            Gt.setAsDouble(1.0,2,2);
        } }}
    

    我有一个文件名 Robot1_O.txt,它由 3 列和不同的行组成。我正在使用 Scanner 类来扫描这个值。该值在Gt 矩阵内循环。 Gt 是一个 3*3 矩阵。我还想创建一个 3*3 单位矩阵。

    创建此单位矩阵后,我创建另一个矩阵,例如 New,类似于 (I -Gt)。我找不到任何关于如何使用 UJMP 创建单位矩阵的文档。

    如果有人知道,请分享。

【问题讨论】:

    标签: java matrix ujmp


    【解决方案1】:

    试试下面的

    Matrix identity = DenseMatrix.Factory.zeros(3, 3);
    for(int i=0; i < 3; y++)
       identity.setAsDouble(1.0, i, i);
    

    【讨论】:

    • 哦,那么您建议创建一个单位矩阵。没有像 JAMA 这样的 bulid 单位矩阵?
    • 好的,这正在工作。 New 矩阵 (1 -Gt) 的下一步是什么?我该如何继续?
    • 看起来 - 不,根据文档和 UJMP 的 github 源代码。
    【解决方案2】:

    在 UJMP 矩阵包中没有内置单位矩阵,如 JAMA 矩阵包。如果不需要稀疏或密集矩阵运算,只需要一些基本的矩阵运算,最好使用JAMA矩阵。 JAMA 有适当的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      • 2013-08-17
      • 2022-01-24
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多