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

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

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

  1. public class Inf {
  2. Time1 t;
  3. Seq1 s;
  4. Nob1 n;
  5. Rinex1 r;
  6. Sat1 sa;
  7. Rec1 re;
  8. Ant1 an;
  9. Lst1 ls;
  10. public Inf() {}
  11. }
  12. public class Time1 {
  13. double leap;
  14. double int1;
  15. double[] last;
  16. double[] first;
  17. String system;
  18. double doy;
  19. }

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

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

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

  1. inf.seq.gps = cell(1);

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

  1. public class dnm2 {
  2. public Inf infOku() throws IOException {
  3. Inf isimInf = new Inf();
  4. Time1 isimTime = new Time1();
  5. Seq1 isimSeq = new Seq1();
  6. Nob1 isimNob = new Nob1();
  7. Rinex1 isimRinex = new Rinex1();
  8. Sat1 isimSat = new Sat1();
  9. Rec1 isimRec = new Rec1();
  10. Ant1 isimAnt = new Ant1();
  11. Lst1 isimLst = new Lst1();
  12. isimInf.t = isimTime;
  13. isimInf.s = isimSeq;
  14. isimInf.n = isimNob;
  15. isimInf.r = isimRinex;
  16. isimInf.sa = isimSat;
  17. isimInf.re = isimRec;
  18. isimInf.an = isimAnt;
  19. isimInf.ls = isimLst;
  20. isimTime.leap = 0;
  21. isimTime.int1 = 0;

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

  1. public static void main(String[] args) {
  2. dnm2 dnmYazo = new dnm2();
  3. Inf isimInf = new Inf();
  4. isimInf = dnmYazo.infOku();
  5. }

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

暂无答案!

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

相关问题