آرايه هاي سلولي در نرم افزار متلب

  آرايه هاي سلولي (cell arrays of string  ) در متلب:

شما مي توانيد به استفاده از آرايه هاي متن و جمله دلخواه خود را با آدرس دهي به المان هاي ماتريس نيز در قسمتهاي مختلف برنامه خود بكار ببريد براي اين منظور از يك روند خاصي استفاده مي كنيم كه به آن اصطلاحا آرايه هاي سلولي  رشته  يا (cell array of string  ) گفته مي شود ، روند تعريف آن بدين صورت است كه كافيست از علامت{} براي بيان ماتريس مورد نظر خود بكار ببريم ، مابين علامت آكولاد شما مي توانيد هر نوع متفيري از هر تيپ و اندازه اي  بكار ببريد  براي درك بيشتر به مثال زير توجه فرمائيد :

clc;

clear all;

c={ 'matlab';'programming';'easy to';'Learning'};

c(1:4)

بعد از اجرا :

ans =

    'matlab'           

    'programming'         

    'easy to'          

       'Learning'

اگر متن فوق را به حالتي آرايه سلولي فراخواني كنيم  متن بهتري را خواهي داشت :

S=c{4}

S=

   Learning

براي فراخواني بيش از يك cell از تابع  deal  استفاده مينما ئيم :

[a,b,f,d]=deal(c{1},c{2},c{3},c{4})

 

a =

    matlab

 

b =

    programming

 

f =

    easy to          

d =

    Learning

با استفاده از تابع char  در نرم افزار متلب (  matlab ) مي توان تمامي آرايه هاي يك سلول را در يك جا نشان داد :

s=char(c)

s=

matlab           

programming         

easy to          

Learning

 

برگرداندن به حالت رشته (string )  با استفاده از  تابع cellstr  ميباشد :

cellstr(s)

 

 'matlab'           

'programming'         

'easy to'          

'Learning'

به غير از توابعي كه در مورد متن بيان گرديد توابع بسياري ديگر براي كاربردهاي متنوع وجود دارد كه در زير به تعدادي از اين توابع اشاره ميشود :

تابع sprintf   در نرم افزار متلب (  matlab ) براي چاپ يك داده ( مقدار ) با فرمت تعيين شده در داخل يك رشته مي باشد ؛ فرم كلي اين تابع بصورت زير است :

               sprintf(format,A,...)

در اينجا لازم ميدانم مطالبي راجع به تغيين نوع فرمت اعداد و رشته ها در نرم افزار متلب (  matlab )  بيان كنم ؛ بطور كلي قبل از اعمال هر دستور فرمت لازم است كه علامت درصد %  نوشته شود ، سپس تعداد پهناي فيلدي كه براي عدد يا رشته در نظر گرفته مي شود، بيان گردد و از اين مقدار پهنا چه مقدار براي رقم صحيح و چه مقدار براي ارقام اعشار اختصاص داده شود ( البته اين درمورد فرمت اعداد يا data مي باشد براي كاراكترها لازم نيست ) و سپس براساس نوع فرمت تابع مزبور (كه در ادامه بطور كامل در جدولي ارائه مي گردد ) نوشته مي شود ؛

مثلا براي فرمت %12.5f نماينگر اين است كه عدد مورد نظر از نوع floating يا شناور ( داراي ارقام اعشار) است كه براي آن پهناي باندي كه اشغال مي كند 17 كاراكتر در نظر گرفته مي شود كه 5 كاراكتر براي ارقام اعشار و بقيه براي ارقام صحيح منظور مي گردد .

البته شايد اين سوال پيش آيد كه ممكن است تعدار ارقام صحيح يا اعشاري بيشتر يا كمتراز اين تعداد باشد و بطور كلي نامشخص است پس چگونه مي توانيم پهناي باند صحيحي را تعريف كنيم ، جواب چنين است :

  • اگر تعداد ارقام اعشار بيشتر از تعداد خانه هاي درنظر گرفته شده باشد ، دراين صورت ارقام اعشار بترتيب نوشته مي شوند تابه آخرين خانه رقم اعشار برسد در اين صورت طبق قوانين گرد كردن آخرين  رقم اعشار  گرد مي گردد .
  • اگرتعداد ارقام اعشار كمتراز مقدار خانه ها در نظر گرفته بود ، در اين صورت ارقام اعشار نوشته شده و به جاي خانه هاي خالي صفرگذاشته مي شود .
  • اگر تعداد صحيح بيشتر از تعداد خانه هاي درنظر گرفته شده باشد ، دراين صورت ارقام صحيح بترتيباز آخرين رقم از آخرين خانه اختصاص داده شده به ارقام صحيح پر مي شوند؛ و براي بقيه ارقام صحيح خانه جديدي باز مي شود .
  • اگر تعداد صحيح كمتر از تعداد خانه هاي درنظر گرفته شده باشد ، دراين صورت ارقام صحيح بترتيب از آخرين رقم از آخرين خانه اختصاص داده شده به ارقام صحيح پر مي شوند؛ و بقيه خانه ها بصورت خالي باقي مي مانند ، از اين تكنيك اغلب براي زيباتر كردن  نمايش ارقام در جدول بكار مي رود زيرا خانه هاي خالي به ديگر كاركترها اختصاص داده نمي شوند و همچنان خالي باقي مي مانند و اين باعث ايجاد فاصله مابين اين عدد با رقم بعدي مي گردد البته اين روند در چاپ مقادير دريك M-File بسيار مشهودتر است و در نمايش ارقام در صفحه command به نظرنمي ايد . 

براي درك بهتر مطلب به فرمت بكارگرفته شده براي عدد  دقت فرمائيد :

sprintf('%f',pi)

ans =

3.141593

 

sprintf('%2.2f',pi)

ans =

3.14

 

sprintf('%3.5f',pi)

ans =

3.14159

 

sprintf('%3.10f',pi)

ans =

3.1415926536

 

sprintf('%3.20f',pi)

ans =

3.14159265358979310000

ميتوان قبل از رقم،  حرف يا حروفي را در نرم افزار matlab  چاپ نمود و همچنين ميتوان چندين پارامتر را با فرمتهاي مختلف همزمان در يك دستور نمايش داد :

sprintf('A=%3.20f',pi)

ans =

    A=3.14159265358979310000

d=exp(1);

sprintf('A=%3.20f     e=%2.12f',pi,d)

 ans =

A=3.14159265358979310000     e=2.718281828459

دراينجا ميخواهيم به تشريح كاراكترf بپردازيم و بيان كنيم كه آيا به غير از اين كاراكتر ، كاراكترهاي ديگري وجود دارند ؟ و چه تاثيري بر فرمت خروجي در نرم افزار متلب (  matlab )  دارند .

 


انجام پروژه با نرم افزار متلب ( matlab ) پذیرفته می شود.

برای سفارش پروژه با نرم افزار متلب ( matlab ) با ما تماس بگیرید.

  

 
دسته ها: متن در متلب

دیدگاه خود را بنویسید

دیدگاه پس از تائید مدیریت منتشر می شود.