دستور size در نرمافزار متلب در حالت کلی برای محاسبه اندازه (تعداد سطر، ستون، طبقات و ...) یک آرایه استفاده میشود. در بسیاری از مسائل میخواهیم با توجه به ابعاد یک آرایه از جمله ابعاد یک بردار یا ماتریس، محاسباتی را ادامه انجام دهیم. بنابراین استفاده از دستور size بسیار پرکاربرد در نرمافزار متلب میباشد.
گرامر (syntax) استفاده از دستور size در متلب
در هر زبان برنامهنویسی هر دستوری مطابق سینتکس یا گرامر خاصی استفاده میشود که نحوه ورودیها و خروجیهای آن دستور را مشخص میکند. سینتکس استفاده از دستور size در متلب بصورت زیر است :
مثالهای مختلف کار با دستور size در ماتریسها و بردارها
در ادامه با ارائه چند مثال نحوه استفاده از این دستور را برای بردارها و ماتریسها بیان میکنیم.
مثال اول : بدست آوردن اندازه یک ماتریس یا بردار در یک خروجی
A1 = [2 -5 8 ; 1 4 3] ;
sz = size(A) ;
% Results
sz = 2 3
مثال دوم : محاسبه اندازه سطرها و ستونهای یک ماتریس بصورت مجزا
B = [2 -5 8 ; 1 4 3 ; -8 -9 -12] ;
sz1 = size(A,1)
sz2 = size(A,2)
sz1 = 2
% Results
sz2 = 3
مثال سوم : محاسبه اندازه سطرها، ستونها و طبقات یک ماتریس سهبعدی با یک خروجی و خروجیهای مجزا
c(:,:,1) = [2 -5 8 ; 1 4 3] ;
C(:,:,2) = [-5 -4 -12 ; 14 -8 6] ;
sz = size(C)
[sz1,sz2,sz3] = size(C)
% Results
sz = 2 3 2
sz1 = 2
sz2 = 3
sz3 = 2
استفاده از دستور size در آرایههای جدولی، سلولی، ساختاری و رشتهها
در ادامه با ارائه چند مثال نحوه استفاده از دستور size برای انواع آرایههای مختلف بیان مینماییم.
مثال چهارم : بدست آوردن ابعاد یک آرایه جدولی (table)
LastName = {'Hossein';'Reza';'Naser';'Mahdi';'Arash'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
N = table(Age,Height,Weight,BloodPressure,'RowNames',LastName) ;
sz = size(N)
% Results
sz = 5 4
نکته : دقت نمایید متغیر BloodPressure با اینکه یک ماتریس است، اما در آرایه جدولی یک ستون محسوب میگردد.
مثال پنجم : محاسبه ابعاد یک آرایه سلولی (Cell Array)
A2 = {'Ali','Mahdi','Fatemeh'; 'Arman','Mohammad','Zahra' ; ...
false(2,2) , [1 2 3] , {'Ali',94125010}}
sz2 = size(A2)
% Results
sz2 = 3 3
مثال ششم : محاسبه ابعاد یک آرایه ساختاری (structure)
std(1).name = 'Fatemeh' ;
std(1).Id = '450123' ;
std(1).grades = [19 20 16] ;
std(2).name = 'Arman' ;
std(2).Id = '450235' ;
std(2).grades = [18.5 17 19] ;
sz = size(std)
% Results
sz = 1 2
مثال هفتم : بدست آوردن تعداد کاراکترهای یک رشته (string)
Str = 'Arman Ahmadi' ;
Sz = size(Str)
% Results
sz = 1 12
نکته : دقت نمایید که کاراکتر فاصله بین نام و نام خانودگی نیز در محاسبه تعداد کاراکترها محسوب میگردد.