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).

Ebben esetben

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

  1. Összegezzen ([]) .
  2. Készítsen prod ([]) .
  3. Egyszerűen írjon 5-öt! a prod funkcióval .
  4. Inicializálja a 10-es méretű vektort .
  5. Generáljon egy 10 méretű véletlenszerű vektort (rand (1,10), és normalizálja az euklideszi normához ().
  6. Generálja a hatványtáblát legfeljebb;
  7. Írjon egy vektort, amely tartalmazza a, for értékeit .
  8. Fordítsa meg az előző vektor sorrendjét.
  9. Hozzon létre egy vektorot a számoktól felfelé haladva .
  10. 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.