matlab中结构体

S=struct('pop',[2 6 8 3 1],'acc_x',0.89,'acc_y',0.32, 'P','Hello')
S =

  scalar structure containing the fields:

    pop =

       2   6   8   3   1

    acc_x = 0.8900
    acc_y = 0.3200
    P = Hello

octave:2> S.pop(1)
ans = 2
octave:3> S.pop(2)
ans = 6
octave:4> S.acc_x
ans = 0.8900
octave:5> S.acc_y
ans = 0.3200
octave:6> S.P
ans = Hello
octave:8> S.P(1)
ans = H
octave:9> S.P(4)
ans = l

同样以下代码也可以:

octave:10> T.pop=[2 6 8 3 1];
octave:12> T.acc_x=0.89;
octave:13> T.acc_y=0.32;
octave:14> T.P='Hello';
octave:15> T.pop(1)
ans = 2
octave:16> T.pop(2)
ans = 6
octave:17> T.acc_x
ans = 0.8900
octave:18> T.acc_y
ans = 0.3200
octave:19> T.P(1)
ans = H
octave:20> T.P(4)
ans = l

第二种方式可以不用定义,使用时matlab自动判断,更加隐晦些,切记。

posted @ 2025-04-21 11:42  叕叒双又  阅读(14)  评论(0)    收藏  举报