Initialising tabular data structure using struct()
조회 수: 2 (최근 30일)
이전 댓글 표시
For this I'm using an example as below
Eg, A table of data structures, size NL,ML, which has three data types within, at, bt and pt which all have a size nL, mL
Such that all of the below are reasonable:
data(NL,ML).bt(nL,mL) = 5 ;
data(NL-5,ML-2).pt(nL-2,mL-1) = 1 ;
To pre-allocate a data structure like this, I know you need to use struct like below
data = struct(pt,zeros(nL,mL)) ;
However, this creates a data structure that doesn't have the (nL,mL) as above. My current workaround is within the for-loop writing something as below
for N = 1 : NL
for M = 1 : ML
data(N,M) = struct('at',zeros(nL,mL),'bt',zeros(nL,mL),'pt',zeros(nL,mL)) ;
end
end
However this clearly isn't pre-allocated, as it's adding a new column and row to the first table bit each iteration. How can you pre-allocate a table of data structures like this?
댓글 수: 0
채택된 답변
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!