test
次の「レイアウト」(の結果whos test, test
)で呼び出される構造を使用します
Name Size Bytes Class Attributes
test 1x1 8449048 struct
test =
timestamp: {[7.3525e+05] [7.3525e+05] [7.3525e+05]}
timeseries: {[44000x8 double] [44000x8 double] [44000x8 double]}
速度の問題については、ゼロで事前に割り当てたいと思います。他の「レイアウト」をもたらすいくつかの方法を見つけました。
test2=struct('timestamp',cell(1,3),'timeseries',cell(1,3));
test3=struct('timestamp',{0,0,0},'timeseries',{zeros(44000,8),zeros(44000,8),zeros(44000,8)});
tempstamp={0,0,0};
tempseries={zeros(44000,8),zeros(44000,8),zeros(44000,8)};
test4=struct('timestamp',tempstamp,'timeseries',tempseries);
whos test2 test3 test4,test2,test3,test4
その結果
Name Size Bytes Class Attributes
test2 1x3 176 struct
test3 1x3 8448824 struct
test4 1x3 8448824 struct
test2 =
1x3 struct array with fields:
timestamp
timeseries
test3 =
1x3 struct array with fields:
timestamp
timeseries
test4 =
1x3 struct array with fields:
timestamp
timeseries
コマンドを発行するtest5.timestamp=tempstamp;test5.timeseries=tempseries;whos test5,test5
と、
Name Size Bytes Class Attributes
test5 1x1 8449048 struct
test5 =
timestamp: {[0] [0] [0]}
timeseries: {[44000x8 double] [44000x8 double] [44000x8 double]}
したがって、の「レイアウト」を再現しtest
ます。これはおかしいですね。
それ以上の使用test2.timestamp{2}=now
は、test3
およびのように機能しませんtest4
。
さて、これはドキュメントhelp struct
に記載されていますが、どのように私はその1x1 struct
ようなものを1行以内に事前に割り当てることができますtest
か?これらの変数test5
がない場合に最適です。temp*