ساخت آرایه ساختاری (Structure Array)، با دستور struct ، در متلب (MATLAB)
در کلید شماره 26514 ، آرایه های ساختاری (Structure Array) در متلب (MATLAB) را معرفی کردیم و روشی را برای ساخت آرایه های ساختاری (Structure Array) به کار بردیم که در آن، از هیچ دستور از قبل تعریف شده ای، استفاده نمی شد. اما دستور struct در متلب (MATLAB) نیز می تواند برای ساخت آرایه های ساختاری (Structure Array) به کار رود.
دستور struct به شکل کلی زیر به کار می رود :
که در آن، فیلد (Field) اول دارای نام field1 و مقدار value1 و فیلد دوم دارای نام field2 و مقدار value2 و ... و فیلد N ام دارای نام fieldN و مقدار valueN می باشد (البته قبل از استفاده، به نکات بعدی توجه شود) .
عبارت بالا را به صورت کلی نوشتیم و اینکه آرایه ساختاری (Structure Array) چگونه باشد، دارای نکاتی است که آنها را در ادامه شرح می دهیم :
فرض کنید که دستور struct را به صورت زیر به کار ببریم (تنها دارای یک فیلد (Field) و مقدار (Value) متناظر با آن) :
اکنون بر اساس اینکه value1 از چه نوعی (Type) باشد، حالت های زیر را برای S داریم :
1- value1 ، یک آرایه سلولی (Cell Array) نیست :
S یک ساختار اسکالر (Scalar Structure) خواهد بود
2- value1 ، یک آرایه سلولی (Cell Array) می باشد :
S یک آرایه ساختاری (Structure Array) خواهد بود
3- value1 ، یک آرایه سلولی خالی (Empty Cell Array) (یعنی {}) می باشد :
S یک ساختار خالی (Empty Structure) خواهد بود
حالت کلی استفاده از دستور struct را در نظر بگیرید :
اکنون بر اساس اینکه مقدارهای value1 و value2 و ... و valueN ، از چه نوعی (Type) باشند، حالت های زیر را برای S داریم :
1- هیچکدام از مقدارهای value1 و value2 و ... و valueN ، آرایه سلولی (Cell Array) نیستند و یا اینکه همگی آرایه سلولی اسکالر (Scalar Cell Array) هستند :
S یک ساختار اسکالر (Scalar Structure) خواهد بود
2- حداقل یکی از مقدارهای value1 و value2 و ... و valueN ، یک آرایه سلولی غیراسکالر (Nonscalar Cell Array) می باشد :
S دارای ابعادی (Dimension) برابر ابعاد همان آرایه سلولی غیراسکالر (Nonscalar Cell Array) خواهد بود. برای سایر مقدارهای (Value) تعیین شده (یعنی بقیه از مقدارهای value1 و value2 و ... و valueN) که آرایه سلولی اسکالر (Scalar Cell Array) یا آرایه ای (Array) از انواع دیگر (Data Type) هستند، دستور struct ، برای همه عنصرهای S ، محتوای آن مقدار (Value) را در فیلدهای (Field) مرتبط قرار می دهد.
3- حداقل یکی از مقدارهای value1 و value2 و ... و valueN ، یک آرایه سلولی خالی (Empty Cell Array) (یعنی {}) می باشد :
S یک ساختار خالی (Empty Structure) خواهد بود
به مثال زیر توجه کنید :
3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه :
نتیجه :
همان کدهای متلب (MATLAB) قبلی را با کمی تغییر، اجرا می نماییم :
نتیجه :
نتیجه :
نتیجه :
نتیجه :
نتیجه :
نتیجه :
خیلی خیلی از زحماتتون ممنونم واقعا سایت خیلی خوبی دارید