Professional Documents
Culture Documents
22 Integral Matlab
22 Integral Matlab
فهرست مطالب
احتماال وقتی کارتان به کدنویسی کشیده با مفهوم انتگرال معین ،نامعین و عددی آشنایی دارید .پس
مستقیم میرویم سر اصل متلب! برای محاسبه انتگرال نامعین در متلب از دستور intاستفاده میشود.
برای این کار ابتدا باید تابع موردنظرتان را به صورت سمبولیک تعریف کنید .سپس کافی است تابع را
به دستور intبدهید .چند مثال حل میکنیم تا نحوه استفاده از این دستور را بهتر یاد بگیرید.
انتگرال 2xبرای شما مثل آب خوردن است مگر نه؟ احتماال با یک نگاه میتوانید بگویید که انتگرال این
تابع برابر با .2xاما در متلب این کار چطور انجام میشود؟ گفتیم اول باید تابع موردنظر را به صورت
سمبولیک تعریف کنید .برای این کار از symsاستفاده کنید:
syms x
;f = 2 * x
خب حاال نوبت intاست .باید تابعی که تعریف کردید را به دستور intبدهید تا انتگرال را برای شما
محاسبه کند:
howsam.org انتگرال در متلب
)int(f
= ans
x^2
مشاهده میکنید که نتیجه همان چیزی است که پیشبینی کرده بودید .برویم سراغ یک مثال دیگر…
خب کمی تابع پیچیده شد .برای اینکه انتگرال این تابع در متلب محاسبه شود ،باز هم کافی است که
آن را به صورت سمبولیک تبدیل کنید:
syms x
;f = -2*x/(1+x^2)^2
)int(f
= ans
)1/(x^2 + 1
خب باز هم اول باید تابع را تعریف کنید .دقت کنید که این تابع ،دو متغیره است:
مشاهده میکنید که دو متغیر xو tرا با کمک symsتعریف کردیم .سپس تابع را با کمک آنها تعریف
کردیم .حاال باید این تابع را به دستور intبدهید .اما اینجا نیاز است که به تابع intبگوییم که نسبت
به کدام متغیر انتگرال را محاسبه کند! برای این کار کافی است متغیر را نیز به عنوان ورودی دوم به int
بدهید .به عنوان مثال برای محاسبه انتگرال تابع ) 3x2 + cos(tنسبت به متغیر xکافی است بنویسید:
)int(f, x
= ans
x^3 + cos(t)*x
مشاهده میکنید که از تابع نسبت به xانتگرال گرفته شده است .به شکل مشابه میتوانید از این تابع
نسبت به tهم انتگرال بگیرید:
)int(f, t
= ans
)3*t*x^2 + sin(t
به این شکل توانستید از تابع نسبت به هردو متغیر xو tانتگرال بگیرید.
howsam.org انتگرال در متلب
خب نوبت به انتگرال معین رسید .میدانید که انتگرال معین زیاد فرقی با انتگرال نامعین ندارد .تنها
بازهای که باید انتگرال را محاسبه کنید در انتگرال معین ،معین است! یعنی مثال انتگرال تابع fدر بازه 2
تا .6بسیار خوب ،اما در متلب چطور انتگرال معین را محاسبه کنیم؟ دستور انتگرال معین در متلب
همان intهست .با این تفاوت که بازه را هم باید به intبدهید .برویم سراغ چند مثال…
برای محاسبه انتگرال 2xدر بازه 5تا ،3باز هم باید تابع را به صورت سمبولیک تعریف کنید:
syms x
;f = 2 * x
خب حاال باید این تابع را به دستور intبدهید .بازهها که یادتان نرفته ،به شکل زیر میتوان بازه را به
دستور intمعرفی کرد:
= ans
16
میتوانید انتگرال را برای یک بازه پارامتریک هم محاسبه کنید! طبق معمول ،ابتدا باید تابع را به صورت
سمبولیک تعریف کنید .دقت کنید که اینجا باید دو متغیر تعریف کنید ،یکی xو دیگری :t
syms x t
;f = 3 * x ^ 2
= ans
sin(t)^3 - 1
syms x t
حاال باید مشخص کنید که نسبت به کدام متغیر انتگرال گرفته شود و بازه را نیز باید مشخص کنید:
= ans
cos(t) + 1
به دالیل متعددی ممکن است به انتگرال عددی نیاز پیدا کنیم:
به دالیلی که گفتیم ممکن است به انتگرال عددی نیاز پیدا کنید .برای محاسبه انتگرال به صورت عددی
میتوانید از دستور integralاستفاده کنید .برای آشنا شدن با این دستور برویم چندتا مثال حل کنیم…
در این مثال میخواهیم انتگرال ) 1/(x3-2x-5را در بازه 0تا 2به صورت عددی محاسبه کنیم .گفتیم برای
محاسبه انتگرال به صورت عددی از دستور integralاستفاده میکنیم .برای استفاده از این دستور باید
تابع را به صورت function handleتعریفش کنید .برای این کار کافی است بنویسید:
)integral(@(x)f(x),0,2
= ans
-0.4605
در این جلسه با دو دستور intو integralدر متلب آشنا شدید .دیدید که از دستور intبرای محاسبه
انتگرال معین و نامعین و از دستور integralبرای محاسبه انتگرال عددی استفاده میشود .امیدوارم که
این جلسه هم مورد توجه شما قرار گرفته باشد .میتوانید سوال و نظر خود را در کامنت با ما در میان
بگذارید.