<chapter id="tutorial">

<chapterinfo>
<authorgroup>
<author
><firstname
>Barth</firstname
> <othername
></othername
> <surname
>Netterfield</surname
> <affiliation
><address
><email
>kst@kde.org</email
></address
></affiliation>
</author>
<author
><firstname
>Rick</firstname
> <othername
></othername
> <surname
>Chern</surname
> <affiliation
><address
><email
>kst@kde.org</email
></address
></affiliation>
</author>
</authorgroup>



<copyright>
<year
>2004</year>
<holder
>University of British Columbia</holder>
</copyright>



</chapterinfo>
<title
>&kst; gennemgang</title>



<sect1 id="Welcome">
<title
>Velkommen</title>
<para
>Velkommen til &kst;. På nogle få minutter kommer du at være på vej med at udførsel af de talrige funktioner i denne plotnings- og datahåndteringspakke. Her er kun nogle af de opgaver du kan opnå med &kst;: </para>

<itemizedlist>
<listitem>
<para
>Hurtigt plotte flere grafer kun ved brug af kommandolinjen. </para>
</listitem>
<listitem>
<para
>Analysér data med et omfattende sæt værktøjer, inklusive histogrammer, effektspektre og egne ligninger. </para>
</listitem>
<listitem>
<para
>Forstør og formindsk interessante områder i plot uden anstrengelse, ved  enten at bruge musen eller tastaturet. </para>
</listitem>
<listitem>
<para
>Overvåg levende strømmende data med mulighed for realtidsplotning i &kst;. </para>
</listitem>
</itemizedlist>
<para
>Denne gennemgang dækker det grundlæggende i at installere, køre og arbejde med &kst;. Den er baseret på en hurtig tur gennem &kst; ved Barth Netterfield. Du indbydes til yderligere at udforske en hvilken som helst funktion når som helst. Alle funktioner er dokumenterede i resten af denne håndbog.</para>

</sect1>

<sect1 id="commandline">
<title
>Start &kst; fra kommandolinjen</title>
<para
>En almindelig brug af &kst; er til hurtigt at oprette plot med data fra kommandolinjen. Denne måde at oprette plot kræver næsten intet kendskab til  den grafiske grænseflade i &kst;, men laver alligevel umiddelbart brugbare resultater. </para>

<para
>Denne gennemgang bruger en demonstrationspakke med datafiler som installeres med &kst; i <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/apps/kst/tutorial</filename
>, hvor <filename class="directory"
>$<envar
>KDEDIR</envar
></filename
> er stedet hvor &kde; er installeret på dit system (du kan finde det med kommandoen <command
>kde-config --prefix</command
>).</para>

<note
><para
>Hvis du har en version af &kst; ældre end 1.1.0, finder du gennemgangens data direkte på <ulink url="http://omega.astro.utoronto.ca/kst/tutorial/kst_tutorialdata.tgz"
>http://omega.astro.utoronto.ca/kst/tutorial/kst_tutorialdata.tgz</ulink
>. Hent pakken og pak den ud, og gå til den resulterende mappe: <screen
><userinput
><command
>tar -zxvf kst_tutorialdata.tgz</command>
<command
>cd kst_tutorialdata</command
></userinput
></screen>

</para>
</note>

<para
>For at få en oversigt over alle tilgængelige kommandolinjeflag i &kst;, skriv: <screen
><userinput
><command
>kst --help</command
></userinput
></screen>
</para>
<para
>En syntaksbeskrivelse og liste med kommandoer som ligner det følgende vises: <screen
>Brug: kst [Qt-vælgare] [KDE-vælgare] [vælgare] [Files]

Kst: et datavisningsprogram

Generella vælgare:
  --help                    Vis hjælp om flag
  --help-qt                 Vis flag specifikke for Qt
  --help-kde                Vis flag specifikke for KDE
  --help-all                Vis alle flag
  --author                  Vis information om forfattere
  -v, --version             Vis versionsinformation
  --license                 Vis licensinformation
  --                        Slut på flag

Flag:
  -F &lt;dataFile&gt;             Angiv datafil: bruges for at sætte forvalgt Kst-fil ud af kraft [|]
  -y &lt;Y&gt;                    Felt for Y-akse (flere tillades)
  --ye &lt;equation&gt;           Ligningen for Y-akse (flere tillades)
  -e &lt;E&gt;                    Felt for Y-fejl (flere tillades)
  -x &lt;X&gt;                    Felt eller interval for X-akse [INDEKS]
  --xe &lt;X&gt;                  X-vektor for ligninger x0:x1:n [INDEKS]
  -p &lt;Y&gt;                    Felt for effektspektrum (flere tillades)
  -h &lt;Y&gt;                    Felt for histogram (flere tillades)
  -r &lt;f&gt;                    Samplingsfrekvens for effektspektrum [60.0]
  --ru &lt;U&gt;                  Enheder for samplingsfrekvens for spektral effekttæthet [Hz]
  --yu &lt;U&gt;                  Enheder for Y-vektorer [V]
  -l &lt;P&gt;                    FFT-længden er 2^P [10]
  -f &lt;F0&gt;                   Første post at læse [-2]
  -n &lt;NS&gt;                   Antal rammer at læse [-2]
  -s &lt;NS&gt;                   Antal rammer at springe over for hver læsning [-1]
  -a                        Anvend lavpassfilter inden rammer springes over
  -m &lt;NC&gt;                   Separate plot arrangeret i antal søjler
  -d                        Vis som punkter i stedet for kurver
  -g                        Vis i forklaringsrude
  --print &lt;file&gt;            Udskriv til fil og afslut [&lt;none&gt;]
  --png &lt;file&gt;              Gem som en PNG-fil og afslut [&lt;none&gt;]

Parametre:
  Files                     Datafiler (hvis -y angivet) eller *.kst-fil
</screen>
</para>

<para
>Flag specifikke for &kst; på liste under afsnittet <literal
>Flag:</literal
>. Hvor det passer angives standardværdier med kantede parenteser i slutningen af beskrivelsen af flaget. Disse værdier bruges for flag som ikke angives. </para>

<para
>Først tager vi et kig på ASCII-filen <filename
>gyrodata.dat</filename
>, som indgår i demonstrationspakken. ASCII-filer er en af de mange filtyper som &kst; kan læse. I ASCII-filer er data arrangeret i søjler, hvor hver søjle svarer til et felt, og søjlenummeret (begyndende på 1 fra venstre til højre) svarer til feltnavnene. Denne specielle ASCII-fil indeholder tre søjler, og har altså feltnavnene 1, 2 og 3. For at oprette et plot med den første søjle, skriv blot: <screen
><userinput
><command
>kst -y 1 gyrodata.dat</command
></userinput
></screen>

</para>
<para
>Alle data i den første søjlen tegnes op: </para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-tutorial-gyro1.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
<para
>Bemærk at intet felt blev angivet for plottets X-akse, så &kst; bruger standardvektoren INDEKS, som forventet. INDEKS-vektoren er en speciel vektor i &kst; som indeholder heltal fra 0 til N-1, hvor N er antal dataværdier i tilsvarende vektor for Y-aksen. Luk &kst; ved at vælge <guimenuitem
>Afslut</guimenuitem
> i menuen <guimenu
>Fil</guimenu
>, eller ved at skrive <keycombo action="simul"
><keycap
>Ctrl</keycap
> <keycap
>Q</keycap
></keycombo
>. </para>

<para
><filename
>gyrodata.dat</filename
> indeholder 20000 rammer, så måske vil du kun kigge på en del af inddata. For at kun plotte 10000 rammer, begyndende på post 7000, skriv: <screen
><userinput
><command
>kst -y 1 -f 7000 -n 10000 gyrodata.dat</command
></userinput
></screen>

</para>

<para
>En af styrkerne ved &kst; er dets mulighed for at plotte realtidsdata. Antag at nye data hele tiden tilføjes til slutningen på <filename
>gyrodata.dat</filename
>. Ved et sådant scenario, ville det være nyttigt at kun plotte den sidste del af data. For kun at plotte de seneste 10000 rammer i <filename
>gyrodata.dat</filename
>, indskrives følgende: <screen
><userinput
><command
>kst -y 1 -n 10000 gyrodata.dat</command
></userinput
></screen>
</para>
<para
>Hvis <filename
>gyrodata.dat</filename
> opdateredes, vil plottet fortsætte med at bevæge sig for kun at vise de sidste 10000 rammer. </para>

<para
>I stedet for direkte at indlæse en datafil, kan &kst; bruge ASCII-data fra stdin som en datakilde. For at angive stdin som inddata, skrives blot <filename
>stdin</filename
> som et af filnavnene. Der er mange måder at bruge denne mulighed, såsom at bruge &kst; som en del af en rækkefølge af sammenkoblede pipes: <screen
><userinput
><command
>cat gyrodata.dat | awk '{print $1 + 2}' | kst -y 1 stdin</command
></userinput
></screen>
</para>
<para
>Kommandoen ovenfor bruger <command
>awk</command
> til at tilføje 2 i første søjle af <filename
>gyrodata.dat</filename
> inden resultatet sendes videre til &kst;. </para>

<para
>Bemærk at beskrivelsen af flaget <option
>y</option
> angiver at flere forekomster af flaget tillades. Det gør det muligt hurtigt at plotte mere end en kurve, eller til og med mere end et plot. For at plotte alle tre felter i <filename
>gyrodata.dat</filename
> i separate plot, indskrives følgende: <screen
><userinput
><command
>kst -y 1 -y 2 -y 3 -m 1 gyrodata.dat</command
></userinput
></screen>

</para>
<para
>Flaget <option
>m</option
> angiver at adskilte plot skal bruges i stedet for et enkelt plot, som vises nedenfor: </para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-tutorial-gyro-multiple.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>

</sect1>

<sect1 id="datawizard-tour">
<title
>En hurtigtur i Dataguiden</title>
<para
>Selv om det er hurtigt og bekvemt at bruge &kst; fra kommandolinjen, kan der være situationer hvor det er nemmere at importere data fra den grafiske brugergrænseflade, for eksempel om du allerede har &kst; åben med anden data indlæst. Eller du måske helt enkelt foretrækker at bruge den grafiske brugergrænseflade. Ved at blive bekendt med begge måder at importere data, kan du bruge &kst; effektivere. </para>

<para
>Dataguiden sørger for en hurtigt og enkel måde at oprette vektorer, kurver og plotmer i &kst; ud fra datafiler. For at starte guiden, vælges <guimenuitem
>Dataguide...</guimenuitem
> i menuen <guimenu
>Data</guimenu
> eller der klikkes på knappen <inlinemediaobject
><imageobject
><imagedata fileref="Icon-kst-datawizard.png" format="PNG"/></imageobject
></inlinemediaobject
> på værktøjslinjen. Du bliver bedt om at vælge en datakilde. Gå hen til filen <filename
>gyordata.dat</filename
> som bruges af kommandolinjeeksemplerne og klik på <guibutton
>Næste</guibutton
>. Følgende vindue vises: </para>

<screenshot>
<screeninfo
>Dataguidens anden skærm</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-datawizard2.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Dataguidens anden skærm</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Felterne som er tilgængelige i <filename
>gyrodata.dat</filename
> listes til venstre. Du kan filtrere listen med markerede felter ved at skrive en streng at matche ind i  tekstfeltet ovenfor listen (jokertegn såsom <literal
>*</literal
> understøttes). Markér felterne <guilabel
>1</guilabel
>, <guilabel
>2</guilabel
> og <guilabel
>3</guilabel
>. </para>

<para
>Afsnittet <guilabel
>Dataområde</guilabel
> bruges til at angive dataintervallet som skal læses for de valgte vektorer i inddatafilen. Følgende beskrivelse forudsætter kendskab til <quote
>rammer</quote
>. I korthed er en ramme blot et antal datasamplinger, og hver datafil består af et antal rammer. For en detaljeret beskrivelse af begrebet, se <xref linkend="supportingadditionalfileformatsdatasourceconceptsframes"/>. </para>

<variablelist>
<varlistentry>
<term
><guilabel
>Start</guilabel
>, <guilabel
>Tæl fra slutningen</guilabel
>, <guilabel
>Område</guilabel
> og <guilabel
>Læs til slutningen</guilabel
> </term>
<listitem>
<para
>Ved at bruge disse fire indstillinger, kan nedre og øvre grænse for dataintervallet angives. Vælg for eksempel <guilabel
>Tæl fra slutningen</guilabel
> og skriv 10000 som <guilabel
>Antal rammer</guilabel
> for kun at læse de sidste 10000 rammer. Hvis <filename
>gyrodata.dat</filename
> bliver opdateret i realtid, vil yderligere tilføjelser i slutningen af filen blive læst. </para>

</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Læs en sampling pr N rammer</guilabel
> og <guilabel
>Lavpasfilter først</guilabel
> </term>
<listitem>
<para
>Foruden nedre og øvre grænse for dataområdet, kan samplingerne som skal læses fra det valgte interval angives. Hvis <guilabel
>Læs en sampling pr N rammer</guilabel
> (hvor N er den angivne værdi) ikke er markeret, læses alle samplinger i det valgte interval. Alternativt, kan rammer i datafilen springes over ved at markere <guilabel
>Læs en sampling pr N rammer</guilabel
>. Afmarkér indtil videre <guilabel
>Læs en sampling pr N rammer</guilabel
>. </para>
</listitem>
</varlistentry>
</variablelist>

<para
>Effektspektrum og X-akse-indstillinger kan angives i afsnittet <guilabel
>Plottyper</guilabel
>. </para>

<variablelist>

<varlistentry>
<term
><guilabel
>X-Y</guilabel
>, <guilabel
>Effektspektrum</guilabel
> og <guilabel
>X-Y og effektspektrum</guilabel
> </term>
<listitem>
<para
>Vælg <guilabel
>X-Y og effektspektrum</guilabel
> for at oprette plot både med data selv og deres effektspektrum. For mere information om tilgængelige tilvalg  med effektspektrum, se <xref linkend="power-spectra"/>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guilabel
>X-akse-vektor</guilabel>
</term>
<listitem>
<para
>Vektoren kan bruges som uafhængig vektor for plottet. Du kan vælge et felt fra datafilen, eller INDEKS-vektoren. Eftersom <filename
>gyrodata.dat</filename
> ikke indeholder en X-akse-vektor, efterlades valget INDEKS. </para>
</listitem>
</varlistentry>

</variablelist>

<para
>Afsnittet <guilabel
>FFT-tilvalg</guilabel
> i dataguiden er kun tilgængelig hvis et effektspektrum skal plottes. Denne guide beskriver ikke effektspektre i detalje, så brug standardindstillinger for dette afsnit. </para>

<para
>Når du er tilfreds med med alle indstillinger, klik på på <guibutton
>Næste</guibutton
> for at gå til næste vindue. </para>

<screenshot>
<screeninfo
>Dataguidens tredje skærm</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-datawizard3.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Dataguidens tredje skærm</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Herfra kan du ændre generelle plotindstillinger. De fleste indstillinger er selvforklarende. Vælg <guilabel
>Et nyt plot pr kurve</guilabel
> for <guilabel
>Kurvens placering</guilabel
> og <guilabel
>I nyt vindue</guilabel
> for <guilabel
>Plotplacering</guilabel
>. Det placerer alle seks plot (tre kurver og tre effektspektre) i samme vindue. </para>


<para
>Når du er tilfreds med alle indstillinger, klik så på <guibutton
>Afslut</guibutton
> så laves  plottene: </para>
<screenshot>
<screeninfo
>De genererede  plot</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-tutorial-datawizard-done.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>De genererede plot</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>At generere plottene krævede en vis indsats, så vi vil gemme nuværende session i &kst; (den bruges i vejledningens næste afsnit). Vælg <guimenuitem
>Gem som...</guimenuitem
> i menuen <guimenu
>Fil</guimenu
>, og gem sessionen som <filename
>min_kst_session.kst</filename
>. </para>

<screenshot>
<screeninfo
>Gem en Kst-session</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-filesave.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Gem en Kst-session</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>At gemme en session i &kst; gemmer alle plot, dataobjekter (du vil lære om dem senere), og layouter som findes på det tidspunkt hvor  sessionen gemmes. </para>
<para
>Når filerne er gemt, kan du afslutte &kst;. </para>
</sect1>

<sect1 id="mousezooming">
<title
>Grundlæggende plothåndtering</title>
<para
>Nu når du har fundet ud af at oprette plot i &kst;, kan vi udforske nogen af funktionerne for plothåndtering som er i den grafiske grænseflade i &kst;. Start &kst; fra kommandolinjen med filen <filename
>min_kst_session.kst</filename
> som du tidligere gemte: </para>
<screen
><userinput
><command
>kst min_kst_session.kst</command
></userinput
></screen>
<para
>Alle plot du tidligere oprettede skulle nu være indlæst i &kst;. Kig på plottet med teksten <literal
>PSD (V/Hz^{1/2})</literal
> på Y-aksen. For  nærmere at kigge på plottet, højreklikkes på det og menupunktet <guimenuitem
>Maksimér</guimenuitem
>, som vises nedenfor vælges: </para>
<screenshot>
<screeninfo
>Maksimér et plot</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-zoom.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Maksimér et plot</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Plottet er nu maksimerat i nuværende vindue. Bemærk at for de  alt for høje X-værdier er plottet næsten helt fladt, så det ville være nyttigt kun at kigge på området i plottet som ser interessant ud. For at gøre det, så sørg for at du er i XY-musezoometilstand (vælg <guimenuitem
>XY-musezoom</guimenuitem
> i menuen <guimenu
>Plot</guimenu
>, eller klik på knappen <inlinemediaobject
><imageobject
><imagedata fileref="Icon-kst-xymousezoom.png" format="PNG"/></imageobject
></inlinemediaobject
> i værktøjslinjen). Træk derefter blot et rektangel fra cirka (4, 0,0025) til (0,0) som vist nedenfor. Bemærk at musemarkørkens koordinater vises i nederste højre hjørne i vinduet i &kst; (hvis de ikke er der, så sørg for at <guimenuitem
>Vis statuslinje</guimenuitem
> er markeret i menuen <guimenu
>Opsætning</guimenu
>). </para>

<para
>Plotakserne ændres til at <quote
>zoome ind</quote
> på det valgte område i plottet. Du bemærker måske at der er en top i venstrekanten af effektspektret som går forbi den nye grænse for Y-aksen. Antag at du vil kigge på det højeste punkt af toppen. Højreklik på plottet og vælg <guimenuitem
>Op</guimenuitem
> i undermenuen <guimenu
>Panorér</guimenu
>. Plottet vil så blive flyttet opad. Det er formodentlig nemmere at bruge genvejstasten som hører sammen med dette menupunkt. Det gælder for de fleste af zoom- og panoreringsfunktionerne. I dette tilfælde er genvejstasten <keysym
>Pil opad</keysym
>, så den hurtigste måde at flytte opad er at holde tasten <keysym
>Pil opad</keysym
>nede. For når som helst at gå tilbage til maksimal zooming, højreklikkes på plottet og så vælges <guimenuitem
>Zoom maksimalt</guimenuitem
> i undermenuen <guisubmenu
>Zoom</guisubmenu
> (eller tryk på <keycap
>M</keycap
>, genvejstasten som hører sammen med <guimenuitem
>Zoom maksimalt</guimenuitem
>). </para>

<para
>Genopret størrelsen af plottet med effektspektre ved at højreklikke på plottet og afmarkere <guimenuitem
>Maksimér</guimenuitem
>. </para>

<para
>Kig nu på plottet med Y-aksen som hedder <literal
>Søjle 2</literal
> og <literal
>Søjle 3</literal
>. De er plot af tipgyro og rullegyro, fra flyvningen af BOOMERANG 1998. Eftersom de to plot hører sammen, kan det være nyttigt at zoome og panorere dem samtidigt. Klik på firkanterne som er i øverste højre hjørne på de to plot. De skal nu få en mørk farve for at angive at de to plot hører sammen: </para>

<screenshot>
<screeninfo
>Bunden forstørrelse</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-tiedzoom.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Bunden forstørrelse</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Inden vi forsøger at forstørre, skal vi fjerne alle plot udover de to vi arbejder med. Vælg <guimenuitem
>Layouttilstand</guimenuitem
> i menuen <guimenu
>Plot</guimenu
> eller klik på knappen <inlinemediaobject
><imageobject
><imagedata fileref="Icon-kst-layoutmode.png" format="PNG"/></imageobject
></inlinemediaobject
> i værktøjslinjen. Højreklik på plottet og vælg <guimenuitem
>Fjern</guimenuitem
>, for alle plot udover de to vi vil beholde. Højreklik derefter hvor som helst i nuværende vindue og vælg <guimenuitem
>Ryd op i  layout</guimenuitem
>. Nu bør de to plot dele hele pladsen inde i vinduet. Gå tilbage til XY-museforstørrelse når du er færdig. </para>

<para
>Forsøg nu forstørre på en del af det øverste plot. Du mærker at det nederste plot bliver tomt. Det skyldes at de nederste plot-akser er blevet ændret for at stemme med de øverste plotakser, og der er ingen data i netop dette område i det nederste plot. Tryk på <keycap
>M</keycap
> mens musemarkøren er over et af plottene for at gå tilbage til maksimal forstørrelse for begge plot. Hold nu  <keycap
>Ctrl</keycap
> nede (det svarer til at vælge <guimenu
>X-museforstørrelse</guimenu
> i menuen <guimenu
>Plot</guimenu
> eller at klikke på knappen <inlinemediaobject
><imageobject
><imagedata fileref="Icon-kst-xmousezoom.png" format="PNG"/></imageobject
></inlinemediaobject
> i værktøjslinjen). Musemarkøren ændrer form for visuel tilbagemelding. Mens du holder tasten <keycap
>Ctrl</keycap
> nede, tegnes et rektangel i det øverste plot. Bemærk at det prikkede rektangels højde er begrænset så kun X-aksen bliver forstørret. Nu viser begge plottene data når de forstørres, eftersom Y-aksen for et af plottene ikke ændredes. </para>
<tip>
<para
>Du kan hurtigt binde eller frigøre alle plot i vinduet ved at vælge <guimenuitem
>Bunden forstørrelse</guimenuitem
> i menuen <guimenu
>Plot</guimenu
> eller ved at klikke på knappen <inlinemediaobject
><imageobject
><imagedata fileref="Icon-kst-tiedzoom.png" format="PNG"/></imageobject
></inlinemediaobject
> i værktøjslinjen. </para>
</tip>
<para
>Når du er færdig med at eksperimentere med forstørrelsesfunktionerne, kan du lukke &kst;. Der er ingen grund til at gemme plottene denne gang (hvis du ikke vil). </para>

</sect1>



<sect1 id="overviewdataobjects">
<title
>En kort oversigt over dataobjekter</title>
<para
>Der er mere i &kst; end kun enkel plotning og visning af data. I dataguiden har du allerede set at &kst; har mulighed for at oprette effektspektre for data. I virkeligheden kan &kst; også oprette andre dataobjekter såsom histogrammer, ligninger og plugin. Et værktøj som kaldes Datahåndtering kan hjælpe dig med at holde styr på alle dataobjekter du laver. </para>

<para
>Start &kst; med filen <filename
>demo.kst</filename
>, som indgår i demonstrationspakken: </para>
<screen
><userinput
><command
>kst demo.kst</command
></userinput
></screen>
<screenshot>
<screeninfo
>Kst med demo.kst</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-demo.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Kst med demo.kst</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Denne session i &kst; indeholder vektorer og andre dataobjekter som laves ud fra data i <filename
>gyrodata.dat</filename
>. Det øverste plot indeholder azimutdata, plottet i midten indeholder tipdata i blåt, og det nederste plot viser effektspektret for tipdata i blåt. Lad os først undersøge plottene noget nøjere. Knyt de to plot sammen med teknikken som du lærte i foregående afsnit. Hold derefter  <keycap
>Ctrl</keycap
> nede  for at bruge X-musezoom. Zoom nu ind på et lille område i det øverste plot (eksempelvis fra 50000 til 53000), for at få beggesammenknyttede plot til at zoome. Du mærker at den blå tipkurve har en negativ korrelation med den røde azimutkurvan. Dette skyldes at tipgyroen var lidt roteret i forhold til azimutaksen (med cirka 0,69 grader). Den egentlige tipværdien <literal
>p'</literal
> er: <informalequation
> <mediaobject
> <imageobject
> <imagedata fileref="Equation-kst-correctedpitch.png" format="PNG"/> </imageobject
> </mediaobject
> </informalequation
> hvor <literal
>p</literal
> er den oprindelige tipværdi. <inlinemediaobject
><imageobject
><imagedata fileref="Symbol-kst-theta.png" format="PNG"/></imageobject
></inlinemediaobject
> er rotationen af tipgyroen i forhold til azimutaksen, og <literal
>a</literal
> er azimutgyroen. <literal
>p'</literal
> tegnes op som den sorte kurve i det midterste plot. Effektspektrum for <literal
>p'</literal
> er den sorte kurve i plottet længst nede. </para>

<para
>Lad os nu tage et kig på hvordan de tre plot oprettedes. For at vise datahåndteringen, vælg <guimenuitem
>Datahåndtering...</guimenuitem
> i menuen <guimenu
>Data</guimenu
>, eller klik på knappen <inlinemediaobject
><imageobject
><imagedata fileref="Icon-kst-datamanager.png" format="PNG"/></imageobject
></inlinemediaobject
> i værktøjslinjen: </para>
<screenshot>
<screeninfo
>Datahåndtering</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-datamanager.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Datahåndtering</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Datahåndteringen indeholder den fuldstændige liste med dataobjekter i nuværende session i &kst;. Den lader dig også redigere og oprette nye dataobjekter. Som du kan se, er der tre kurvor (hver oprettet ud fra et par vektorer), en ligning, to effektspektre og fire datavektorer i listen. Højreklik på C2-GY_PITCH og vælg <guimenuitem
>W1-P1</guimenuitem
> i undermenuen <guisubmenu
>Fjern fra plot</guisubmenu
>. Dette fjerner kurven fra plottet P1 i vinduet W1. Fjern også PSD2-V3-GY_PITCH fra plottet P3 i vinduet W1 med samme procedure. Nu skulle kun de korrigerede kurver blive vist i plottene: </para>

<screenshot>
<screeninfo
>Kun korrigerede kurver</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-democorrected.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Kun korrigerede kurver</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>For at se hvordan det korrigerede pitch-gyro oprettedes, markeres C4-cleaned_pitch og der klikkes på knappen <guibutton
>Redigér</guibutton
>. Dialogen Redigér ligning vil blive vist: </para>
<screenshot>
<screeninfo
>Redigér ligning</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-editequation.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Redigér ligning</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Bemærk at ligningen som bruges til at beregne <literal
>p'</literal
> blev skrevet ind i tekstfeltet <guilabel
>Ligning</guilabel
> (approksimationen 1 bruges for <literal
>cos(-0,69)</literal
>). Tøv ikke med at eksperimentere med indstillingerne i dialogen. Klik på <guibutton
>O.k.</guibutton
> (for at gemme eventuelle ændringer som blev udført) eller <guibutton
>Afbryd</guibutton
> når du er færdig. </para>

<para
>Bemærk at alle dataobjekter har et tal som angives i søjlen <guilabel
>Antal brugte</guilabel
>. Tallet angiver antal gange som dataobjektet enten bruges af andre dataobjekter eller af plot. Eftersom vi fjernede en kurve og et effektspektrum, skal i det mindste to dataobjekter have 0 angivet i søjlen. Klik på <guibutton
>Ryd</guibutton
> for at fjerne alle ubrugte dataobjekter permanent. </para>

<para
>Klik på <guibutton
>Luk</guibutton
> for at lukke datahåndteringen. Du kan afslutte &kst; nu hvis du ønsker det. </para>
</sect1>

<sect1 id="pluginsandevents">
<title
>Et kig på plugin og begivenhedr</title>
<para
>Vi slutter vor rejse gennem ved &kst; med at kigge på to specifikke typer af data: plugin og begivenhedsovervågning. </para>

<para
>Et plugin er et fleksibelt dataobjekt, hvis opførsel helt og holdent afhænger af den specifikke pluginfil som vælges. Pluginnet kan være et som indgår i den almindelige distribution af &kst;, eller en pluginfil fra tredje part. Du finder instruktioner om hvordan man skriver og kompilerer egne pluginfiler i <xref linkend="creatingplugins"/>. Plugin lader &kst; udføre vilkårlige operationer på en datamængde, eftersom det eneste krav for et plugin er at  modtager et sæt inddatavektorer og skalarer, og giver en sæt uddatavektorer og skalarer. </para>

<para
>Som et eksempel skal vi forsøge at tilpasse en enkelt linje til en lille mængde datapunkter. Start &kst; med et plot af første felt i datafilen <filename
>maxima.dat</filename
> som indgår i demonstrationspakken: </para>

<screen
><userinput
><command
>kst -y 1 -d maksima.dat</command
></userinput
></screen>

<para
>Flaget <option
>d</option
> angiver at kun punkter skal tegnes, ikke linjer. Plottet med datapunkter skulle nu blive vist: </para>
<screenshot>
<screeninfo
>Plot med datapunkter</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-maxima-datapoints.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Plot med datapunkter</phrase>
</textobject>
</mediaobject>
</screenshot>
<para
>Åbn nu datahåndteringen, Klik på <guibutton
>Plugin...</guibutton
> i afsnittet <guilabel
>Ny</guilabel
> for at oprette et nyt pluginobjekt. Under <guilabel
>Pluginvalg</guilabel
>, vælg pluginnet <guimenuitem
>Lineær indstilling</guimenuitem
>. Dette bestemte plugin kræver to inddatavektorer, en som indeholder X-værdier og en anden som indeholder Y-værdier for datapunkterne som skal tilpasses. Vælg <guimenuitem
>V1-INDEX</guimenuitem
> for <guilabel
>Inddatavektor - X-felt</guilabel
> og <guimenuitem
>V2-1</guimenuitem
> for <guilabel
>Inddatavektor - Y-felt</guilabel
>. Klik derefter på <guibutton
>O.k</guibutton
>. Du bemærker at det nye pluginobjekt har oprettet slavevektorer til at opbevare uddata. Klik på <guibutton
>Kurve...</guibutton
> for at oprette en ny kurve ud fra uddatavektorerne. Vælg <guimenuitem
>V1-INDEX</guimenuitem
> for <guilabel
>X-aksevektor</guilabel
> og <guimenuitem
>P1-kstfit_linear_unweighted-Y Fitted</guimenuitem
> for <guilabel
>Y-aksevektor</guilabel
>. Vi vil placere kurven ovenpå datapunkterne i det eksisterende plot, så markér <guilabel
>Placér i eksisterende plot</guilabel
> og afmarkér <guilabel
>Placér i nyt plot</guilabel
> under <guilabel
>Kurvens placering</guilabel
>. Klik til sidst på <guibutton
>O.k.</guibutton
> for at oprette kurven. Luk datahåndteringen for at kigge på den tilpassede linje: </para>

<screenshot>
<screeninfo
>Tilpasset linje</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-fittedline.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Tilpasset linje</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>En procedure som ligner den du netop fulgte lader dig oprette og plotte uddata fra en hvilken som helst type af plugin-objekt. Der er dog en genvej til at oprette plugin for tilpasning. Ved at højreklikke på et plot vises den sammenhængsafhængige menu, som indeholder undermenuen <guisubmenu
>Tilpas...</guisubmenu
>. Ved at vælge en kurve i undermenuen, vises dialogen Tilpas funktion med standard X- og Y-vektorer. Efter pluginnet for indstilling er valgt, skabes plugin-objektet, kurven fra pluginnets uddata og kurven placeres i eksisterende plot ved at klikke på knappen <guibutton
>O.k</guibutton
>. </para>

<para
>Lad os nu tage et kig på begivenheder. Begivenhedsobjekter overvåger ofte andre vektorer eller skalarer og udfører angivne handlinger når visse betingelser som berører disse vektorer eller skalarer er sande. Klik på <guibutton
>Begivenhedsovervågning...</guibutton
> i afsnittet <guilabel
>Ny</guilabel
> i datahåndteringen for at oprette en ny begivenhed: </para>
<screenshot>
<screeninfo
>Begivenhedsovervågning</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-eventmonitor.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Begivenhedsovervågning</phrase>
</textobject>
</mediaobject>
</screenshot>

<!-- FIXME: This seems to be incorrect: the equation given doesn't work -->
<para
>Antag at pitch-gyroets data opdateres i realtid, og at vi vil blive underrettede så snart de korrigerede pitch-gyroværdier havner udenfor området <literal
>[-0,60, -0,40]</literal
>. For at indstill begivenheden på denne måde, indskrives følgende i tekstfeltet <guilabel
>Udtryk</guilabel
>: </para>

<para>
<literal
>[C4-cleaned_pitch-sv]&gt;(-0.40) | [C4-cleaned_pitch-sv]&lt;(-0.60)</literal>
</para>

<para
>Bemærk at alt som skrives ind som et udtryk skal være et Boolesk udtryk. Dette bestemte udtryk evalueres som sandt så snart en af ulighederne er sande. Vælg både <guilabel
>Log som</guilabel
> og <guilabel
>Meddel</guilabel
>, og skriv din e-mail-adresse til højre for afkrydsningsfeltet <guilabel
>Meddel</guilabel
>. Klik på <guibutton
>O.k.</guibutton
>, så oprettes begivenheden. </para>

<para
>Vælg nu <guimenuitem
>Fejlsøgning i Kst...</guimenuitem
> i menuen <guimenu
>Hjælp</guimenu
>. Klik på fanebladet <guilabel
>Log</guilabel
> for at vise fejlsøgningsloggen. Hvis begivenheden er indstillet rigtigt, vil du se advarsler som angiver de X-værdier som begivenheden aktiveredes for. Kontrollér at værdierne groft set stemmer overens med dem du kunne vente ved at kigge på plottet: </para>

<screenshot>
<screeninfo
>Fejlsøgningslog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="Screenshot-kst-debuglog.png" format="PNG"/>
</imageobject>
<textobject>
<phrase
>Fejlsøgningslog</phrase>
</textobject>
</mediaobject>
</screenshot>

<para
>Hvis pitch-gyro-ata opdateres i realtid, vil begivenhedsovervågningen også blive aktiveret for hver ny data når det behøves. </para>

<para
>Når du er færdig, kan du afslutte &kst;. </para>
</sect1>


<sect1 id="conclusion">
<title
>Konklusion</title>

<para
>Dette afslutter gennemgangen af &kst;. Forhåbentlig har du fået tilstrækkeligt med viden til at kunne bruge &kst; bekvemt. Husk at gennemgangen ikke dækker alle funktioner i &kst;. Der er stadigvæk meget at udforske og eksperimentere med. Resten af håndbogen er en omfattande guide til begreber som strækker sig fra grundlæggende vindueslayout til at oprette egne plugin og læsere af datakilder. Du opmuntres til at bruge &kst; på interessante og opfindsomme måder: du vil formodentlig komme til at mærke at det ikke kun opfylder, men går ud over dine behov og krav. </para>
</sect1>


</chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: xml
sgml-omittag:nil
sgml-shorttag:nil
sgml-namecase-general:nil
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:true
sgml-parent-document:("index.docbook" "book" "chapter")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

