matlab结构数据类型在java中的应用

31moq8wy  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(307)

我是java初学者。我在matlab中有一些代码,我使用结构。 inf.time.leap = [];inf.time.last = 86400; 但是java没有结构数据类型。我应该能得到所有的值​​(leap、last等)中的数据类型。所以,我用java为所有结构数组和变量创建了类。
例如;

public class Inf {

    Time1 t;
    Seq1 s;
    Nob1 n;
    Rinex1 r;
    Sat1 sa;
    Rec1 re;
    Ant1 an;
    Lst1 ls;

    public Inf() {}
}

public class Time1 {
    double leap;
    double int1;
    double[] last;
    double[] first;
    String system;
    double doy;
}

但我有很多这样的课程。你能建议一个更简单的方法吗?
实际上,我想把matlab代码转换成java。我创造了价值​​在matlab中的结构。例如,“inf”内部有“time”结构。有“leap”、“int”、“last”、“first”值​​在“时间”里。

inf.time.leap = [];inf.time.last = 86400;

另一个例子是inf中的“sequence”​​如“gps”、“glonass”中的顺序。

inf.seq.gps    = cell(1);

因为java中没有结构类型,所以我为所有这些值创建了类。有8节课​​总之,在inf(time1,seq1,nob1,rinex1,sat1,rec1,ant1,lst1)中,我为所有这些值创建了一个类。我已经赋值了​​函数中的变量,如leap、int、last。代码样本;

public class dnm2 {
    public Inf infOku() throws IOException {

        Inf isimInf = new Inf();
        Time1 isimTime = new Time1();
        Seq1 isimSeq = new Seq1();
        Nob1 isimNob = new Nob1();
        Rinex1 isimRinex = new Rinex1();
        Sat1 isimSat = new Sat1();
        Rec1 isimRec = new Rec1();
        Ant1 isimAnt = new Ant1();
        Lst1 isimLst = new Lst1();
        isimInf.t = isimTime;
        isimInf.s = isimSeq;
        isimInf.n = isimNob;
        isimInf.r = isimRinex;
        isimInf.sa = isimSat;
        isimInf.re = isimRec;
        isimInf.an = isimAnt;
        isimInf.ls = isimLst;

    isimTime.leap = 0;
    isimTime.int1 = 0;

我需要调用赋值的方法​​对于leap、int1等,使用它们自己的数据类型(double、int、double[]等)访问这些变量。我是这样做的;

public static void main(String[] args) {

    dnm2 dnmYazo = new dnm2();

    Inf isimInf = new Inf();

    isimInf = dnmYazo.infOku();
}

目前,我创建的代码没有任何问题。但是我想知道我是否可以在不创建8个或更多这样的类(为time1、seq1、nob1等创建类)的情况下以更短的方式处理它。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题