menusearch
javapro.ir

جلسه پانزدهم | توابع در متلب

جستجو
شنبه ۶ مرداد ۱۴۰۳ | ۶:۴۵:۲۹
۱۴۰۰/۹/۱ دوشنبه
(2)
(0)
جلسه پانزدهم | توابع در متلب
جلسه پانزدهم | توابع در متلب

فهرست جلسات مینی دوره متلب

جلسه اول | آموزش تصویری نصب برنامه متلب در کامپیوتر

جلسه دوم | آموزش کار با برنامه متلب

جلسه سوم | آموزش کار با توابع ریاضی ساده در متلب

جلسه چهارم | آموزش متغیرها در برنامه نویسی متلب

جلسه پنجم | معرفی انواع داده ها در متلب

جلسه ششم | آرایه ها در برنامه نویسی متلب

جلسه هفتم | ماتریس ها در برنامه نویسی متلب

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

جلسه نهم | رشته ها در برنامه نویسی متلب

جلسه دهم | آرایه سلول ها در برنامه نویسی متلب

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

جلسه دوازدهم | آرایه‌های چندبعدی در متلب

جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

جلسه چهاردهم | ساختارها(structures) در متلب

جلسه پانزدهم | توابع در متلب

جلسه شانزدهم | رسم نمودار دوبعدی در متلب

جلسه هفدهم | ادامه رسم نمودار دوبعدی در متلب

جلسه هجدهم | رسم نمودار سه بعدی در متلب

جلسه نوزدهم | محاسبات نمادین در متلب

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

 

مینی دوره آموزش رایگان برنامه نویسی متلب

 

 

آموزش برنامه نویسی متلب
موضوع:توابع در متلب
جلسه: پانزدهم
مدرس : مدرسین جاواپرو
متلب را ساده،آسان و شیرین بنوشید!!!

 

 

سفارش انجام پروژه متلب (MATLAB) {کاردانی تا دکتری} با تحویل به موقع، صحیح و کامل کار [اینجا کلیک کنید]

 

 

این جلسه به بحث مهم توابع می‌پردازیم. تا این جا از بسیاری از توابع از پیش نوشته شده ی متلب استفاده کرده ایم. برای مثال تابع sin(x)، که جزو کتابخانه توابع ریاضی متلب است و x را به عنوان ورودی می‌-گیرد که به آن آرگومان ورودی نیز می‌گویند و مقداری را برمی گرداند که به آن آرگومان خروجی گفته می-شود. برخی توابع نیز می‌توانند بیش از یک آرگومان ورودی یا خروجی داشته باشند. قبلاً دیده بودیم که به جای استفاده از برخی توابع، خودمان نیز می‌توانیم با کمک دستورات و توابع دیگر به مطلوب خود دست-یابیم. بنابراین بسیاری از توابع از یک سری توابع و دستورات دیگر در محاسبات خود استفاده می‌کنند. این امکان وجود دارد که توابع متلب را گسترش داد. و این باعث شده که کتابخانه ها و توابع مختلفی توسط افراد مختلف نوشته شده و در اختیار عموم قرار بگیرد.


پیش از این با فایل های متنی آشنا شده ایم. توابع نیز شباهت زیادی به فایل های متنی دارند ما تفاوت های اساسی نیز باهم داشته که به برخی اشاره می‌کنیم:
- بر خلاف فایل های متنی، توابع در متلب ابتدا به طور کامل کامپایل شده و سپس اجرا می‌شوند.
- سرعت اجرای توابع به دلیل گفته شده در مورد قبل بالاتر از فایل های متنی است.
- فضای کاری توابع و متلب متفاوت است، در حالی که فایل های متنی از همان فضای کاری متلب استفاده می‌کنند. این بدان معناست که چنانچه یک متغیر در فایل متنی تعریف شود، در فضای کاری نیز ایجاد شده و همچنین در فایل های متنی از متغیرهای فضای کاری می‌توان استفاده نمود. اما در توابع،متغیرها همگی به طور محلی تعریف می‌شوند. یعنی محدوده تعریف‌ آنها فقط در داخل فایل توابع است.
- آرگومان های توابع تنها راه ارتباط فضای کاری توابع و متلب است.
برای ایجاد تابع یک فایل متنی ایجاد کنید:

 

>>edit myfunction


نحوه ایجاد یک تابع به شکل زیر است:

 

function [argout1 argout 2,…] = function_name(argin1, argin2 ,…)
% توضیحات
دستورات
...
end


کلمه function در بالا یک کلمه کلیدی است و معرف یک تابع است. نام دلخواه تابع خود را به جای function_name می‌نویسیم. در مورد نام توابع به نکات زیر دقت شود:
  - نام تابع فقط می‌تواند شامل حروف لاتین، اعداد و "_" باشد. ولی نمی‌توان با یک عدد شروع شود.
  - نام فایلی که در آن تابع نوشته می‌شود می‌بایست هم نام با نام تابع باشد.
  - نام تابع نمی‌تواند کلمات کلیدی یا نام توابع دیگر باشد، مثلاً sin. اما از آنجایی که متلب case sensitive است، یعنی به کوچک و بزرگ بودن حروف حساس است، می‌توان از این قبیل نام گذاری ها انجام داد: Sin(), _sin(), SIN(),… .
اگر تابع ورودی یا خروجی نداشته باشد، به شکل زیر ساده خواهد شد:

 

function myfunction
end


اولین خط فایل متنی باید خط اول تعریف تابع باشد. در غیر این صورت متلب به جای نام تابع نام برنامه را به عنوان نام تابع درنظر می‌گیرد.
- مثال:
تابعی بنویسید که دو عدد را بگیرد و میانگین آن دو را برگرداند.
یک فایل متنی با عنوان average ایجاد کرده و کدهای زیر را درآن می‌نویسیم:

 

function ave = average(x,y)
  ave = (x + y)/2;
end


برای اجرای برنامه در خط فرمان عبارت زیررا می‌نویسیم:

 

>>a = average(1,2)
a =
1.5000


- نکات مهم:
چنانچه در اولین خط تعریف تابع توضیحاتی را یادداشت کنید، در هنگام جستجوی دستورات با lookfor، متلب از این خط برای جستجو استفاده می‌کند. اولین خطوط توضیحات برنامه تا اولین خط غیرتوضیحی در نتیجه دستور help myfuntion ظاهر می‌شود. مثال:

 

function ave = average(x,y)
% in barnameh miangine 2 adad ra
%mohasebe mikoned
%be jaye x, y do adad qarar dade
%va enetr bezanid
  ave = (x + y)/2;
end

 

در پنجره فرمان می‌نویسیم:

 

><help average
in barnameh miangine 2 adad ra
mohasebe mikoned
be jaye x, y do adad qarar dade
va enetr bezanid

>>lookfor miangin
average  - in barnameh miangine 2 adad ra


در توابعی که قبلاً آموخته ایم برخی توابع با تعداد آرگومان های ورودی یا خروجی متفاوتی به کار می‌رفتند، مانند:

 

diag(A), diag([a1 a2 … an])


به ازای ورودی ماتریس یک بردار، و به ازای ورودی بردار یک ماتریس خروجی این دستور بود. برای نوشتن چنین برنامه هایی، دستوات زیر را می‌توان به کاربرد:


- narargin:
تعداد آرگومان های واردشده هنگام فراخوانی تابع را برمی گرداند. این دستور فقط در داخل تابع استفاده می‌شود.

 

function ave = average(x,y)
  disp('number of inputs: ');
  disp(nargin);
  ave = (x + y)/2;
end


مثال فوق تعداد آرگومان های ورودی تابع را نشان می‌دهد. اگر تابع فوق را با تعداد آرگومان کمتر یا بیشتر تعریف شده فراخوانی کنیم، با پیغام خطا از سوی متلب مواجه می‌شویم، اما اگر بخواهیم تابع خود را با تعداد متغیرهای ورودی متغیر تعریف کنیم از varargin استفاده می‌کنیم که در ادامه توضیح داده-خواهدشد. nargin(‘function_name’) تعداد آرگومان های ورودی تابع را برمی گرداند.


- varargin:
این عبارت در داخل تعریف متغیرهای ورودی تابع به کار می‌رود، در صورت استفاده، به این معناست که تابع هر تعداد ورودی را می‌تواند بپذیرد. با فراخوانی تابع، یک آرایه سلول به ابعاد 1*N با نام varargin تشکیل می‌شود.
نحوه استفاده از آن در مثال زیر توضیح داده می‌شود.


- مثال:
تابعی بنویسید که تعداد آرگومان های ورودی به آن را برگرداند.

 

function number_of_args(varargin)
s=['number of inputs: ' num2str(nargin)];
disp(s)
end


در پنجره فرمان دستورهای زیر را برای آزمایش تابع اجرا کنید:

 

>>number_of_args
number of inputs: 0
>>number_of_args([1 2])
number of inputs: 1
>>number_of_args([1 2],'name')
number of inputs: 2


می بینیم که به راحتی این امکان وجود دارد هر تعداد ورودی دلخواه با نوع داده متفاوت به عنوان ورودی تابع داده شود.


- نکته : اگر تابعی تعداد ورودی نامشخص داشته باشد، nargin(‘function_name’) -1 را برمی گرداند.


- nargout :
تعداد خروجی های یک تابع را برمی گرداند و فقط در داخل تابع استفاده می‌شود.


- مثال:
تابعی با دو ورودی عددی بنویسید که اگر با یک آرگومان خروجی فراخوانی شود، قدرمطلق اختلاف آن دو را برگرداند، و چنانچه با دو خروجی فراخوانی شود، مقدار خروجی دوم برابر با تفریق ورودی اول از دوم باشد:

 

function [a,b] = Dif(x,y)
a = abs(y-x);
if varargout == 2
b = y – x;    
end

 

پیروز و موفق باشید

 

تدریس خصوصی آنلاین و از راه دور متلب(MATLAB) با مدرس های حرفه ای و با تجربه [اینجا کـــــلیک کــــنید]

 

 


 

جلسه پانزدهم | توابع در متلب

 

فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)

 

 

لینک دانلود آموزش رایگان اندروید

لینک دانلود

 

 

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی