Alapvető közvetlen és iteratív módszerek a sluh megoldására mathcad-ban

A legfontosabb közvetlen és iteratív módszerek az SLAE megoldására a MathCAD-ban

Mint ismeretes, a lineáris algebrai egyenletek (SLAE) rendszerek megoldása a gyakorlatban igen gyakori problémák. Az elmélet referenciaként olvasható, de itt mind az analitikai, mind az iteratív (hozzávetőleges) módszereket az SLAU megoldására szolgáló alapvető számításokat adjuk meg.

Kezdjük egyenes vonalakkal. Az inverz mátrix klasszikus módszere a MathCAD-ban egyszerűen végrehajtható a standard lsolve függvény használatával vagy a mátrix inverziós művelet révén, a kód nem adható trivialitása miatt. Már két megkérdezte: "Hogyan találhatunk megoldást az inverz mátrix módszerrel?" :)
Az adatok bevitele, mint az alábbi képen, az adatok alatt írja be az alábbi x képleteket: = A -1 * b vagy x: = lsolve (A, b)
Ezután készíts x =

De Cramer módszere be van programozva. Az xi oldatvektor elemét fraként kapjuk meg, amelynek nevezője a rendszer mátrixának meghatározója, és a számláló az Ai mátrix meghatározója. az i-edik oszlop eredeti cseréjéből a szabad kifejezések oszlopából származtatva. b. A kényelem érdekében a teljes dokumentumban a matricák sorát és oszlopát soroljuk be, vagyis az ORIGIN: = 1 rendszerváltozó értékét. Meghatározzuk továbbá a rendszer jobb oldalának mátrixát és vektorát, amely minden módszer esetében közös:


A SLAU teszt meghatározása

Az SLAE megoldásának létezésének és egyediségének minden esetben az A ≠ 0 állapot. azaz az A meghatározója nem nulla. Szintén érdemes ellenőrizni a kapott oldatot a maradék értékének kiszámításával. egyenlő az A * x vektorok különbségének normáljával (x a talált megoldás) és b. Ideális esetben a maradványnak nullanak kell lennie, de a valós számok közötti műveletek hibáinak elkerülhetetlen felhalmozódása miatt ez kisebb lesz az ε számmal. amely megfelel a módszer hibájának. A MathCAD skalár szereplő „modul” a számológép eszköztár alkalmazása a vektoros különbség csak maradványérték, ellenőrizze, ez az állítás egy kis teszt:

Mindezzel elmondható, hogy végrehajtjuk a Cramer-módszert, és ellenőrizzük a megoldást:


A Cramer módszer az SLAE megoldásához

A funkció testében nem egy modul, hanem egy hasonló "azonosító" gomb a "Mátrix" panelből!

A klasszikus Gauss-módszer a mátrix redukciójára a felső háromszög alakra részletesen tanulmányozza a magasabb matematika alapképzését. A legegyszerűbb változatot alkalmazzuk, kiválasztva a vezető elemet a mátrix fő átlóján, vagyis azt a feltevést alkalmazva, hogy az A1,1, ≠ 0 érték. Mivel ez a szubrutin "nulla" szint, nevezzük Gauss0-nak. és a bonyolultabb Gaussot külön írják.


A Gauss-módszer egyszerű programozása a MathCAD-ben

A kényelem érdekében a jobb oldali b vektort az A mátrix (n + 1) oszlopaként írjuk fel. A rendszer ilyen mátrixát meghosszabbítottnak nevezzük.

Végrehajtása egy „teljes” minánsok elforgatható (celláinak kiolvasása és mátrix sorai a szükség esetén), amely a csatolt dokumentumban a cikk MathCAD legalább egy olyan rendszert nullákkal a fő diagonális mátrix szubrutin Gauss döntött. További paramétere az ε hiba. kezdve az Ai, j | értéktől<ε считается равным нулю. В случае ошибки (нет решения) подпрограмма возвращает вектор из n значений "бесконечность".

A gyakorlatban ez könnyen belátható, közös az összes módszerek közvetlen hátrányai megközelítés - összetettsége számítások igénylő take inverzeik vagy meghatározó tekinteni, következő belőle elég gyors felhalmozódása a hibák, végül képtelen megoldást találni egy előre meghatározott. nem pedig az algoritmusban rejlő pontosság.

Bizonyos mértékig ezek az iterációk elkerülhetők olyan iteratív módszerekkel, amelyek az xi (k + 1) = f (xi (k)) képlet képletekkel egymás után közelítik az oldatot. ahol k = 0,1. a lépésszám, mindaddig, amíg a szomszédos közelítő vektorok | x (k + 1) -x (k) | nem kisebb, mint a megadott ε kis érték. A legegyszerűbb esetben az SLAE megoldása a Jacobi-módszer 2 * 2 mátrixával (egy egyszerű iterációs módszerrel) így fog kinézni:

Az xi összes ismeretlen értéke megtalálható mind az új egyenletek bal és jobb oldalán. Az x (0) kezdeti közelítéshez tartozó vektor kiválasztása. kiszámítjuk az új x közelítést (1). akkor helyettesítsük az egyenletek jobb oldalán, és számítsuk ki x (2) stb. mielőtt a konvergencia feltétel teljesülne. És egyébként egyszerűen - a Jacobi módszer konvergál, ha a rendszer mátrixának átlós dominanciája van. vagyis a fő átlós vonalak legnagyobb elemei. Vizsgálati mátrixunknak már átlós dominanciája van, és a legtöbb esetben ez úgy érhető el, hogy átalakítja a rendszer egyenleteket, hasonlóan a kiterjesztett Gauss-eljáráshoz.

Az x (0) kezdeti közelítési vektor kiválasztása a gyakorlatban szintén egyszerű, x (0) = b. vagyis a jobb oldali vektor vektorát. Egyszerűen "érvénytelenítjük" az x (0) vektort.

A következő döntéshozatali eljáráshoz jutunk:


Az SLAU megoldás az egyszerű iterációs módszerrel (Jacobi)

Vegye figyelembe, hogy mi volt a „csaló” a számítás az összegek S1 és S2 - MathCAD egyszerűen nem lesz képes kiszámítani az összege az alsó határa összegzési értéke 1, és 0 = felső (vagy alsó n és a felső n-1). Ugyanezen okból további ellenőrzéseket végeznek a Gauss-eljárásban.

A szubrutin fő "végtelen" ciklusában érdemes vészhelyzeti kimenetet adni a szüneteltetési utasítással. például 10 000 lépés végrehajtásával.

Ebben a és a következő módszerben a törésvonalon a max (x1-x0) | ≤ε kilépési kritérium pontosabb lenne. ahol | | | - a számmodul ikon a számológép panelből.

Egy iteratív Gauss-Seidel eljárás annyiban különbözik az eljárás egyszerű iterációk csak ebben a kiszámításához az i -edik eleme (k + 1) -edik közelítés a kívánt megoldások már használt vektor számított benne. azaz (k + 1) - lépés, az első i-1 komponensek új értékei. nem pedig az egész x0 vektort az előző lépésből. A rutin elegendő kicserélni x0 x1 az összeg kiszámítása a nyilatkozat s1 :) Azt pontosság megoldásokat alkalmazza a vizsgálati nőtt a négy.

Ui És többet a közvetlen "gauss-szerű" módszerekről a SLAU megoldására. Ha nem kell lépésről-lépésre programozni, hanem inkább a szabványos funkciók használatát, egyszerűbbé válik. Standard funkció fokozza a rendszer, hogy megkapja a kiterjesztett mátrix (üzembe „közeli” az A mátrix és a vektor b), de rref ólom mátrix egy lépésben formában kisebb alapegysége. Ezután az almatrix módszerrel (a mátrix utolsó oszlopában, amelyet a rref módszerrel visszaad) használnak.


Egy másik módszer az SLAE megoldására a Gauss-módszerrel a MathCAD-ben

Kapcsolódó cikkek