उसी इनपुट संरचना के लिए, क्या फ़ील्डनाम हमेशा अलग-अलग कंप्यूटरों, विभिन्न ओएस और विभिन्न MATLAB संस्करणों पर भी एक ही सेल सरणी वापस कर देगा? या क्या यह फ़ील्ड नामों को अलग-अलग आदेश दे सकता है? उदा .:MATLAB: फ़ील्डनाम के आदेश को परिभाषित किया गया है?
myStructure = load myStructure;
x = fieldnames(myStructure);
% days later, diff computer, diff OS, and diff version of MATLAB...
y = fieldnames(myStructure);
x == y %?
documentation for fieldnames वादा है कि एक ही क्रम हर बार दिया जाता है प्रतीत नहीं होता। लेकिन दूसरी ओर, orderfields का अस्तित्व यह इंगित करता है कि फ़ील्ड नाम अनुमानित रूप से एक अंतर्निहित, सामान्य रूप से अपरिवर्तनीय आदेश देता है।
ध्यान दें कि structs की सरणी के तत्वों को निर्दिष्ट करते समय फ़ील्ड ऑर्डर महत्वपूर्ण है। – Jonas
धन्यवाद। मैं बस अपरिभाषित व्यवहार पर भरोसा नहीं करना चाहता हूं। क्या आप दस्तावेज़ीकरण में कहीं भी जानते हैं जो बताता है कि फ़ील्ड नाम फ़ील्ड नामों को क्रम में वापस करने का वादा करता है? अर्थात। यह वादा करता है कि यदि मैं फ़ील्ड को एक निश्चित क्रम में सेट करता हूं, तो मैं उन्हें उस क्रम में वापस ले जाऊंगा? – AlcubierreDrive
मैंने एक उद्धरण के साथ उत्तर अद्यतन किया। – yuk