‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

آخرین نظرات
  • ۶ آذر ۹۹، ۱۳:۰۰ - امیر حاتمی
    ممنون.

حل دستگاه معادلات دیفرانسیل خطی

سه شنبه, ۴ اسفند ۱۳۹۴، ۰۹:۵۸ ب.ظ

یکی از کاربردهای مهم ماتریس نمایی در حل دستگاه معادلات دیفرانسیل معمولی است. برای بررسی این موضوع ابتدا قضیه­‌ی زیر را بیان می­‌کنیم.

قضیه: فرض کنید $A\in {{\mathbb{R}}^{n\times n}}$ و تابع برداری $w~:\mathbb{R}\to {{\mathbb{R}}^{n}}$ پیوسته باشد. در این صورت جواب مسأله‌ی مقدار اولیه‌­ی\begin{cases}{X}'\left(t\right)=AX\left(t\right)+w\left(t\right) \\X\left({{t}_{0}}\right)={{X}_{0}}\in{{\mathbb{R}}^{n}} \end{cases} به ازای هر $t\ge {{t}_{0}}$ به‌صورت زیر خواهد بود:

$$X\left( t \right)={{e}^{\left( t-{{t}_{0}}\right)A}}{{X}_{0}}+ \int_{{t}_{0}}^{t} \,{{e}^{\left( t-s \right)A}}w\left( s \right)ds.$$اثبات: با ضرب معادله­‌ی دیفرانسیل در ${{e}^{(-tA)}}$ داریم: ${{e}^{-tA}}{{X}^{'}}\left( t \right)-{{e}^{-tA}}AX\left( t \right)={{e}^{-tA}}w\left( t \right)$ که معادل است با:$$\frac{d}{dt}({{e}^{-tA}}X\left( t \right))={{e}^{-tA}}w\left( t \right)$$با انتگرالگیری از طرفین این رابطه روی بازه‌­ی $\left[ {{t}_{0}},t \right]$، داریم

$$\int_{{t}_{0}}^{t}\frac{d}{dt}({{e}^{-sA}}X\left( s \right))ds=\int_{{t}_{0}}^{t}\,{{e}^{-sA}}w\left( s \right)ds$$ بنابراین:$${{e}^{-tA}}X\left( t \right)-{{e}^{-{{t}_{0}}A}}X\left( {{t}_{0}} \right)=\int_{{t}_{0}}^{t}\,{{e}^{-sA}}w\left( s \right)ds$$ و در نتیجه با ضرب طرفین این رابطه در ${{e}^{tA}}$ خواهیم داشت:

$$X\left( t \right)={{e}^{\left( t-{{t}_{0}} \right)A}}{{X}_{0}}+\int_{{t}_{0}}^{t}\,{{e}^{\left( t-s \right)A}}w\left( s \right)ds.$$ حال به کمک قضیه­‌ی بالا، برنامه­‌ی Matlab حل یک دستگاه معادلات دیفرانسیل خطی نمونه را به صورت زیر می‌نویسیم.

clear

clc

syms s t

A=[7 -4 ;8 -5]

w_t=[exp(t);exp(t)]

X0=[1;2]

X_t=expm(t*A)* X0+int(expm((t-s)*A)*(subs(w_t,t,s)),s,0,t);

disp('the solution X(t) is:')

X_t

این برنامه دستگاه زیر را حل می­‌کند:$$\left\{\begin{matrix}{{x}_{1}}^{'}=7{{x}_{1}}\left(t\right)-4{{x}_{2}}\left(t\right)+{{e}^{t}},   {{x}_{1}}\left( 0 \right)=1 \\{{x}_{2}}^{'}=8{{x}_{1}}\left(t\right)-5{{x}_{2}}\left( t \right)+{{e}^{t}},    {{x}_{2}}\left(0\right)=2\\\end{matrix} \right.$$و خروجی آن عبارت است از:

$$X\left(t\right)=\left( \begin{matrix}{{x}_{1}}\left(t\right)\\{{x}_{2}}\left(t\right) \\\end{matrix} \right)$$

که در آن:$$\left\{\begin{matrix} {{x}_{1}}\left( t \right)={{e}^{-t}}-\frac{1}{2}{{e}^{t}}+\frac{1}{2}{{e}^{3t}},  \\ {{x}_{2}}\left( t \right)=2{{e}^{-t}}-\frac{1}{2}{{e}^{t}}+\frac{1}{2}{{e}^{3t}}. \\\end{matrix} \right.$$
موافقين ۰ مخالفين ۰ ۹۴/۱۲/۰۴
حسین زارع

نظرات (۴)

سلام.
مثل همیشه جامع و کامل.
موفق باشید.
پاسخ:
سلام.
ممنون که مطالب وبلاگ رو دنبال می‌کنید.
باز هم همراه ما باشید.
سلام.
خیلی ممنون. مطالب این بخش و بخش کتاب ها به رفع مشکلم کمک کرد.
با تشکر.
پاسخ:
سلام.
خواهش می‌کنم. موفق باشید.
سلام.
ببخشید شما اطلاع دارید آیا دستور معادل expm در میپل وجود دارد؟
اگر هست ممنون میشم بفرمایید.
پاسخ:
سلام.
خواهش می‌کنم. در میپل از دستور (A)MatrixExponential استفاده کنید.
سلام مجدد.
ببخشید انتگرالی که برای جواب مطرح کردید، دقیقا از تک‌تک درایه ها انتگرال گرفته میشه؟ یا منظور چیز دیگه‌ای هست؟
پاسخ:
سلام.
بله. عبارت جلوی انتگرال یک بردار بر حسب $s$ میشه که انتگرال هر یک از مؤلفه‌های اون رو از $0$ تا $t$ محاسبه می‌کنیم.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی