Változók és változók típusai
Ez a fejezet minden bizonnyal a legalapvetőbb rész, amelyet minden Scilab-felhasználónak el kell sajátítania. Meghatározza a többindexes objektumok létrehozásának és manipulálásának műveleteit, amelyek lehetnek a mátrixok (realok, logikai értékek).

1. megjegyzés: A változókat egy alfanumerikus karakterlánc alkotja, amely betűvel kezdődik (de% $? # Is) 24 karakterből (ezen kívül nem veszik figyelembe).
2. megjegyzés: Az előre definiált változók, valamint a primitív függvények nem rendelhetők újra 2.1 .
Miután meghatározta a változó tartalmát, írja be a nevét és érvényesítse:
3. megjegyzés: A parancs végrehajtásakor megjelenik az ans válasz, ez egy olyan változó, amelyet át lehet rendelni.
4. megjegyzés: Ha létezik változó, és például tartalmaz egy mátrixot, akkor ennek a változónak egy másik (nem feltétlenül azonos típusú) mennyiséghez való hozzárendelése nem generál hibaüzenetet vagy figyelmeztetést.
A Scilab hasznos parancsokat biztosít az általunk említett változók kezeléséhez
A Who függvény visszaadja a változók listáját (találunk néhány ismeretet: "A", "% i", "% e" és "% eps"), információkat a foglalt és hátralévő memóriaterületről szavak száma (1 szó = 1 kettős pontosságú szám), és az utolsó sorban a használt és elérhető változók száma (összesen).
A whos (), whos -name 'változó név (ek) kezdete', a whos -type 'változó típus' parancsok részletesebb információt adnak a változók méretéről.
A mátrixokon, tehát a változókon nagyon hasznos függvény a méretfüggvény. Ne feledje, hogy a Scilab szinte bármiből készíthet mátrixot! A méret visszaadja a sorok és oszlopok számát.
méret (2). Így ? Lásd még: hossz (A), typeof (A), a = 2 * A .
Később meghatározzuk a lokális és globális változók létezését, azok felhasználásával és tulajdonságaival.
Szintaxis, amely jobban megfelel az A és B táblák és a következők létrehozására. Más szavakkal
Figyelem: ennek az utolsó parancsnak két viselkedését kell tudni: az első, ahol a válasz az üres tábla. A második itt látja, hogy az utolsó érték az, amely alacsonyabb, mint a jelzett határ. Ez az utolsó specifikáció nehézségeket okozhat például a
Ennek a sajátosságnak a leküzdésére van egy linspace parancs, amelyet a linspace formában használunk (kezdet, vég, értékek száma). Ezúttal az eredménytábla szükségszerűen tartalmazza a határértékeket.
Lásd még a logspace (kezdet, vég, értékek száma) 2.2 .
Ezek a hozzáférések a tömb elemeihez szintén lehetővé teszik a tömb (egészének vagy egy részének) befolyásolását:
A kivonás és a hozzárendelés azonos szerepet játszik, az egész a kiválasztott elem (ek) re mutat.
Már használtuk a méretfüggvényt, tömböknél a hosszúságfüggvény tűnik megfelelőbbnek, visszaadva az objektum teljes hosszát (akár mátrix esetén is).
Ugyanakkor van egy kis trükk egy tömb utolsó elemének eléréséhez, ez a felhasználás a $ kifejezésben:
Itt vannak a standard programozási funkciók, amelyek a legtöbb programozási nyelvben megtalálhatók, de az olyan nyelvek, mint a FORTRAN 90 vagy a Matlab 2.3, felkínálják annak lehetőségét, hogy közvetlenül egy tömb részhalmazára mutassanak: itt zárójelbe tesszük a nyomokat. Ez érvényes a kibontásra és a hozzárendelésre is.
Vegye figyelembe néhány sajátosságot, felkínálják a redundáns indexek kétféle viselkedésű lehetőségét:
- kibontáskor - hozzárendeléskor: a végén az utolsó hozzárendelt érték (az indexek sorrendjében).
- t (1: 2: $),
- t ($: - 1: 1)
- t (:)
Nézzünk meg egy másik sajátosságot. Ha megpróbáljuk kivonni a 6. elem értékét t-ből, akkor ami kiszámítható volt, másrészt dinamikusan hozzárendel egy további értéket t-hez. Most azt láthatjuk, hogy egy elegendő méretű tömböt automatikusan újra lefoglalnak, 0-val kitöltve .
Megjegyzés: Ennek a dinamikus (újra) allokációnak az intenzív használata tiltott végrehajtási időket generálhat.
Lehetőség van bizonyos feladatok megírására is, a zárójelben lévő rész indexek halmazának tekinthető, amelyekhez a 2 értéket rendeljük. Ezen elv szerint a tömb méretén kívüli értékeket is lefoglalhatunk, mint korábban.
Másrészt, ha a változó nincs előre definiálva, az tolmács egy oszloptömböt ad vissza.
Ezt az írási formát lehet használni az extrakció során, vagy különböző vektorméretekkel. Ez a szerződéses írás a változók cseréjére használható
Másrészt a parancs nem törli a változót, hanem üresen tartja. A változó eltűnéséhez a clear parancsot kell használnia .
Van néhány speciális funkció:
- összeg (): elemek összege.
- prod (): az elemek szorzata.
- mean (): az elemek átlaga.
- max (), min (): a maximális és a legkisebb érték.
- cumsum (), cumprod (): adjon vissza egy tömböt, amelyben az első az elemek összesített összegével, a második pedig a kumulatív szorzattal.
- sort (), gsort (), lex_sort (): különböző rendezési eljárások.
Feladatok
- Összegezzen ([]) .
- Készítsen prod ([]) .
- Egyszerűen írjon 5-öt! a prod funkcióval .
- Inicializálja a 10-es méretű vektort .
- Generáljon egy 10 méretű véletlenszerű vektort (rand (1,10), és normalizálja az euklideszi normához ().
- Generálja a hatványtáblát legfeljebb;
- Írjon egy vektort, amely tartalmazza a, for értékeit .
- Fordítsa meg az előző vektor sorrendjét.
- Hozzon létre egy vektorot a számoktól felfelé haladva .
- Kivonat az előző vektorból, amelynek több sora van .
-
A nullák (n, p) n sor és p oszlop nullmátrixát adják vissza.
egyesek (n, p), mint korábban, de a mátrix 1-gyel van kitöltve.
szem (n, p) np méretű azonosító mátrix;
diag (v) vagy diag (v, i) A v vektor vagy tömb felhasználásával konstruáljuk a mátrixot, amelynek főátlója v. az i átlót meghatározó érv.
A rand (n, p) egyenletes eloszlású véletlenszámú mátrixot ad vissza .
Normális vagy más eloszlás eléréséhez keresse fel a megfelelő súgót.
mátrix (v, n, p) függvénye a (re) formázáshoz, böngésszen oszloponként v elemei között, amelyek oszloponként kerülnek a kimeneti mátrixba
A -1 argumentum helyettesítheti a sor vagy oszlop egyikét, például a mátrix oszloposítását
Az egyek (), a nullák () és a szem () primitívek egy mátrix átadásával használhatók argumentumként. Az eredmény dimenziói megegyeznek az argumentum mátrixával.
De megadhat egy indexkészletet: kivonja az 1. és 2. sor almátrix metszéspontját a 3. és 4. oszlopokkal. Ez a szintaxis megegyezik a hozzárendeléssel
A tömbök esetében az indexek redundanciáját használhatjuk. Vegye figyelembe az alábbiak használatát: az összes oszlop (vagy sor) index megadása. Használhatja a $ -t is
Lehetséges egy mátrixot vektornak tekinteni, ez a vektor a végpontokig elhelyezett mátrix oszlopaiból áll:
Megjegyzés: A mátrix oszlopvektorok formájában történő ábrázolása megfelel a mátrixok tárolási módjának (oszloponként).
Lehetséges kihasználni a mátrix blokkszerkezetét annak meghatározásához
Hozzáadhatunk olyan kinyerési funkciókat, mint:
- diag (A) 2.4: vonjuk ki az A mátrix átlóját
- tril (A) és triu (A): az A alsó (alsó) és felső (felső) részéből álló mátrixot adja vissza.