لطفا به نکات زیر در هنگام خرید دانلود فایل پاورپوینت ایجاد توابع در متلب توجه فرمایید.

1-در این مطلب، متن اسلاید های اولیه دانلود فایل پاورپوینت ایجاد توابع در متلب قرار داده شده است 2-به علت اینکه امکان درج تصاویر استفاده شده در پاورپوینت وجود ندارد،در صورتی که مایل به دریافت  تصاویری از ان قبل از خرید هستید، می توانید با پشتیبانی تماس حاصل فرمایید 3-پس از پرداخت هزینه ، حداکثر طی 4 ساعت پاورپوینت خرید شده ، به ادرس ایمیل شما ارسال خواهد شد 4-در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل اسلاید ها میباشد ودر فایل اصلی این پاورپوینت،به هیچ وجه بهم ریختگی وجود ندارد 5-در صورتی که اسلاید ها داری جدول و یا عکس باشند در متون زیر قرار نخواهند گرفت

— پاورپوینت شامل تصاویر میباشد —-

اسلاید ۱ :

۷-۱-مزاياي استفاده از توابع به جاي  فايلهاي اسکريپت

.۱سرعت بالاتر

.۲صرفه‌جويي در حافظه کامپيوتر

.۳توسعه توانايي‌هاي متلب

توابع بر خلاف فايلهاي اسکريپت در هنگام اجرا يکبار کامپايل شده و اجرا مي‌شوند. در حاليکه فايلهاي اسکريپت سطر به سطر کامپايل و اجرا مي‌گردند. اين امر باعث افزايش سرعت اجراي توابع در مقايسه با فايلهاي اسکريپت مي‌شود.

متغيرهاي تعريف شده در توابع پس از پايان اجراي آن از حافظه پاک مي‌شوند و بطور کلي فضاي کاري توابع مستقل از فضاي کاري متلب است. خصوصا در مواقعي که برنامه با ماتريسهاي بزرگ(مانند تصاوير) کار مي‌کند بهتر است از توابع استفاده شود

اسلاید ۲ :

۷-۱-مزاياي استفاده از توابع به جاي  فايلهاي اسکريپت-ادامه-

اکثر دستورات اصلي متلب و جعبه‌ابزارهاي آن با استفاده از توابع نوشته شده است. به بيان ديگر به راحتي مي‌توان قابليتهايي که در حال حاضر در متلب وجود ندارد را با نوشتن يک مجموعه از توابع به آن افزود. همين امر باعث شده است که در دهه گذشته قابليتهاي متلب در رشته‌هاي مختلف علمي و فني با سرعت چشمگيري توسعه يابد.

نکته : بهتر است در هنگام نوشتن يک برنامه آنرا بصورت اسکريپت بنويسيم تا اشکالزدايي آن آسانتر باشد اما پس از کامل شده برنامه آنرا به فانکشن تبديل کنيم تا سرعت و کيفيت آن افزايش يابد.

اسلاید ۳ :

۷-۲- تفاوتهاي توابع و فايلهاي متني

.۱فايلهاي متني سطر به سطر ترجمه و اجرا مي‌شوند اما توابع يکبار بطور کامل ترجمه و سپس اجرا مي‌گردند.

.۲محيط کاري فايلهاي متني همان محيط کاري متلب است اما محيط کاري هر تابعي مختص خود اوست يعني اگر متغيري در يک تابع تعريف شود تنها در آن تابع قابل دسترسي است و برعکس متغيرهاي تعريف شده در محيط کاري متلب در داخل توابع تعريف شده نيستند.( مگر اينکه بصورت عمومي تعريف شده باشند)

.۳توابع تنها از طريق آرگومانهايشان با محيط خارج در ارتباطند

اسلاید ۴ :

۷-۳- نحوه ايجاد توابع

تنها تفاوت ظاهري يک تابع و يک فايل متني آن است که سطر اول يک تابع با کلمه کليدي fu ctio شروع مي‌شود که شکل کلي آن بصورت زير است:

fu ctio [argout1 , argout2, … ] = fu c ame(argi 1,argi 2,…)

%معرفي فانکشن در يک سطر

%راهنماي استفاده

% از اين فانکشن

% نويسنده فانکشن ، نسخه و سال ساخت

  بدنه تابع 

  …

اسلاید ۵ :

۷-۳- نحوه ايجاد توابع-ادامه-

نکات:

.۱تابع ممکن است هيچ آرگومان ورودي يا خروجي نداشته باشد.

.۲اولين سطر  بعد از اعلان تابع، يک جمله توضيحي است که در هنگام استفاده از دستور lookfor در متلب مورد جستجو قرار مي‌گيرد

.۳تمامي سطرهاي توضيحي تا نخستين سطر غير توضيحي در هنگام استفاده از دستور help نمايش داده ميشود.

نکته :بهتر است هنگام نوشتن يک تابع حتما يکي دو سطر در مورد نحوه استفاده از آن و عملکرد آن توضيح داده شود تا کاربر بتواند با استفاده از دستور help متلب با روش استفاده از آن تابع و قابليتهاي آن آشنا شود.

اسلاید ۶ :

۷-۴- فرمانهاي retur و error

با استفاده از اين دو دستور مي‌توان اجراي يک تابع را پيش از رسيدن به انتهاي آن متوقف کرد. تفاوت دستور error با دستور retur آن است که دستور error مي تواند يک پيغام خطا نيز بمنظور آگاهسازي کاربر نمايش دهد.

مثال:

s= i put( ‘Please e ter a scalar value= ‘);

if  le gth (s) > 1

  error(‘Error! Your i put is ’’t a scalar!’);

e d

a= li space( 0 , abs(s) , 100);

اسلاید ۷ :

۷-۵- تعيين تعداد آرگومانهاي بکار رفته در حين اجرا

در متلب مي‌توان توابع را با تعداد آرگومان کمتر از تعداد آرگومان موجود در تعريف تابع نيز فراخواني کرد. مثلا تابع size در متلب با دو آرگومان نوشته شده است اما با يک آرگومان نيز قابل اجراست که البته مقدار بازگشتي به تعداد آرگومانهاي مورد استفاده بستگي خواهد داشت.

در صورتيکه بخواهيم از تعداد آرگومانها در حين اجرا مطلع شويم بايد از توابع argi و argout به ترتيب براي تعداد آرگومانهاي ورودي و تعداد آرگومانهاي خروجي استفاده کنيم.

همچنین توابع argchk‌ و argoutchk تعداد آرگومانهای ورودی و خروجی را چک می‌کنند و درصورتیکه با تعداد درخواست شده برابر نباشند پیام خطای مناسب را نشان می‌دهند.

اسلاید ۸ :

۷-۶- نکاتي در مورد توابع

در يک فايل مي‌توان بيش از يک تابع تعريف کرد. در اينصورت تمامي اين توابع مي‌توانند يکديگر را فراخواني کنند اما تنها نخستين تابع از خارج از اين فايل قابل فراخواني است.

نام فايل با نام نخستين تابع آن بايد يکسان باشد. در  غير اينصورت بمنظور اجراي تابع بايد از نام فايل به جاي نام تابع استفاده گردد که البته کار درستي نيست.

اسلاید ۹ :

مثال ۱-۷- تابعی بنویسید که یک بردار(آرایه سطری یا ستونی) را از کاربر بگیرد و مراحل زیر را انجام دهد:

تعداد آرگومان ورودی و خروجی که توسط کاربر وارد شده است را چک کند و در صورتیکه تعداد آرگومان ورودی بیشتر یا کمتر از  یک  و تعداد آرگومان خروجی بیشتر از یک باشد، پیام خطا نمایش داده از تابع خارج شود.

ابعاد آرگومان ورودی را چک کند و درصورتیکه آرایه‌ای غیر سطری یا غیر ستونی باشد(یعنی در صورتیکه به جای بردار، ماتریس باشد)، با پیام خطا از تابع خارج شود.

عبارت زیر را بر روی مقادیر ورودی اعمال نموده به عنوان خروجی بازگرداند.

y=2exp(4×2)+3si (2πx)+10

تعداد آرگومان خروجی را چک کند و در صورتیکه برابر با صفر باشد، نمودار تغییرات y در مقابل x را رسم کند.(راهنمایی: برای رسم نمودار از تابع plot(x,y) استفاده کنید.

اسلاید ۱۰ :

تکلیف ۷-۱-تابعی بنویسید که یک عبارت ریاضی دلخواه را از کاربر (به صورت یک رشته کاراکتری) به عنوان آرگومان اول و یک آرایه را به عنوان آرگومان دوم بگیرد و :

چک کند که تعداد آرگومان ورودی دقیقا دو عدد باشد(با استفاده از تابع argchk)

چک کند که تعداد آرگومان خروجی دقیقا یک عدد باشد.(با استفاده از تابع argoutchk)

چک کند که آرگومان اول حتما یک رشته کاراکتری باشد و آرگومان دوم حتما یک متغیر عددی. (از توابع isstr و is umeric استفاده کنید)

با استفاده از تابع eval عبارات ریاضی وارد شده توسط کاربر را بر روی تمامی عناصر آرایه ورودی اعمال نموده، باز گرداند.