Mérési adatgyűjtés és adatfeldolgozás 2. előadás

Hasonló dokumentumok
Fizika Laboratórium KF 2011/2012 őszi félév. BME TTK Fizika Tanszék

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

Mérési adatgyűjtés és adatfeldolgozás. BME TTK Fizika Tanszék 2013/2014 tavaszi félév Copyright Geresdi Attila, Halbritter András

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Számítógépes mérésvezérlés

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

Access adatbázis elérése OLE DB-n keresztül

BME MOGI Gépészeti informatika 7.

BME MOGI Gépészeti informatika 15.

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

Ugráló gomb oktatási segédlet Ugráló gomb

BME MOGI Gépészeti informatika 6.

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

BME MOGI Gépészeti informatika 1.

BME MOGI Gépészeti informatika 14.

Vizuális, eseményvezérelt programozás I.

Függvények ábrázolása

BME MOGI Gépészeti informatika 13.

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Programozás BMEKOKAA146. Dr. Bécsi Tamás 10. Előadás

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

Programozás 2., II. kötet Windows form alkalmazások

Széchenyi István Egyetem

BME MOGI Gépészeti informatika 4.

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Vizuális programozás gyakorlat

VISUAL BASIC ALAPISMERETEK

Grafikus folyamatmonitorizálás

Objektumorientált programozás C# nyelven

Eseménykezelés - Lottó játék

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

CAN alapú járműves adatokat megjelenítő szoftver fejlesztése

Egyenletek, egyenlőtlenségek grafikus megoldása TK. II. kötet 25. old. 3. feladat

IGOR Pro bevezető előadás

Mentsd el code file-t kektura.cs néven, illetve kiterjesztéssel! Másold be a kektura.csv állományt a Projects munkamappa megfelelő almappájába!

Kétdimenziós rajzolás WPF-ben

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

C#, OOP. Osztályok tervezése C#-ban

Programozás I. Grafika Eseménykezelés. Programozás I. 2. gyakorlat Interakció a grafikus felületen, tagfüggvények. Surányi Márton PPKE-ITK

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Programozási alapismeretek 4.

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

Programozás II gyakorlat. 4. Öröklődés

MAL és VM javítási útmutató

Kalapácsvetés 2016 szöveges

eseményvezérelt megoldások Vizuális programozás 5. előadás

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

1. Jelgenerálás, megjelenítés, jelfeldolgozás alapfunkciói

Swing GUI készítése NetBeans IDE segítségével

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Adatsor feldolgozása Scilab-bal

4. Öröklődés. Programozás II

Programozás C++ -ban 2007/4

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Szoftvertechnolo gia 7. gyakorlat

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

Első egyéni feladat (Minta)

Eseményvezérelt alkalmazások

Programozási technológia

117. AA Megoldó Alfréd AA 117.

Csima Judit március 9. és 16.

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com

A C# programozási nyelv alapjai

1. mérés - LabView 1

GIS adatgyűjtés zseb PC-vel

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

Virtuális függvények (late binding)

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Entity Framework alapú adatbáziselérés 2

I. 288.: Utcai WiFi térkép

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Bevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása

Objektumorientált programozás C# nyelven

Osztályok. 4. gyakorlat

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Villamos jelek mintavételezése, feldolgozása. LabVIEW 7.1

F# (efsárp) példaprogramok

Tartalomjegyzék. Bevezetés...2

Diagram létrehozása. 1. ábra Minta a diagramkészítéshez

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

VIK A1 Matematika BOSCH, Hatvan, 5. Gyakorlati anyag

Átírás:

Mérési adatgyűjtés és adatfeldolgozás 2. előadás BME TTK Fizika Tanszék 2011/2012 tavaszi félév Copyright 2008-2009 Geresdi Attila, Halbritter András

Számítógépes mérésvezérlés Az előző rész tartalmából Számítógép-műszer kommunikáció Visual Studio 2005 Alapvető objektumok

Ami még hiányzik A beérkezett adatok grafikus ábrázolása: Mérőműszerek hibás működésének észlelése Kiértékelés szemre Zajos adatsor

Ami még hiányzik A beérkezett adatok grafikus ábrázolása: ZedGraph (open-source, forrás: http://sourceforge.net/projects/zedgraph/)

ZedGraph Koncepció: ZedGraphControl YAxis GraphPane PointPairList LineItem XAxis forrás: http://sourceforge.net/projects/zedgraph/

Alapvető objektumok: using ZedGraph; ZedGraph ZedGraphControl: Properties Enabled Engedélyezi a zoomolást és mozgatást az adott Controlon Name Az objektum azonosítója Visible Az objektum láthatósága Methods Refresh() AxisChange() Show() Hide() Megjeleníti az összes változást Újraskálázza a grafikont (autoscale) Megjeleníti a grafikont Eltünteti a grafikont forrás: http://sourceforge.net/projects/zedgraph/

Alapvető objektumok: using ZedGraph; GraphPane: ZedGraph Constructor GraphPane plot1= zedgraphcontrol1.graphpane; GraphPane.Title: Properties Text FontSpec.Size FontSpec.Color A grafikon címe A cím betűmérete A cím színe forrás: http://sourceforge.net/projects/zedgraph/

Alapvető objektumok: ZedGraph using ZedGraph; GraphPane.XAxis, GRaphPane.YAxis: Properties Title.Text Scale.Min Scale.Max Type A tengely felirata A tengely kezdete A tengely vége Tengely típusa (pl.: AxisType.Log) forrás: http://sourceforge.net/projects/zedgraph/

Alapvető objektumok: using ZedGraph; PointPairList: Constructor ZedGraph PointPairList graphpoints = new PointPairList(); Methods: Add(X, Y) Hozzáad egy pontot a grafikonhoz Properties: Count A listán lévő pontok száma LineItem: Constructor LineItem graphline = plot1.addcurve( Felirat, PointPairList, Color, SymbolType); forrás: http://sourceforge.net/projects/zedgraph/

Timer: További objektumok using System.Windows.Forms; Properties Interval Két Tick közötti időköz msec-ban Enabled A Timer futását engedélyezi, illetve tiltja Events Tick A beállított időköz leteltekor fut le Random: using System; Constructor Random rand01 = new Random(); Methods NextDouble() Next(min,max) A következő pszeudorandom számot adja 0 és 1 között A megadott határok közötti egész véletlenszámot ad vissza

using ZedGraph; namespace ZedGraph001 { public partial class Form1 : Form { PointPairList graphpoints; public Form1() { InitializeComponent(); } Példaprogram private void Form1_Load(object sender, EventArgs e) { graphpoints = new PointPairList(); GraphPane plot1 = zedgraphcontrol1.graphpane; LineItem graphline = plot1.addcurve("felirat", graphpoints, Color.Blue, SymbolType.Diamond); graphline.line.isvisible = false; graphpoints.add(3, 4); // x, y } } } zedgraphcontrol1.axischange(); zedgraphcontrol1.refresh();

FAQ: ZedGraph GraphPane-en lévő grafikonok törlése Plot1.CurveList.Clear(); Egyetlen LineItem törlése Plot1.CurveList.RemoveAt(0); // ahol a 0 az indexet jelöli Összekötő vonal eltüntetése GraphLine.Line.IsVisible = false; Pontpárok kiolvasása PointPairList objektumból X = graphpoints[3].x; y= graphpoints[3].y; // ahol a 3 az indexet jelöli Grafikon mentése képként zedgraphcontrol1.getimage().save("kep.png");

FAQ: ZedGraph Fix skála beállítása az egyik tengelyre (pl. az X-re) plot1.xaxis.scale.min = 0; plot1.xaxis.scale.max = 1; plot1.xaxis.scale.maxauto = false; plot1.xaxis.scale.minauto = false; Több adatsor ábrázolása egy ZedGraph objektumon belül PointPairList graphpoints = new PointPairList(); PointPairList graphpoints2 = new PointPairList(); GraphPane plot1 = zedgraphcontrol1.graphpane; LineItem graphline = plot1.addcurve("elso", graphpoints, Color.Blue, SymbolType.Diamond); LineItem graphline2 = plot1.addcurve("masodik", graphpoints2, Color.Red, SymbolType.Diamond);

Numerikus deriválás Az f(x) függvény diszkrét x i pontokban ismert: y i f ( x i ) y ( x 2, y2) ( x 4, y4) ( x 1, y1) ( x 3, y3) x 2 pontos backwards formula: f '( x2) y x 2 2 y x 1 1 2 pontos centrált formula: f '( x2) y x 3 3 y x 1 1

Álvéletlenszámok Példa álvéletlenszámok generálására: Bárki, aki aritmetikai módszerekkel akar előállítani egy véletlenszámot, a bűn állapotában leledzik. Neumann János X ( a X n 1 n c) modm m : modulus m 0 a : szorzófaktor 0 a m c : inkrementum 0 c m Pl. m 10, X 0 a c 7 re 7, 6, 9, 0, 7, 6, 9, 0,... X 0 :seed (A beépített Random osztály másképp működik.) Emlék: Random Rand01; Rand01 = new Random(); Double FloatRandomNumber = Rand01.NextDouble(); Int32 IntRandomNumber = Rand01.Next(MaxRandomNumber); forrás: Donald Knuth, The Art of Computer Programming

Egymás után konstruált Random objektumok Random Rand01 = new Random(); Random Rand02 = new Random(); double x = Rand01.NextDouble(); double y = Rand02.NextDouble(); Tipikus hibák A Random objektum újrakonstruálása minden Tick()-ben private void timer1_tick(object sender, EventArgs e) {... Random Rand01 = new Random(); double x = Rand01.NextDouble(); double y = Rand01.NextDouble();... }

Gyakorló feladatok 6. Ábrázoljuk grafikonon az input.txt tartalmát (formátuma soronként: X \t Y ) a következőképpen: egy Timer objektum segítségével kb. 100 ms-onként olvassuk be a soron következő adatpontot. Ábrázoljuk ezt, és valamelyik formulával számolt numerikus deriváltat ugyanazon grafikonon belül! 7. Készítsünk Lissajous-görbe generáló programot: két Textboxban legyen beállítható az X és Y csatorna frekvenciája, és legyen változtatható a két jel fázisa! 8. Generáljunk (X,Y) véletlenszám-párokat 0 és 1 között! Határozzuk meg annak a valószínűségét, hogy az így meghatározott pont az origó körüli egységsugarú negyedkörön belülre esik! Ennek érdekében egy grafikonon ábrázoljuk a negyedkört és a pontokat, egy másikon pedig a valószínűséget a generált pontok számának függvényében. A pontokat fél másodpercenként sorsoljuk, a kapott koordinátákat és valószínűségeket mentsük el egy file-ba!