آموزش نرم افزار متلب

انتگرال گیری از تابع در متلب

سلام دوستان، چند وقتی هست که می بینم دوستان به دنبال دستور انتگرال گیری از تابع در متلب هستن، قبلا دو تا آموزش برای محاسبه مساحت؛ یک با استفاده از نرم افزار متلب و دوم با استفاده از نرم افزار اکسل آماده کرده بودم ولی در این دو آموزش از تابع انتگرال گیری استفاده نکرده بودم، چون داده های ورودی ما یک سری نقاط x , y بودن. پس تابعی در کار نبود که از اون انتگرال بگیریم.

انتگرال گیری از تابع در متلب
انتگرال گیری از تابع در متلب

ولی حالا اگر بخواهیم با روش انتگرال گیری از تابع در متلب این کار رو انجام بدیم، باید چکار کنیم؟

بسیار خب، می خوام برای انتگرال گیری از روش سیمپسون استفاده کنم به کد زیر توجه کنید.

 

در دستور بالا …

  • بجای fun باید تابع مورد نظر که قراره ازش انتگرال گرفته بشه قرار داده بشه.
  • بجای a و b هم به ترتیب کران بالا و پایین قرار داده می شه.
  • اگر می خواید مقدار تلورانس برار مقدار پیش فرض باشه (۱e-6)، عبارت tol رو حذف کنید.
  • و در نهایت جواب هم در متغیر q ذخیره می شه.

 

حالا سوال پیش میاد که تابع رو به چه صورتی باید بنویسیم؟ فرض کنید تابع شما x به توان ۲ هست. پس تابع y رو به صورت زیر تعریف می کنیم. توجه کنید که ما در این تابع یک متغیر به نام x داریم پس باید در ابتدا متغیرمون رو درون پرانتز قرار بدیم و قبل از اون علامت @ قرار بدیم و بعد بقیه ی تابع که همون x به توان ۲ هست رو بنویسیم.

حالا باید تابع y رو توی تابع quad قرار بدیم (به اولین کد نگاه کنید. باید بجای fun تابع خودمون رو قرار بدیم). سپس کران پایین و بالا رو قرار می دیم و چون نمی خوایم تلورانس رو تغییر بدیم، عبارت tol رو حذف می کنیم. به عبارت زیر دقت کنید

پس در کل کد ما به صورت زیر در میاد:

این بود روش انتگرال گیری از تابع در متلب، امیدوارم از این آموزش خوشتون اومده باشه.

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

محمد زندی

محمد علی زندی هستم، دانش آموخته در رشته مهندسی مواد. اطلاعات کمی دارم ولی تا اونجایی که زمان بهم اجازه بده، دانسته هام رو اینجا میذارم. امیدوارم یونیکا رو خونه ی خودتون بدونید و از بودن در این خونه لذت ببرید.

17 نظر برای انتگرال گیری از تابع در متلب ثبت شده

  1. با سلام
    خیلی خیلی ممنون از نرم افزار محاسبه مساحت زیر نمودار
    اگه میشه یه نرم افزاری بنویسید که شیب خط را با درگ کردن فایل اکسل خودش حساب کند.
    و اگکر امکانش هست برام ایمیل کنید.
    با تشکر بسیار فراوان از سایت عالی شما

    1. سلام دوست گرامی. خواهش می کنم.
      نوشتن نرم افزار کمی زمان بر هست خصوصا اینکه در حال حاضر درگیر ۲ تا پروژه هستم، در یک زمان مناسب سعی میکنم اینکار رو انجام بدم. موفق باشید.

  2. سلام ممنون از دستور بالا برای انتگرال گیری.
    اما چه جوری میشه از دستور بالا برای انتگرال گیری از یه تابع چند ضابطه ای که با هویساید نوشته شده استفاده کرد؟

  3. با سلام و تشکر از توضیحات خوبی که دادین
    من میخوام از یک تابع توزیع بروش سیمپسون انتگرال بگیرم و مشکل اینجاست که وقتی تابع توزیع را متلب برآورد میکنه فرمول خود تابع را نمیدهد و برا همین من تابعی ندارم که در فرمول جایگذاری کنم میتونین کمکم کنین؟

      1. سلام خیلی ممنونم که جواب دادین. من سری داده عملکرد محصولات زراعی رو دارم. برای هر سری ایکس و ایگرگ نمودار رو دارم تو مقالات بود که بروش ذوزنقه ای و یا سیمسون برای بدست آوردن سطح زیر منحنی استفاده کنین که من تو اکسل روش ذوزنقه ای رو انجام میدادم که قایل شما خیلی کمک کرده و خیلی راحت تر تو متلب انجام دادم ولی روش سیمپسون رو نمیدونم میشه با متلب و مقادیر ایکس و ایگرگ انجام داد یا نه تا مقایسه کنم دو روش رو .میخوام مطمین باشم کارم درسته. خیلی ممنونم از وقتی که گذاشتین.

  4. سلام دوست عزیز من میخام انتگرال سیمپسون روتامرتبه ۴تومتلب انجام بدم ولی گیر کردم شمامیتونین راهنماییم کنین به آدرس ایمیلم ارسال کنین ممنون میشم

  5. سلام
    یک تابع کسری با دو متغییر دارم که میخواهم نسبت به یک متغییر فقط انتگرال گیری کنیم(انتگرال گیری معین) و بهد از انتگرال گیری میخواهم حاصل انتگرال را بر حسب متغییر دوم رسم کنم. ممنون میشم در مورد انتگرال گیری این تابع کمکم کنید؟

  6. سلام ممنون از اموزش خوبتون
    میشه بگین چطور میشه یه برنامه نوشت که خودش تابع بگیره ینی هر تابعی که بهش دادیم رو بگیره دو نقطه ابتدایی و انتهایی رو بگیره و تعداد n ینی تعدا dx ها رو که گرفت انتگرالشو حساب کنه و اگه ممکنه برام ایمیل کنین؟؟؟
    با تشکر قبلی

    1. تابعی که دارید استفاده میکنید رو دارید توی یک متغیر قرار میدید. ابعاد ماتریسی که تابع به صورت خروجی میده، با ابعاد متغیری که می خواد نتایج رو توش قرار بدید، تطابق نداره

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *