Et kig på plugin og begivenhedr

Vi slutter vor rejse gennem ved Kst med at kigge på to specifikke typer af data: plugin og begivenhedsovervågning.

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 Appendiks B, Lav yderligere plugin. 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.

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 maksima.dat som indgår i demonstrationspakken:

kst -y 1 -d maksima.dat

Flaget d angiver at kun punkter skal tegnes, ikke linjer. Plottet med datapunkter skulle nu blive vist:


Plot med datapunkter

Åbn nu datahåndteringen, Klik på Plugin... i afsnittet Ny for at oprette et nyt pluginobjekt. Under Pluginvalg, vælg pluginnet Lineær indstilling. 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 V1-INDEX for Inddatavektor - X-felt og V2-1 for Inddatavektor - Y-felt. Klik derefter på O.k. Du bemærker at det nye pluginobjekt har oprettet slavevektorer til at opbevare uddata. Klik på Kurve... for at oprette en ny kurve ud fra uddatavektorerne. Vælg V1-INDEX for X-aksevektor og P1-kstfit_linear_unweighted-Y Fitted for Y-aksevektor. Vi vil placere kurven ovenpå datapunkterne i det eksisterende plot, så markér Placér i eksisterende plot og afmarkér Placér i nyt plot under Kurvens placering. Klik til sidst på O.k. for at oprette kurven. Luk datahåndteringen for at kigge på den tilpassede linje:


Tilpasset linje

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 Tilpas.... 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 O.k.

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å Begivenhedsovervågning... i afsnittet Ny i datahåndteringen for at oprette en ny begivenhed:


Begivenhedsovervågning

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 [-0,60, -0,40]. For at indstill begivenheden på denne måde, indskrives følgende i tekstfeltet Udtryk:

[C4-cleaned_pitch-sv]>(-0.40) | [C4-cleaned_pitch-sv]<(-0.60)

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 Log som og Meddel, og skriv din e-mail-adresse til højre for afkrydsningsboksen Meddel. Klik på O.k., så oprettes begivenheden.

Vælg nu Fejlsøgning i Kst... i menuen Hjælp. Klik på fanebladet Log 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:


Fejlsøgningslog

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

Når du er færdig, kan du afslutte Kst.