मेरे पास कई क्षेत्रों के साथ एक संरचना है जो विभिन्न लंबाई के वैक्टर हैं। मैं क्रमशः लूप के भीतर फ़ील्ड तक पहुंच बनाना चाहता हूं। मैंने गेटफील्ड को निम्नानुसार करने की कोशिश की लेकिन MATLAB को यह पसंद नहीं आया। मैं यह कैसे कर सकता हूँ?मैं संरचना क्षेत्रों को गतिशील रूप से कैसे एक्सेस करूं?
S = struct('A', [1 2], 'B',[3 4 5]);
SNames = fieldnames(S);
for loopIndex = 1:2
field = getfield(S, SNames(loopIndex));
%do stuff w/ field
end
??? Index exceeds matrix dimensions
मैं पहले स्थान पर संरचनाओं का उपयोग कर रहा हूं क्योंकि एक सरणी को विभिन्न फ़ील्ड लंबाई के साथ परेशानी होगी। क्या इसके लिए कोई बेहतर विकल्प है?
कारण है कि आप एक struct उपयोग कर रहे हैं की अपने विवरण को देखते हुए, मैं एडम के साथ सहमत हैं। आप इसके बजाय किसी सेल सारणी का उपयोग करके सेल सरणी का उपयोग करने के बजाय एक struct हालांकि कम वर्बोज़ है विचार करना चाहिए। –