در اینجا به بررسی روش Crank-Nicolson برای حل معادلات سهموی میپردازیم. این روش یکی از روشهای عددی ضمنی است که بهخصوص برای حل معادله حرارت و دیگر معادلات دیفرانسیل جزئی کاربرد دارد. در ادامه، کدهایی برای زبانهای متلب، فرترن و پایتون ارائه میدهیم و توضیحات کاملی در مورد هر بخش خواهیم داشت.
مقدمهای بر روش Crank-Nicolson
روش Crank-Nicolson یک روش عددی ضمنی برای حل معادلات دیفرانسیل جزئی است که بهصورت ترکیبی از روشهای ضمنی و صریح عمل میکند. این روش بهویژه برای حل معادله حرارت مناسب است و از دقت بالایی برخوردار است.
معادله حرارت به صورت زیر بیان میشود:
که در آن u تابع دما، α ضریب انتشار و x و t به ترتیب مختصات فضایی و زمانی هستند.
پیادهسازی روش Crank-Nicolson در پایتون
کد پایتون
کد پایتون
توضیحات کد پایتون
• ابتدا، پارامترها و آرایهها تعریف و تخصیص داده میشوند.
• ماتریسهای A و B برای حل ضمنی تشکیل میشوند.
• شرایط مرزی به ماتریسها اعمال میشود.
• با استفاده از یک حلقه، مقادیر دما محاسبه میشود.
• نتایج به صورت گرافیکی نمایش داده میشود.
نتیجهگیری
روش Crank-Nicolson یک روش مؤثر برای حل معادلات سهموی بهویژه در مسائل انتقال حرارت است.
تصاویر