با سری آموزش های متلب مقدماتی در خدمت شما علاقمندان هستیم. با ما در این جلسه از آموزش متلب همراه باشید.
سفارش پروژه متلب از جمله پروژههایی است که در سایت کارت پروژه طرفداران بسیاری داشته و میتوان جهت ثبت سفارش کلیک نمائید.
ایجاد تابع با مثال product در متلب
در اینجا میخواهیم یک function بسازیم که برای مثال نام آن product است، این function میخواهد ۴ تا ورودی دریافت کند و ۴ ورودی خودش را در هم ضرب کند.
پس مانند همیشه که function را میساختیم، یک function مینویسیم و خروجی function ما برای مثال p است. نام function هم product است و ورودیهای آن هم a و b و c و d هستند.
کاری که function میکند این است که ورودیها را در هم ضرب میکند. حال برای اینکه ماتریسها را هم بتواند ضرب کند، یک dot (.) هم قرار میدهیم که بتواند این کار را انجام دهد.
p = a.*b.*c.*d
این کاری است که تابع ما دارد انجام میدهد و در آخر end را داریم.
الان ما تابع را ساختیم و در command window تابع را فرامیخوانیم و میگوییم که مثلاً خروجی تابع را برای ورودیهای ۲ و ۳ و ۴ و ۵ محاسبه کند.
مشاهده میکنید که تمام این ورودیها را در هم ضرب کرده است. ۱۲۰=۴×۵×۳×۲×۱
حال اگر در اینجا یک ورودی مانند عدد ۷ به آن اضافه کنیم، میگوید که چنین چیزی وجود ندارد.
چه کاری انجام دهیم که ما هر چند تا ورودی که خواستیم در اینجا وارد کنیم، این function کار کند؟ شما چه راه حلی برای این مسئله دارید؟
در اینجا است که باید از (variable argument input) varargin استفاده کنیم.
هرگاه خواستید بینهایت ورودی داشته باشید، باید از varargin استفاده کنید. اما varargin چیست؟
اولا در خط اول به جای ورودیها باید varargin را بنویسیم.
برای اینکه بدانیم varargin چه کاری انجام میدهد، ابتدا در خط دوم برنامه، p را با خود varargin برابر میکنیم.
حال میخواهیم بدانیم که برای مثال با اضافه کردن ورودی ۷ چه جوابی را به ما میدهد.
مشاهده میکنید که جواب ما یک آرایهی سلولی از جنس سلول شده است و pهای ما در workspace همه از جنس cell هستند.
حال به سادگی میتوانیم چیزی که میخواهیم را تعریف کنیم. اولا برای p المان اول را تعریف میکنیم که اولین المان ۱ است. سپس از حلقهی for استفاده میکنیم و برای i از ۲ تا numel(varargin)
شاید متوجه نشده باشید که در بالا چه نوشتیم. معنی numel(varargin) چیست؟ اکنون در مورد آن توضیح میدهیم.
numel تعداد اعضا را به ما میدهد. شما فرض کنید ما B را داریم که اعضای آن ۲ و ۳ و ۷ و۸ و۹ باشند. تعداد اعضای آن ۵ تاست. پس اگر بخواهیم تعداد اعضا را بدانیم که چندتاست، باید بگوییم numel یعنی number of element
یعنی تعداد المانهای اعضای ما چندتاست.
مشاهده میکنید که ۵ تا عضو دارد و در Editor هم اگر مشاهده کنید، numel(varargin) یعنی تعداد اعضایی که ما وارد کردیم را میدهد. خودمان نمیدانیم چند تا وارد کردیم. پس به همین دلیل به این صورت نوشتیم که هر گاه ۴ تا اعضا در اینجا وارد کردیم، این عدد ۴ میشود و ۲ تا ۴ را محاسبه میکند. اگر ۲۰ را زد، ۲ تا ۲۰ را حساب میکند.
بعد از آن باید بنویسیم p = p.* varargin(i) یعنی هرچند تا که در اینجا اعضا داشتیم، ضرب در آن میشود.
یک end هم برای for قرار میدهیم.
برای مثال product(1,2,3) را میخواهیم محاسبه کنیم.
مشاهده میکنید که جواب ۶ را به ما داده است که همان حاصل ضرب ۳×۲×۱ است.
حال میخواهیم ۷ و ۸ و ۹ را هم به ورودیهای ۱ و ۲ و ۳ اضافه کنیم.
مشاهده میکنید که در اینجا اگر در صفر هم ضرب شود، جواب صفر میشود.
همینطور میتوانیم برای هر تعدادی که میخواهیم این function را اجرا کنیم و تابعی که تعریف شده است، تعدادی نامحدود ورودی میگیرد. شما هر چند تا که بخواهید میتوانید ورودی بدهید و اضافه و کم کنید.
در این جلسه در خصوص تابع product مطالبی خدمتتان ارائه گردید.با ادامه آموزش ها در جلسات آتی با ما همراه باشید.
ارسال پاسخ