segunda-feira, 25 de fevereiro de 2013

Cxap2-Octave

Ĉapitro 2. Octave sintakso

Unu el la ĉefaj trajtoj de Octave kaj fari ĝin facilan lernadon ilo estas la simpleco kaj intuitiveness de la programlingvo. La jenaj sekcioj priskribi la bazaj reguloj por skribi komandojn kaj programoj uzas tiun ĉi lingvon.

2.1. Datumoj Tipoj

Octave elportas predefinido datumoj, inkludante skalaro (realaj kaj kompleksaj), vektoroj, matricoj, kordoj kaj strukturoj. Ĝi estas ankaŭ ebla al difini novajn datumojn de la uzanto, planita en iu ajn lingvo kiu produktas maŝino kodo (FORTRAN, C + +, ...), kvankam tiu eblo ne sufiĉe dokumentita. Tial en tiu sekcio ni enfokusigi nur en la preestablecida datumoj (Konstruita-en).

2.1.1. Nombraj Celoj

La oktavo celoj estas predefinido nombraj skalaroj (realaj kaj kompleksaj), kaj la matricoj (vektoroj estas konsideritaj speciala matricoj, en kiu unu dimensio estas 1). Ĉiuj nombraj datumoj stokitaj kiel duobla precizeco nombroj, kio signifas ke en sistemoj uzante la formato en la IEEE flosantaj punktaj nombroj povas esti prezentita en la rango de 2.2e-308 kaj 1.7E +308 proksimumaj precizeco de 2,2 TTT-16.
Sugesto La ĝusta valoroj por la variabloj estas realmin, realmax kaj EPS, respektive.

2.1.1.1. Skalara

Skalara nombroj povas esti precizigita en dekuma, deksesuma (antaŭita de prefikson 0x). Nombroj en deksesuma formato povas esti nur entjeroj. Decimalaj numeroj ankaŭ lasu vin uzi scienca notacio, povante uzi la simbolojn e, E, dD sekvita de nombro n por signifi "fojojn 10 altigita al la povo n. Ekzemploj:
  105
      1.05e2
      1050E-1
      0x69
   
Ili reprezentas la numeron 105. Por reprezenti la kompleksa nombro 10 +11 i:
  10 + 11i
      1.0d1 + 0xBi
      10 + 110D-1j
      0xA + 0xbj
   
Memoru ke mi kaj j kaj iliaj respondaj majuskla reprezenti la imaginara unuo, kaj devas esti la lasta cifero de nombro sen spacoj imaginara kun la resto de la numero. Ambaŭ 100je-1, j j100 aŭ 100 estas malĝustaj.

2.1.1.2. Nombro teritorioj

Al gamo estas pli oportuna maniero por skribi vektoro kun egale spacitaj elementoj. Al gamo estas difinita kiel bazo aŭ unua valoro gamo, laŭvola valoro inter elementoj pliigo kaj maksimuma valoro kiu ne superas la gamo. Tiuj tri elementoj estas disigitaj de la simbolo: (dupunkto). La kresko povas esti pozitiva aŭ negativa, kaj se preterlasitaj supozos la valoro 1.
  oktavo> 1:10
      ans =
      1 2 3 4 5 6 7 8 9 10
      oktavo> 1:2:10
      ans =
      1 3 5 7 9
   
Sugesto La maksimumo de la gamo ne povas esti atingata en la ekspansio de la gamo. Se necese estas parto de ĉiuj konataj elementoj kaj la nombro de artikoloj por esti inkluditaj, vi devus uzi la linspace funkcio () anstataŭe.

2.1.1.3. Matricoj

Ĝi estas tre simpla por difini matricoj en Octave. La difino estas farita per prezentanta la elementoj vicoj aŭ concatenating aliaj tabeloj. La dimensioj de la matrico estas determinitaj aŭtomate de la datumoj. Eraro okazas se iu el la vicoj aŭ kolonoj de la fina elemento matrico havas malsaman numeron ol la resto. Disigi vicoj povas uzi; (punktokomo) aŭ puŝante kaleŝon reveno.
  oktavo> a = [1 2, 3, 4]
      a =
      Februaro 1
      Marto 4
      oktavo> b = [aa]
      b =
      1 2 1 2
      3 4 3 4
   
Por ricevi unu eron de tabelo, ni simple devas indiki la nomon de la variablo sekvita de parentezo, kaj ene de la vico indico kaj la kolumno - en ĉi tiu ordo - la eron kiun vi volas preni.
  oktavo> b (2,3)
      ans = 3
   
En la kazo de vektora ĝuste indiki sola indico (elemento pozicio), aŭ povas uzi du indeksoj skribmaniero, sed en ĉi tiu kazo se la vektoro estas vektoro indekso vico valoras la unua kaj se kolumna vektoro estos la dua imposto kiu valoras unu.
Por ricevi multnombraj sinsekvaj eroj en la sama vico de matrico (te vico vektoro), ni uzos gamo kiel dua imposto. Se vi volas preni kolumna vektoro, ni uzas gamo kiel la unua indico. Kaj se ni volas rekuperi submatrico ni uzas teritorioj por ambaŭ la unuan kaj la duan indekso.
  oktavo> b (1,2:3)
      ans =
      Februaro 1
      oktavo> b (1:2.3)
      ans =
      1
      3
      oktavo> b (:, 2:3)
      ans =
      Februaro 1
      Marto 4
   
Sugesto Se vi volas ĉiujn elementojn de vico aŭ kolumno, indiko de la gamo kun nur du punktoj: b (1, :) ni redonas la unua vico de b.
Sugesto Por pliaj informoj, de la Octave prompto tipo helpi-i Matricoj

2.1.1.4. Ŝnuroj aŭ ĉenoj

Karaktero ŝnuroj aŭ ĉenoj, kiel ili estas nomataj en Octave, estas sekvencoj de karakteroj enfermita en simpla citiloj (') aŭ duobla (").
Sugesto Kiel la simpla citaĵo (') estas ankaŭ la transpono operatoro, la uzo de duoblaj citiloj (").
Iuj signoj ne povas esti inkluditaj laŭvorte en ĉeno, kaj ĝi estas necesa por enkonduki ekvivalento karaktero sekvencoj (eskapo sekvencoj). La sekva tabelo montras la eskapo sekvencoj:
Tabelo 2-1. Eskapi sekvencojn en kordoj
Vico Priskribo
\ \ Backslash (backslash): \.
\ " Duoblaj citiloj. "Ĉu nur necesa se ​​vi uzas duoblan citilojn por limigi la kordo.
\ ' Sola citaĵoj '. Nur postulis se sola citaĵoj estas uzataj por limigi la kordo.
\ A Reprezentas la signo "garde" (normale fina pepi sonoj.
\ B Reprezentas la viŝi karaktero (klavo backspace aŭ kontrolo-h).
\ F Reprezentas la signo "formfeed" (nova paĝo).
\ N Reprezentas la karaktero "nova linio".
\ R Reprezentas la signo "tirilo".
\ T Reprezentas la langeton karaktero. Kutime oni ne bezonas por eskapi ĝin, sed de la Octave komandlinio alpreĝas la langeton karaktero redakti funkcii kompleta vorto.
\ V Reprezentas vertikala tabo.
Kordoj povas concatenados uzanta la skribmaniero por difini matricoj. Ekzemple:
  oktavo> ["OK", "veni", "al", "jaro"]
      ans = Bonvenon al la kurso
   
Sugesto Por pliaj informoj, de la Octave prompto tipo helpi-i strings

2.1.2. Strukturoj

Oktavo havas apogon por organizi datumojn en strukturoj. La sintakso estas tre simila al la C lingvo. La datumoj strukturo povas esti de iu tipo. Ekzemple:
  oktavo> x.numero = 1;
    oktavo> x.matriz = [1 2, 2 1];
    oktavo> x.cadena = "Saluton";
    oktavo> x
    x =
    {
    string = saluton
    nombro = 1
    matrico =
    Februaro 1
    Februaro 1
    }
 
La strukturoj estas celoj kiuj povas sin esti parto de aliaj strukturoj. La strukturoj povas kopii (operatoro =) sed ne havas aŭ povas esti difinita aritmetiko tabelo elementoj. En kazoj kie estas nestumado strukturoj montrante la valoron de objekto de tipo strukturo, oktavo povas elekti detranĉi la reprezento de iuj membroj por eviti konfuzon. Ekzemple:
  oktavo> ABCD = 1;
    oktavo> a
    a =
    {
    b =
    {
    c = <structure>
    }
    }
 
Sugesto La nombro de niveloj de nestumado strukturoj montrita ŝanĝeblas uzanta la predefinido variablo struct_levels_to_print. Lia defaŭlta valoro estas 2.
Sugesto Por pliaj informoj, de la Octave prompto help-i tipo struct

Nenhum comentário:

Postar um comentário