متغیرها در Matlab (بخش دوم)
در ادامه بحث انواع متغیرها در مطلب به سراغ کاراکتر ها میرویم.
کاراکترها
کاراکترها (character)، که به اختصار (char)،نوشته میشوند دسته ای دیگر از متغیر ها در متلب میباشند. برای تعریف این نوع متغییر از دو تک-کوتیشن (‘ ‘) استفاده میکنیم.
بطور مثال:
a='g'
در اینجا مقدار a برابر است با کاراکتر g، اما مگر کاراکترها نیز مقدار دارند؟!
در پاسخ به این سوال باید گفت:آری. رمزگذاری کاراکترها به شیوه های مختلفی صورت میگیرند که از متداولترین آنها میتوان به ASCII (اَسکی) اشاره نمود. در این شیوه تمامی حروف و علامت های روی صفحه کلید، مقداری صحیح بین ۰ تا ۱۲۷ اتخاذ میکنند. لذا اگر خطی به صورت زیر نوشته شود خواهیم داشت:
همانطور که در شکل بالا قابل مشاهده است مقدار اسکی کاراکتر g که پیشتر در a مقدار دهی شده بود با عدد ۴ جمع شد.
رشته ها
دسته بعدی متغیر ها رشته ها هستند. بطور کلی رشته ها از ترکیب و کنار هم قرار گرفتن کاراکترها تولید میشوند. نحوه تعریف رشته ها نیز بسیار شبیه به کاراکترها است. باید دقت داشت که هنگام تعریف رشته ها حتما از علامت ‘ استفاده شود.
اگر از تک-کوتیشن استفاده نکنیم چه میشود؟
وقتی از کوتیشن استفاده میکنیم، یعنی عملیات جدید جهت تولید یک عبارت رشته ای بر اساس کاراکترها آغاز شده است. اما وقتی از کوتیشن استفاده نشود متلب رشته وارد شده را یا بعنوان تابعی از پیش تعیین شده در کتابخانه های خود یا تابع تعریفی توسط کاربر میپندارد. لذا هنگامی که همچین تابعی را در حافظه خود نمییابد با خطای زیر مواجه میشویم:
طبق آنچه که گفته شد بصورت زیر عمل میکنیم:
b='Hello' C='how are u?'
هرگاه نیاز به کنار هم آمدن دو کاراکتر باشد کافیست آنها را در یک ماتریس و کنار هم بنویسیم.
d=[b,c]
همچنین برای اینکار میتوان از دستور strcat، برای اتصال دو یا چند رشته استفاده کرد.
d=strcat([b,c])
متغیرهای سمبلیک
تاکنون تمام متغیر هایی که مقدار دهی میشدند عدد در خود جای میدادند. اما آیا این متغیرها برای انجام عملیات ریاضی بصورت سمبولیک نیز کافی هستند؟ برای رفع این نیاز دسته ای دیگر از متغیر ها تحت عنوان متغیرهای پارامتریک تولید شدند و با دستور (Syms) در متلب تتعریف میشوند.
syms x y y=x^2+2*x
عبارت های ریاضی را به سادگی با این نوع تعریف میتوان بیان کرد و در انتگرال،مشتق،حل معادلات و…. از آنها استفاده نمود.علاوه بر استفاده های بیشمار از این عبارات، برای نمایش و ساده سازی آنها نیز توابعی از پیش تعیین شده در کتابخانه های متلب قرار داده شده است که به شرح چند نمونه از آنها میپردازیم:
Factor
با فراخوانی این تابع،متلب عبارت موجود را فاکتورگیری کرده و بطور منظم آن را نمایش میدهد.
syms x y R=x^2 + 2*x*y + y^2 factor(R)
Expand
همانطور که از نامش پیداست این تابع دقیقا عکس فاکتور عمل میکند و عبارت را گسترش میدهد.
syms x y B=(x+y)^2 expand(B)
Simplify
این دستور تا حد امکان فرمول هایی که براساس عبارتهای سمبلیک تعریف شده اند را ساده میکنند.
Subs
شاید بتوان گفت یکی از پرکاربردترین توابع در مبحث متغیرهای سمبلیک subs باشد. برای آنکه بتوان به یک عبارت پارامتریک مقداری عددی اختصاص داد باید بصورت زیر عمل کرد:
syms x y y=x^2 subs(y,x,1)
بطور کلی در دستور subs سه بخش موجود است:بخش اول نام متغیر یا عبارت کاملیست که شامل پارامترها است (y در کد بالا).بخش دوم نام متغیر یا متغیر هایی که نیاز است تا مقدار دهی شوند (X) و بخش سوم مقدار مورد نظر برای مقدار دهی.
برای اینکه در عبارتی به چند متغیر مقدار های دلخواه بدهیم کافیست بصورت زیر عمل کنیم:
syms x y z w z= x^2+y^2+w^2 subs(z,[x y w],[1 2 3])
در واقع از دو ماتریس استفاده شد، اولی ماتریس مجهولات و دومی ماتریس مقادیر.
در ادامه با تعریف توابع در متلب در خدمت شما خواهیم بود.
با ما همراه باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.