مسائل جبرخطی

حل دستگاه معادلات خطی به روش گاوس سایدل

Gauss-Seidel

حل دستگاه معادلات خطی به روش گاوس سایدل

روش گوس سایدل یک روش تکراری در حل دستگاه معادلات خطی است که در جبر خطی مورد بحث قرار می گیرد. نام این روش از روی ریاضی‌دانان آلمانی کارل فریدریش گاوس و فیلیپ لودویگ ون سایدل نهاده شده‌است. اگرچه از این روش می‌توان در هر ماتریسی که دارای درایه قطری صفر نباشد استفاده کرد، اما فقط در صورتی همگرایی تضمین می‌شود که ماتریس مثبت معین و یا غالب قطری باشد.

این برنامه به زبان متلب نوشته شده است که n (تعداد معادلات خطي در n معادله n مجهول) را گرفته و سپس ضرايب مجهولات و سپس مقادير معلوم را دريافت کرده و با استفاده از روش گوس سایدل (Gauss-Seidel) معادله را حل و مقادير مجهولات را بدست آورده و چاپ میکند.

 

 جهت خرید کد متلب روش گوس سایدل از بخش زیر اقدام کنید و بصورت آنلاین خرید و دانلود کنید

 

[zarinpalpaiddownloads id=”69″]

 

ایمیل: matlab24ir@gmail.com و یا info@matlab24.ir

 

————————————————————————————–

اشنایی با روش گاوس سایدل:

برای یک سیستم مربعی با n معادله ی خطی و دارای مجهول x داریم:

A\mathbf x = \mathbf b

که در آن:

A=\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}, \qquad  \mathbf{x} = \begin{bmatrix} x_{1} \\ x_2 \\ \vdots \\ x_n \end{bmatrix} , \qquad  \mathbf{b} = \begin{bmatrix} b_{1} \\ b_2 \\ \vdots \\ b_n \end{bmatrix}.

اگر A را به ماتریس پایین مثلثی و بالا مثلثی L* و U تجزیه کنیم:

A=L_*+U \qquad \text{where} \qquad L_* = \begin{bmatrix} a_{11} & 0 & \cdots & 0 \\ a_{21} & a_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}, \quad U = \begin{bmatrix} 0 & a_{12} & \cdots & a_{1n} \\ 0 & 0 & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\0 & 0 & \cdots & 0 \end{bmatrix}

معادلات خطی سیستم به شکل زیر بازنویسی خواهند شد:

L_* \mathbf{x} = \mathbf{b} - U \mathbf{x}

روش گاوس سایدل از روش تکراری برای حل قسمت چپ عبارت جهت به دست آوردن x بهره می‌برد، و بدین منظور از مقدار قبلی x در سمت راست عبارت استفاده می‌کند. می‌توان آن را به صورت زیر نوشت:

 \mathbf{x}^{(k+1)} = L_*^{-1} (\mathbf{b} - U \mathbf{x}^{(k)}).

و با استفاده از خواص ماتریس مثلثی L* می‌توان x(k+1) را به صورت زیر به دست آورد:

 x^{(k+1)}_i  = \frac{1}{a_{ii}} \left(b_i - \sum_{j>i}a_{ij}x^{(k)}_j - \sum_{j<i}a_{ij}x^{(k+1)}_j \right),\quad i=1,2,\ldots,n.

در واقع برای محاسبه xi(k+1) به همه عناصر x(k) به جز خود xi(k) نیاز خواهد شد.

محاسبات تا زمانی ادامه داده می‌شود تا در تکراری خاص به خطایی کمتر از مقدار مورد نظر برسیم.

 

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

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