دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۸
  • مهر

جلسه ۲۲ : حل معادلات دیفرانسیل در متلب

  • دسته‌بندی‌ها :
جلسه ۲۲ : حل معادلات دیفرانسیل در متلب
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرنو کاربرانی که دوره کامل آموزش متلب را دنبال می کنند. متلب به عنوان یک نرم افزار مهندسی و محاسباتی قدرتمند، توابع گسترده ای را برای حل انواع معادلات درجه ۲ ، ۳، ۴ و بالاتر را به شما ارائه می دهد. یکی از قابلیت های محاسباتی پرکاربرد در متلب ، قابلیت حل انواع معادلات دیفرانسیل و لگاریتمی و همچنین رسم نمودارهای توابع لگاریتم می باشد. در ادامه مباحث آموزش حل معادلات دیفرانسیل در متلب شما را با چگونگی حل انواع معادلات و توابع لگاریتم آشنا می کنیم.

      حل معادلات دیفرانسیل در متلب

      MATLAB دستور diff را برای محاسبات دیفرانسیل در اختیار شما قرار می دهد.

      در ساده ترین حالت عبارت دیفرانسیل را در متغیری قرار داده و آن در تابع diff محاسبه می کنیم.

      برای مثال ما دیفرانسیل تابع f(t) = 3t2 + ۲t-2 را محاسبه می کنیم.

      مثال – یک فایل اسکریپت ایجاد کرده و کدهای زیر را در آن قرار می دهیم:

      مثال : 

      نتیجه ی اجرای کد فوق در متلب بصورت زیر خواهد بود:

      مثال : 

      حال کدهای فوق را در Octave بررسی می کنیم:

      مثال : 

      نتیجع ی اجرای کد فوق در Octave بصورت زیر است:

      مثال : 

      تایید قوانین ابتدایی تمایز

      بگذارید خلاصه ای از معادلات و مقررات مختلفی برای تمایز توابع استفاده کنیم قوانین آن ها را بررسی کنیم.

      قانون ۱

      برای هر توابع f و g و هر عدد حقیقی a و b مشتق تابع هستند.

      • (h(x) = af(x) + bg(x
      • (h'(x) = af'(x) + bg'(x

      قانون ۲

      قوانین sum و subtraction (جمع و تفریق) بیان می کنند که اگر f و g دو توابع باشند، f ‘و g’ به ترتیب مشتقات آنها هستند.

      • f + g)’ = f’ + g’)
      • f – g)’ = f’ – g’)

      قانون ۳

      قانون product بیان می کند که اگر f و g دو توابع باشند، f ‘و g’ به ترتیب مشتقات آنها هستند.

      f.g)’ = f’.g + g’.f)

      قانون ۴

      قانون quotient بیان می کند که اگر f و g دو توابع باشند، f ‘و g’ به ترتیب مشتقات آنها هستند.

      f/g)’ = (f’.g – g’.f)/g2)

      قانون ۵

      قانون polynomial بیان می کند که برای تابع y = f(x) = xمشتق آن تابع (f’ = n. x(n-1 است.

      یک نتیجه مستقیم از این قاعده این است که مشتق هر ثابت صفر است.

      به عنوان مثال، اگر y = k، باشد سپس f ‘= 0 را خواهیم داشت.

      قانون ۶

      قانون chain بیان می کند که مشتق تابع (( h (x) = f (g (x با توجه به x است:

      (h ‘(x) = f’ (g (x)) g ‘(x

      مثال – یک فایل اسکریپتی ایجاد کرده و کد زیر را در آن قرار می دهیم:

      مثال : 

      زمانیکه فایل فوق را اجرا کنید، نتیجه ی زیر را مشاهده خواهید کرد:

      مثال : 

      کد فوق در Octave بصورت زیر خواهد بود:

      مثال : 

      نتیجه ی اجرای کد فوق در Octave:

      مثال : 

      مشتقات توابع نمایشی، لگاریتمی و مثلثاتی

      جدول زیر مشتقات توابع معمولی، لگاریتمی و مثلثاتی را ارائه می دهد:

      تابعمشتق توابع
      ca.x(ca.x.ln c.a (ln is natural logarithm
      exex
      ln x۱/x
      lncx۱/x.ln c
      xx(xx.(1 + ln x
      (sin(x(cos(x
      (cos(x(-sin(x
      (tan(x(sec2(x), or 1/cos2(x), or 1 + tan2(x
      (cot(x((-csc2(x), or -1/sin2(x), or -(1 + cot2(x
      (sec(x(sec(x).tan(x
      (csc(x(-csc(x).cot(x

      مثال – یک فایل اسکریپت ایجاد کرده و کد زیر را در آن قرار دهید:

      مثال : 

      نتیجه ی اجرای کد فوق در متلب بصورت زیر خواهد بود:

      مثال : 

      حالا کد فوق را در Octave پیاده سازی می کنیم:

      مثال : 

      نتیجه ی اجرای کد فوق بصورت زیر خواهد بود:

      مثال : 

      محاسبه مشتقات مرتبه بالاتر

      برای محاسبه ی مشتقات درجه بالاتر از ساختار  (diff(f,n استفاده می کنیم.

      بگذارید مشتق دوم تابع y = f (x) = x .e-3x را محاسبه کنیم.

      مثال : 

      نتیجه ی اجرای کد فوق در متلب بصورت زیر خواهد بود:

      مثال : 

      همین کدها را در Octave قرار می دهیم:

      مثال : 

      نتیجه ی اجرای کد فوق در Octave:

      مثال : 

      مثال – برای نمونه تابع (y = f(x) = 3 sin(x) + 7 cos(5x را در نظر می گیریم.

      سپس می خواهیم صحت (f” + f = -5cos(2x را بررسی کنیم.

      یک فایل اسکریپت ایجاد کرده و کد زیر را در آن قرار دهید:

      مثال : 

      سپس نتیجه ی زیر را در اجرا مشاهده خواهید کرد:

      مثال : 

      حال این کدها را در Octave نیز بررسی می کنیم:

      مثال : 

      نتیجه ی اجرای کد فوق در Octave:

      مثال : 

      یافتن حداکثر و حداقل یک منحنی

      اگر ما برای حداکثر و حداقل برای حداکثر برای یک گراف جستجو می کنیم، اساسا به دنبال بالاترین یا پایین ترین نقاط در گراف تابع در یک مکان خاص هستیم.

      برای یک تابع (y = f (x نقاط در نمودار که در آن گراف دارای شیب صفر است، نقاط ثابت است.

      به عبارت دیگر نقاط ثابت، جایی است که f ‘(x) = 0 است.

      برای پیدا کردن نقاط ثابت یک تابع که تمایز می دهیم، باید مشتق را برابر با صفر قرار دهیم و معادله را حل کنیم.

      مثال – می خواهیم نقاط ثابت را برای تابع f(x) = 2x3 + ۳x2 − ۱۲x + 17 بدست آوریم.

      ابتدا به تابع وارد شویم و نمودار آن را طرح می کنیم.

      مثال : 

      MATLAB کد فوق را اجرا می کند و طرح زیر را برمی گرداند :

      نتیجه ی اجرا کد رسم

      حالا این کد را در Octave پیاده سازی می کنیم:

      مثال : 

      هدف ما یافتن معادلات و مینیمم های محلی بر روی نمودار است.

      بنابراین ما ماکزیمم ها و حداقل ها را برای فاصله [-۲، ۲] در نمودار پیدا می کنیم.

      مثال : 

      نتیجه ی اجرای کد فوق در متلب بصورت زیر خواهد بود:

      حالا این کدها را در Octave بررسی می کنیم:

      مثال : 

      حال دیفرانسیل را محاسبه می کنیم:

      مثال : 

      نتیجه ی اجرای کد فوق در متلب:

      مثال : 

      کدهای فوق در Octave بصورت زیر خواهد بود:

      مثال : 

      نتیجه ی اجرای کدهای فوق در Octave:

      مثال : 

      حالا تابع g را برای به دست آوردن مقادیری که آن صفر می شود، را حل می کنیم:

      مثال : 

      نتیجه ی اجرای کد فوق در متلب:

      مثال : 

      حالا همین کدها را در Octave پیاده سازی می کنیم:

      مثال : 

      نیتجه ی اجرای کدهای فوق در Octave:

      مثال : 

      با استفاده از فرمان زیر می توان یک مقدار را در یک تابع نمادین جایگزین کرد:

      مثال : 

      نتیجه ی اجرای کد فوق در متلب:

      مثال : 

      کدهای فوق را در Octave بررسی می کنیم:

      مثال : 

      نتیجه :

      مثال : 

      بنابراین، حداقل و حداکثر مقادیر در تابع f (x) = 2×3 + 3×2 – 12x + 17، در بازه ی [-۲،۲] ۱۰ و ۳۷ قرار می گیرد.

      حل معادلات دیفرانسیل

      متلب تابع dsolve را برای حل معادلات دیفرانسیل ارائه می دهد:

      فرم اصلی استفاده از تابع dsolve بصورت زیر است:

      مثال : 

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

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

      مثال : 

      برای این منظور از دستور dsolve استفاده کنید.

      برای مثال مشتق (f'(t) = -2*f + cost(t  به صورت (‘Df = -2*f + cos(t’ وارد می شود.

      مشتقات بالاتر با توجه به D به ترتیب مشتق نشان داده شده است.

      برای مثال تابع f”(x) + 2f'(x) = 5sin3x  باید بصورت (‘D2y + 2Dy = 5*sin(3*x’ وارد شود.

      برای نمونه یک نمونه ساده از یک معادله دیفرانسیل اول مرتب می کنیم: y ‘= 5y

      مثال : 

      نتیجه ی اجرای کد فوق در متلب:

      مثال : 

      مثال ۲ – حل دیفرانسیل y” – y = 0, y(0) = -1, y'(0) = 2:

      مثال : 

      نتیجه ی احرای کد فوق در متلب :

      مثال : 

      کلام آخر

      همانطور که اشاره کردیم یکی از قابلیت های ویژه ی نرم افزار مهندسی متلب ، قابلیت حل انواع  معادلات دیفرانسیل در متلب می باشد. از این رو مباحث این بخش را نیز به آموزش حل دیفرانسیل در متلب اختصاص دادیم.

      QR:  جلسه ۲۲ : حل معادلات دیفرانسیل در متلب
      به اشتراک بگذارید