Hermitian konjugáció és átültetés

Mivel ezek a különbségek gyakran a hiba forrása, akkor van egy jó megértése céljából az egyes szereplők és alkalmazza az üzemeltető abban az esetben, ha csak a szükséges átültetés (valós vagy komplex mátrix), és az üzemeltető. »« »« "- ha kell végrehajtani az átültetési és ragozás .

4.13 Vektorok szorzása

Tegyük fel, hogy u R egy oszlopvektor, és v R egy sorvektor. Ezután a mátrix = uv elemei a termékek =. A következő fragmens mutatja az A mátrix kiszámítását:

Általában csak lineáris vektorok, mint az uR, lineáris algebra kurzusokat vesznek figyelembe, ebben az esetben a megfelelő vektor sztringet u lesz írva. A Scilab-ban egy változó közvetlenül tartalmazhat egy sor vektort, ami azt jelenti, hogy ez a vektor nem lesz szükséges az átültetés megszorzása esetén.

Egy másik hibaforrás az a fordított feltételezés, hogy a változó tartalmaz egy sorvektort, míg valójában a változó oszlopvektort tartalmaz. Ezért minden olyan algoritmus, amely csak működik

"OR" és "A", "OR" vagy "A", "OR" vagy "A"

17. táblázat: Mátrix elemek vonal és oszlop-oszlop szerinti összehasonlítása.

bizonyos típusú mátrixokkal ellenőriznie kell a bemeneti érvek dimenzióit, és hibaüzenetet kell generálnia hiba esetén.

4.14 Valódi mátrixok összehasonlítása

A két mátrix összehasonlítása azonos méretű állapotban lehetséges. Amikor ez a feltétel teljesül, az 1. táblázatban szereplő üzemeltetők. 6. alkalmazható a mátrix operandusokra is. A két mátrix összehasonlításának eredményeképpen logikai értékek mátrixa alakul ki, ahol minden egyes elem az eredeti mátrixok megfelelő elemeinek összehasonlításából adódik. Logikai operátorok "", "|" stb. Szintén érvényesek a mátrixokra. Ezenkívül a logikai értékek mátrixai a függvények paramétereként működhetnek, és és / vagy amelyeknek a jelentése a táblázatban található. 17.

A következő példában meghatározzuk az A mátrixot, és összehasonlítjuk a 3. számmal (a mátrix minden egyes elemét összehasonlítjuk ezzel az értékkel). Ezután létrehozzuk a második B mátrixot, és összehasonlítjuk az elsővel. Végül, használatával vagy funkció, végzünk vonal összehasonlítása, miáltal megkapjuk a vektort a Boole-érték azt jelzi, amely az oszlopok A mátrix tartalmaz olyan elemeket, amelyek meghaladják a megfelelő elemek a mátrix B.

4.15 Lebegőpontos számok indexként

Tegyük fel, hogy az A mátrix 2 × 2 méretű. A mátrix elemek eléréséhez a program szövegében rögzített indexeket és a végrehajtás során dinamikusan kiszámított értékeket használhatja, beleértve a nem egész számokat is, az alábbiak szerint:

--> A = tesztmátrix ("hilb" .2)

--> A (2. [1.0 1.1 1.5 1.9])

Ez a példa azt mutatja, hogy az összes értéket 1.0, 1.1, 1.5 és 1.9 kerekítve 1, mint amikor a int, levágja a törtrész. Például, az eredmény minden egyes következő hívást: int (1,0), int (1,1), int (1,5) és int (1.9) - van beállítva, hogy 1, és az expressziós int (-1.0), int (-1.1), int (-1.5 ) és int (-1.9) visszaadja a -1 -1 számot.

Megjegyezzük, hogy a kerekítés az int függvényével összhangban történik, nem pedig a padlón, ami az int-rel ellentétben lecsökkenti az értékeket. Valójában feltételezzük, hogy A egy 4 × 4 mátrixot jelent, például egy hívás eredményeképpen

A = tesztmátrix ("hilb" .4)

A triu (A, k) függvény visszaadja az A átadott mátrix felső háromszögletét, amely a k-es diagonál fölött van. A triu (A, -1), a triu (A, int (-1.5)) és a triu (A, -1.5) parancsok ugyanazt az eredményt adják vissza, míg a triu (A, floor (-1.5) triu (A, -2).

Ez a viselkedés furcsának tűnhet, de hozzájárul a scilab nyelv egységességéhez. Valójában, ha mátrixelemekre hivatkozunk változók indexként, a változó típusa leggyakrabban lebegőpontos szám. Ebben az esetben az értéket az int függvény konvertálja. A fentiek a következő fragmentumot szemléltetik:

Ne feledje, hogy ebben a példában az i és j változók lebegőpontos típusúak.

1 A belső Scilab eszköz szempontjából ezt a következõképpen magyarázza a C vagy Fortran hívásszintjének int funkciója a Scilab átjárókon belül, hogy lebegõpontos számokat egész számokra alakítson.

Kapcsolódó cikkek