ساختارها (Structure)، در متلب (MATLAB)
ساختار (Structure)، نوعی از ذخیره اطلاعات (Data Type) در نرم افزار متلب(MATLAB) می باشد که در آن، اطلاعات مرتبط را به صورت یک گروه درنظر می گیریم و هر گروه از اطلاعات را در یک فیلد (Field) قرار می دهیم.
هر فیلد (Field)، می تواند شامل هر نوع (Type) اطلاعات باشد.
دسترسی به اطلاعات یک فیلد (Field) با نام fieldName در یک ساختار(Structure) با نام structureName ، بر اساس عبارت زیر صورت میگیرد (یک علامت . در بین نام آنها قرار داده می شود) :
تعریف یک ساختار (Structure)، بدون استفاده از هیچ دستور از قبل تعریف شده، در متلب (MATLAB) :
فرض کنید که می خواهیم یک ساختار (Structure) با نام S بسازیم که دارای2 فیلد (Field) با نام های a و b باشد، که فیلد a برابر عدد 1 و فیلد bبرابر یک رشته (String) با مقدار kelidestan.com باشد. بنابراین کد متلب(MATLAB) زیر را می نویسیم :
S.b = ‘kelidestan.com’
نتیجه :
S =
a: 1
S =
a: 1
b: ‘kelidestan.com’
اکنون برای نمایش مقدار فیلد b در خروجی، کد متلب (MATLAB) زیر را اجرامی کنیم :
نتیجه :
ans =
kelidestan.com
مثالی دیگر :
فرض کنید که می خواهیم یک ساختار (Structure) با نام S بسازیم که دارای3 فیلد (Field) با نام های a و b و c باشد، که فیلد a برابر عدد 1 و فیلدb برابر یک رشته (String) با مقدار kelidestan.com و فیلد c برابر یکآرایه سلولی (Cell Array) به صورت {10, 20, 30} باشد. بنابراین کد متلب(MATLAB) زیر را می نویسیم :
close all
clcS.a = 1
S.b = ‘kelidestan.com’
S.c = {10, 20, 30}
3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه :
S =
a: 1
S =
a: 1
b: ‘kelidestan.com’
S =
a: 1
b: ‘kelidestan.com’
c: {[10] [20] [30]}
اکنون برای نمایش مقدار فیلد c در خروجی، کد متلب (MATLAB) زیر را اجرامی کنیم :
نتیجه :
ans =
[10] [20] [30]
با توجه به اینکه فیلد c یک آرایه سلولی (Cell Array) است (شامل 3 سلولبا مقدارهای 10 و 20 و 30 می باشد)، برای نمایش اولین سلول (Cell) آن درخروجی، کد متلب (MATLAB) زیر را اجرا می کنیم :
نتیجه :
ans =
10
اگر بخواهیم که در هر بار تعریف یک فیلد (Field) جدید برای ساختار(Structure)، نمایش ساختار (Structure) در خروجی را نداشته باشیم، باید علامت های ; را در پایان هر خط از کدهای تعریف فیلدها (Field)بنویسیم :
close all
clcS.a = 1;
S.b = ‘kelidestan.com’;
S.c = {10, 20, 30};
S.c
نتیجه :
ans =
[10] [20] [30]
آرایه های ساختاری (Structure Array)، در متلب (MATLAB) :
در متلب (MATLAB)، ما می توانیم آرایه ای (Array) از ساختارها (Structure)را داشته باشیم که آن را یک آرایه ساختاری (Structure Array) می نامیم.