You are on page 1of 9

‫‪ 22‬دستور محاسبه انتگرال در متلب‬

‫‪howsam.org‬‬ ‫انتگرال در متلب‬

‫فهرست مطالب‬

‫‪ .1‬دستور محاسبه انتگرال نامعین در متلب‬

‫‪ .1.1‬انتگرال تابع ‪ 2x‬در متلب‬

‫‪ .1.2‬محاسبه انتگرال تابع ‪ 2x/(1+x2)2‬در متلب‬

‫‪ .1.3‬محاسبه انتگرال تابع )‪ 3x2 + cos(t‬در متلب‬

‫‪ .2‬دستور محاسبه انتگرال معین در متلب‬

‫‪ .2.1‬انتگرال تابع ‪ 2x‬در بازه ‪ 3‬تا ‪5‬‬

‫‪ .2.2‬انتگرال تابع ‪ 3x2‬در بازه ‪ 1‬تا )‪sin(t‬‬

‫‪ .2.3‬انتگرال تابع )‪ 3x2 + cos(t‬در بازه ‪ 0‬و ‪ 1‬نسبت به ‪x‬‬

‫‪ .3‬انتگرال عددی در متلب‬

‫‪ .3.1‬انتگرال )‪ 1/(x3-2x+5‬در متلب‬

‫‪ .4‬جمعبندی جلسه « دستور محاسبه انتگرال در متلب »‬


‫آکادمی هوشمصنوعی هوسم‬ ‫آموزش متلب رایگان‬

‫‪ 1-22‬دستور محاسبه انتگرال نامعین در متلب‬

‫شکل ‪ :1‬انتگرال نامع ی ن‬

‫احتماال وقتی کارتان به کدنویسی کشیده با مفهوم انتگرال معین‪ ،‬نامعین و عددی آشنایی دارید‪ .‬پس‬
‫مستقیم میرویم سر اصل متلب! برای محاسبه انتگرال نامعین در متلب از دستور ‪ int‬استفاده میشود‪.‬‬
‫برای این کار ابتدا باید تابع موردنظرتان را به صورت سمبولیک تعریف کنید‪ .‬سپس کافی است تابع را‬
‫به دستور ‪ int‬بدهید‪ .‬چند مثال حل میکنیم تا نحوه استفاده از این دستور را بهتر یاد بگیرید‪.‬‬

‫انتگرال تابع ‪ 2x‬در متلب‬

‫انتگرال ‪ 2x‬برای شما مثل آب خوردن است مگر نه؟ احتماال با یک نگاه میتوانید بگویید که انتگرال این‬
‫تابع برابر با ‪ .2x‬اما در متلب این کار چطور انجام میشود؟ گفتیم اول باید تابع موردنظر را به صورت‬
‫سمبولیک تعریف کنید‪ .‬برای این کار از ‪ syms‬استفاده کنید‪:‬‬

‫‪syms x‬‬

‫;‪f = 2 * x‬‬

‫خب حاال نوبت ‪ int‬است‪ .‬باید تابعی که تعریف کردید را به دستور ‪ int‬بدهید تا انتگرال را برای شما‬
‫محاسبه کند‪:‬‬
‫‪howsam.org‬‬ ‫انتگرال در متلب‬

‫)‪int(f‬‬

‫نتیجه اجرای دستور باال به شکل زیر است‪:‬‬

‫= ‪ans‬‬

‫‪x^2‬‬

‫مشاهده میکنید که نتیجه همان چیزی است که پیشبینی کرده بودید‪ .‬برویم سراغ یک مثال دیگر…‬

‫محاسبه انتگرال تابع ‪ 2x/(1+x2)2‬در متلب‬

‫خب کمی تابع پیچیده شد‪ .‬برای اینکه انتگرال این تابع در متلب محاسبه شود‪ ،‬باز هم کافی است که‬
‫آن را به صورت سمبولیک تبدیل کنید‪:‬‬

‫‪syms x‬‬

‫;‪f = -2*x/(1+x^2)^2‬‬

‫حاال تابع آماده است که به ‪ int‬داده شود‪:‬‬

‫)‪int(f‬‬

‫= ‪ans‬‬

‫)‪1/(x^2 + 1‬‬

‫مشاهده میکنید که به سادگی انتگرال تابع به دست آمد‪.‬‬


‫آکادمی هوشمصنوعی هوسم‬ ‫آموزش متلب رایگان‬

‫محاسبه انتگرال تابع )‪ 3x2 + cos(t‬در متلب‬

‫خب باز هم اول باید تابع را تعریف کنید‪ .‬دقت کنید که این تابع‪ ،‬دو متغیره است‪:‬‬

‫‪>> syms x t‬‬

‫;)‪>> f = 3*x^2 + cos(t‬‬

‫مشاهده میکنید که دو متغیر ‪ 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‬‬ ‫انتگرال در متلب‬

‫‪ 2-22‬دستور محاسبه انتگرال معین در متلب‬

‫شکل ‪ :2‬انتگرال نامع ی ن‬

‫خب نوبت به انتگرال معین رسید‪ .‬میدانید که انتگرال معین زیاد فرقی با انتگرال نامعین ندارد‪ .‬تنها‬
‫بازهای که باید انتگرال را محاسبه کنید در انتگرال معین‪ ،‬معین است! یعنی مثال انتگرال تابع ‪ f‬در بازه ‪2‬‬
‫تا ‪ .6‬بسیار خوب‪ ،‬اما در متلب چطور انتگرال معین را محاسبه کنیم؟ دستور انتگرال معین در متلب‬
‫همان ‪ int‬هست‪ .‬با این تفاوت که بازه را هم باید به ‪ int‬بدهید‪ .‬برویم سراغ چند مثال…‬

‫انتگرال تابع ‪ 2x‬در بازه ‪ 3‬تا ‪5‬‬

‫برای محاسبه انتگرال ‪ 2x‬در بازه ‪ 5‬تا ‪ ،3‬باز هم باید تابع را به صورت سمبولیک تعریف کنید‪:‬‬

‫‪syms x‬‬

‫;‪f = 2 * x‬‬

‫خب حاال باید این تابع را به دستور ‪ int‬بدهید‪ .‬بازهها که یادتان نرفته‪ ،‬به شکل زیر میتوان بازه را به‬
‫دستور ‪ int‬معرفی کرد‪:‬‬

‫)]‪int(f, [3, 5‬‬


‫آکادمی هوشمصنوعی هوسم‬ ‫آموزش متلب رایگان‬

‫نتیجه اجرای دستور باال‪ ،‬به این شکل است‪:‬‬

‫= ‪ans‬‬

‫‪16‬‬

‫با یک دودوتا چهارتا میبینید که ‪ 25 – 9‬برابر با ‪ 16‬است!‬

‫انتگرال تابع ‪ 3x2‬در بازه ‪ 1‬تا )‪sin(t‬‬

‫میتوانید انتگرال را برای یک بازه پارامتریک هم محاسبه کنید! طبق معمول‪ ،‬ابتدا باید تابع را به صورت‬
‫سمبولیک تعریف کنید‪ .‬دقت کنید که اینجا باید دو متغیر تعریف کنید‪ ،‬یکی ‪ x‬و دیگری ‪:t‬‬

‫‪syms x t‬‬

‫;‪f = 3 * x ^ 2‬‬

‫در قدم بعدی تابع را به همراه بازهها به دستور ‪ int‬بدهید‪:‬‬

‫)])‪int(f, [1, sin(t‬‬

‫= ‪ans‬‬

‫‪sin(t)^3 - 1‬‬

‫انتگرال تابع )‪ 3x2+ cos(t‬در بازه ‪ 0‬و ‪ 1‬نسبت به ‪x‬‬

‫طبق معمول ابتدا باید تابع را در متلب تعریف کنید‪:‬‬


‫‪howsam.org‬‬ ‫انتگرال در متلب‬

‫‪syms x t‬‬

‫;)‪f = 3*x^2 + cos(t‬‬

‫حاال باید مشخص کنید که نسبت به کدام متغیر انتگرال گرفته شود و بازه را نیز باید مشخص کنید‪:‬‬

‫)]‪int(f, x, [0, 1‬‬

‫= ‪ans‬‬

‫‪cos(t) + 1‬‬

‫‪ 3-22‬انتگرال عددی در متلب‬

‫به دالیل متعددی ممکن است به انتگرال عددی نیاز پیدا کنیم‪:‬‬

‫انتگرال تابع تنها در بازه خاصی «تعریفشده» باشد‪.‬‬ ‫•‬


‫انتگرال تابع‪ ،‬سخت یا غیرممکن باشد‪.‬‬
‫ِ‬ ‫محاسبه‬ ‫•‬
‫محاسبه انتگرال تابع امکانپذیر بوده اما محاسبه آن به صورت عددی سادهتر باشد‪.‬‬ ‫•‬

‫به دالیلی که گفتیم ممکن است به انتگرال عددی نیاز پیدا کنید‪ .‬برای محاسبه انتگرال به صورت عددی‬
‫میتوانید از دستور ‪ integral‬استفاده کنید‪ .‬برای آشنا شدن با این دستور برویم چندتا مثال حل کنیم…‬

‫انتگرال )‪ 1/(x3-2x-5‬در متلب‬

‫در این مثال میخواهیم انتگرال )‪ 1/(x3-2x-5‬را در بازه ‪ 0‬تا ‪ 2‬به صورت عددی محاسبه کنیم‪ .‬گفتیم برای‬
‫محاسبه انتگرال به صورت عددی از دستور ‪ integral‬استفاده میکنیم‪ .‬برای استفاده از این دستور باید‬
‫تابع را به صورت ‪ function handle‬تعریفش کنید‪ .‬برای این کار کافی است بنویسید‪:‬‬

‫;)‪f = @(x) 1./(x.^3-2*x-5‬‬


‫آکادمی هوشمصنوعی هوسم‬ ‫آموزش متلب رایگان‬

‫سپس تابعی که تعریف کردید را به همراه بازه‪ ،‬باید به دستور ‪ integral‬بدهید‪:‬‬

‫)‪integral(@(x)f(x),0,2‬‬

‫= ‪ans‬‬

‫‪-0.4605‬‬

‫مشاهده میکنید که انتگرال تابع موردنظرمان در بازه ‪ 0‬تا ‪ 2‬محاسبه شد!‬

‫‪ 4-22‬جمعبندی جلسه « دستور محاسبه انتگرال در متلب »‬

‫در این جلسه با دو دستور ‪ int‬و ‪ integral‬در متلب آشنا شدید‪ .‬دیدید که از دستور ‪ int‬برای محاسبه‬
‫انتگرال معین و نامعین و از دستور ‪ integral‬برای محاسبه انتگرال عددی استفاده میشود‪ .‬امیدوارم که‬
‫این جلسه هم مورد توجه شما قرار گرفته باشد‪ .‬میتوانید سوال و نظر خود را در کامنت با ما در میان‬
‫بگذارید‪.‬‬

‫جلسه قبل‬ ‫انتگرال در متلب‬

You might also like