IDL programmeringsteknikker

IDL programmeringsteknikker


Interactive Data Language (IDL) er et verktøy for visualisering og undersøkelse av data. IDL arbeider med "arrays," den gruppering av objekter på en måte som gjør at de kan tas opp enten individuelt eller kollektivt. "En av hemmelighetene til å bli en effektiv IDL programmerer," skrev Liam gumley i "Praktisk IDL Programming", er effektiv bruk av arrays, trening i å tenke og praktisere i "array operasjoner i stedet looper".

Bruksanvisning

Indeksering en Array

1 I IDL, kan en matrise alltid bli indeksert i en av to måter: ved kolonne og rad, eller ved enkel en-dimensjonal teller. For eksempel vurdere en matrise i to dimensjoner:

2 4 6 8 10 12

12 14 16 14 12 10

10 8 40 5 4 2

8 2 9 19 18 17

Å indeksere tall i tredje rad, tredje kolonne av rad og kolonne, kan man skrive:

IDL> print, arr [2,2]

Det ville være [2,2] i stedet for [3,3] fordi man begynner i origo - 0 her - og flytter to plasser til høyre, deretter to plasser ned. Det ville be svaret: 40.

2 Man kunne indeks en matrise i en en-dimensjonal måte slik:

IDL> print, arr [14].

I tilfellet med dette gitter,

2 4 6 8 10 12

12 14 16 14 12 10

10 8 40 5 4 2

8 2 9 19 18 17

som igjen ville føre til svaret: 40. I dette tilfelle er ledeteksten for, i gumley ord ", nullbasert forskyvning av elementet fra starten av tabellen."

3 IDL gir, on demand, var gjennomsnittlig eller variansen av en matrise. For en rekke i IDL, som for alle datasett, er middelverdien erholdt ved å summere verdiene i settet og deretter dividere med antall verdier nummer. Dersom matrisen er dette:

2 4

3 7

da gjennomsnittet er 4 (16/4 = 4).

Etter å ha laget denne matrisen i IDL, kan man si til denne:

IDL> print, mener (arr) for å motta det svaret.

Variansen av en matrise, på samme måte, er gjennomsnittet av kvadrerte forskjeller mellom verdiene og middelverdien. I tilfellet ovenfor, de kvadrerte forskjeller er 4, 0, 1 og 9. varians, så, er 3,5. Det aktuelle kommandoen er:

IDL> print, varians (arr)

4 En IDL programmerer må også lære å omorganisere en matrise. Det er sju omplasserings funksjoner, som følger:

reform ()

omvendt()

rotere()

transponere ()

skifte()

sortere()

Uniq ().

Tenk deg at du allerede har opprettet en 3-for-2 rutenett slik:

1 2 3

4 5 6.

Nå ønsker du å reformere det til en 2-av-tre rutenett slik:

1 2

3 4

5 6

Kommandoen er:

IDL> arr -reform (arr, 2, 3)

Hint

  • Demonstrasjonen av det kommersielle programmet kan lastes ned gratis. Demoen har visse grenser, skjønt; for eksempel, avslutter den etter sju minutter.
  • En billig nedstrippet student versjon av programmet er tilgjengelig for $ 100 per desember 2010.
  • Den alt-inkludert-versjonen av programmet, som i desember 2010, koster $ 1.000.