2,10,30

ZAPISZ SIĘ DO NEWSLETTERA SERWISU AUTOMATYKAONLINE.PL I POBIERZ DARMOWY NUMER "AUTOMATYKI"!

okładka Automatyka

*Wyrażam zgodę na przetwarzanie moich danych osobowych przez Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, w celach marketingowych, w tym marketingu bezpośredniego. Oświadczam, że zostałem poinformowany/a o prawie do wglądu, modyfikacji oraz usuwania moich danych osobowych.

*Wyrażam zgodę na przesyłanie mi informacji handlowej (w tym informacji handlowej partnerów portalu AutomatykaOnline.pl) za pomocą środków komunikacji elektronicznej w rozumieniu ustawy z dnia 18 lipca 2002 r. o świadczeniu usług drogą elektroniczną (Dz.U. 2002 nr 144, poz. 1204).

*Wyrażam zgodę na używanie przez Przemysłowy Instytut Automatyki i Pomiarów PIAP, z siedzibą w Warszawie przy ul. Al. Jerozolimskie 202, 02-486 Warszawa, telekomunikacyjnych urządzeń końcowych, których jestem użytkownikiem, dla celów marketingu bezpośredniego zgodnie z art. 172 ustawy z dnia 16 lipca 2004 r. Prawo telekomunikacyjne (Dz.U. 2004 nr 171 poz. 1800).

*Akceptuję regulamin portalu AutomatykaOnline.pl oraz politykę prywatności serwisu.




ZAMKNIJ OKNO

Dziękujemy!

Prawie gotowe ... Musimy potwierdzić Twój adres email. Aby zakończyć proces subskrypcji, należy kliknąć link w mailu, który właśnie wysłaliśmy do Ciebie.

Po akceptacji zapisu na newsletter zostanie przesłany do Ciebie numer promocyjny miesięcznika Automatyka.

ZAMKNIJ OKNO

Dziękujemy za próbę ponownego zapisu na nasz newsletter.

Twój mail już jest w naszej bazie!

W przypadku pytań, prosimy o kontakt:
redakcja@automatykaonline.pl

ZAMKNIJ OKNO

This website uses cookies

W celu zapewnienia najwyższej jakości usług strona używa plików cookies. Szczegóły w polityce prywatności serwisu.

POL ENG
a a a
Search
  • Login
  • Sign up
Site map Site map
AutomatykaOnline.pl
  • Home page
  • News
  • Interviews
  • Application
  • Articles
  • Events
  • Companies
  • Products
Search
Automatyka 5/2025

Automation5/2025

In this issue:
  • Interview with Paweł Hoerner de Roithberger and Paweł Reszel, National Instruments
  • Cybersecurity of industrial control systems
  • Signaling columns
  • Magazine
  • Subscription
  • Contact
  • Advertisement
Articles
  • Building Automation
  • Safety
  • Druk 3D
  • Electrics
  • Energy
  • Energia
  • Building Automation
  • Communication
  • Computers and HMI
  • Building Automation
  • Assembly and Conveyance
  • Software
  • Pneumatics
  • Measurements
  • Prawo i normy
  • Przemysł 4.0
  • Robotics
  • Control
  • Visions Systems
  • Drives
  • Technika łożyskowa
  • Technologia obróbki
  • Services
  • Building Automation
  • Others
Expand all
  • Home page
  • Articles
  • Software

Analiza danych w programie MATLAB

Andrzej Barciński print

Monday July 14 2014
źródło: ONT
Tweet

W pracy inżynierów, przed którymi stawiane są nowe wyzwania projektowe, mimo wielu oczywistych różnic wynikających ze specyfiki wyzwań, można znaleźć pewne ramy, wyznaczające schemat działania wielu z nich. Drogę do rozwiązania większości problemów, niezależnie od dziedziny nauki, której one dotyczą, można podzielić na kilka etapów.

Pierwszy etap to zebranie odpowiednich informacji, które są fundamentem dalszej pracy. Dane mogą być różnego typu. Mogą to być np. informacje o zmianie wartości prądu pobieranego przez silnik, dobowe wahania temperatury lub wartości instrumentów finansowych na giełdzie papierów wartościowych. Kolejny etap to przetworzenie surowych danych wejściowych, ich wstępna selekcja i filtrowanie. Tak przetworzone dane podlegają analizie – na podstawie obserwowanych przebiegów i wyznaczonych statystyk inżynier poszukuje zależności między danymi i próbuje określić „przepis” objaśniający, jakie procesy doprowadziły do pozyskania takich, a nie innych wyników.

Dalsza praca to stworzenie algorytmu przetwarzającego dane w pożądany sposób. Można przyjąć, że choć cele przyjęte przez inżynierów różnych specjalności bywają bardzo różne (od stworzenia algorytmu rozpoznawania ludzkiej mowy do wyznaczenia optymalnego napięcia sterującego pracą silnika), nieodmiennie wszyscy posługują się tym samym językiem matematyki. Ostatni etap pracy to stworzenie raportu z przeprowadzonej analizy lub – jeśli proces ma być powtarzany dla kolejnych porcji danych – stworzenie działającej aplikacji. Tak więc chociaż cele przyświecające inżynierom mogą być całkowicie odmienne, droga do ich realizacji jest dość podobna. Różne są natomiast narzędzia, które mogą posłużyć do realizacji celu.

źródło: ONT
Zestawienie dostępnych narzędzi analizy

Minęły czasy, gdy podstawowymi narzędziami pracy inżyniera były kartka i ołówek. Jakkolwiek te przedmioty są nadal użyteczne, dziś podstawowym narzędziem pracy inżyniera jest komputer wraz z odpowiednim oprogramowaniem. Choć mogłoby się wydawać, że nie sposób porównać ze sobą wszystkie dostępne na rynku narzędzia obliczeniowe, to można pokusić się o wskazanie kilku klas dostępnych rozwiązań.

Arkusz kalkulacyjny

Patrząc na najprostsze rozwiązania można zauważyć, że do analizy danych niekiedy wystarcza zwykły arkusz kalkulacyjny. Ogromną zaletą tego narzędzia jest sposób przedstawienia danych. Wczytując plik do arkusza kalkulacyjnego otrzymuje się dość dobry podgląd wszystkich dostępnych tam danych. Informacje ułożone są w tabeli, którą można edytować, w dość łatwy sposób wyznaczyć podstawowe statystyki i uzyskać wykresy wskazanych przebiegów. Problem pojawia się, gdy niezbędne staje się stworzenie zaawansowanych procedur selekcjonujących dane oraz algorytmów przetwarzania. Choć jest to możliwe, to tworzenie takich procedur w arkuszu kalkulacyjnym nie jest proste, a ponadto wykonywanie obliczeń jest niestety bardzo powolne. W tej kwestii nie można spodziewać się w przyszłości znaczącej poprawy, ponieważ mimo że w ostatnich dekadach sprzęt komputerowy stawał się coraz szybszy i wydajniejszy, to ilość danych, jaką się dysponuje, stając przed kolejnymi problemami obliczeniowymi, również staje się wielokrotnie większa.

07 - You do not have permission to view this object.
Specjalistyczne oprogramowanie

Dla większości inżynierów arkusz kalkulacyjny będzie narzędziem niewydajnym. Na rynku dostępna jest jednak całkiem bogata oferta specjalistycznych programów obliczeniowych, które dzięki pewnej automatyzacji pomagają użytkownikowi łatwo przejść etapy importu i selekcji danych. Mają również zaimplementowane gotowe funkcje obliczeniowe, które są wykonywane z przyzwoitą szybkością. Niedogodnością tego rozwiązania jest to, że programy te są w pewnym sensie „szyte na miarę”. Świetnie nadają się do realizacji określonych zadań, ale jeśli okaże się, że wymagane jest nietypowe podejście do selekcji danych lub przeprowadzenie dodatkowych obliczeń, użytkownik jest skazany na sięgnięcie po kartkę i ołówek, ewentualnie arkusz kalkulacyjny. W zasadzie prędzej czy później każdy inżynier natrafia na problem wymagający nieszablonowego podejścia, a wtedy taki gotowy program nie na wiele się zdaje.

Własny program

Problem szablonowego podejścia do problemu nie istnieje wtedy, gdy zamiast sięgać po gotowe rozwiązania inżynier sam tworzy program, który może pomóc w rozwiązaniu problemu. W zasadzie nie można w tym przypadku mówić o ograniczeniach – program stworzony na potrzeby projektu będzie przetwarzał dane w dowolnie określony przez programistę sposób, przy maksymalnym wykorzystaniu dostępnych zasobów sprzętowych. Stworzenie aplikacji z użyciem tradycyjnych języków programowania, takich jak C, Fortan i Java, nie jest jednak proste, a z całą pewnością bardzo czasochłonne. Wynika to przede wszystkim z tego, że inżynier tworzący aplikację nie może skupić się na rozwiązaniu problemu, a na aplikacji, którą tworzy.

MATLAB – środowisko obliczeniowe

Czy możliwe byłoby stworzenie środowiska obliczeniowego, które łączyłoby zalety przedstawionych wcześniej rozwiązań, przy jednoczesnej minimalizacji ich wad? W tym roku mija 30 lat od chwili, gdy inżynierowie firmy Mathworks podjęli taką próbę. Udało się stworzyć środowisko MATLAB, które oferuje użytkownikowi automatyzację rutynowych czynności (wczytanie danych, tworzenie przejrzystych wykresów i raportów), umożliwia wygodny podgląd danych, będących przedmiotem analizy oraz pozwala na wykorzystanie nie tylko licznych gotowych funkcji obliczeniowych, ale również wygodne tworzenie własnych procedur.

Korzyści z zastosowania środowiska MATLAB najlepiej zaprezentować w kontekście kolejnych etapów pracy inżyniera, przedstawionych na początku artykułu.

Wczytywanie danych

W pierwszej kolejności należy pobrać do środowiska obliczeniowego dane podlegające analizie. Warto zaznaczyć, że chociaż w MATLAB zaimplementowano mechanizmy w pełni automatyzujące proces importu danych z popularnych formatów plików (XLS, CSV, WAV, BMP i wielu innych), z powodzeniem można w półautomatycznym procesie odczytać dane z pliku o dowolnym innym formacie, niezależnie od tego, czy jest to plik binarny, czy tekstowy. Nie stanowi również problemu wskazanie jako źródła bazy danych lub specjalistycznego sprzętu pomiarowego. Ten ostatni może być również skonfigurowany i nadzorowany w procesie akwizycji bezpośrednio ze środowiska MATLAB. Jeśli dane ograniczają się do danych numerycznych, najwygodniej jest przechowywać je jako macierze liczbowe. W sytuacji, gdy w danych znajduje się również tekst, można je zapisać jako tabele. Ich przeglądanie w środowisku MATLAB jest równie proste, jak w przypadku arkusza kalkulacyjnego.

07 - You do not have permission to view this object.

Obróbka i selekcja danych

Wczytane dane wymagają zwykle wstępnej obróbki. Różne rodzaje wykresów pozwalają na błyskawiczny podgląd dostępnych danych, ich pierwszą ocenę i wybór dalszej ścieżki postępowania. Użytkownik może zdecydować się na usunięcie niekompletnych danych pomiarowych lub na ich uzupełnienie z wykorzystaniem jednej z zaimplementowanych metod aproksymacji.

Kolejny etap to selekcja danych do dalszej analizy. Bardzo przydatna jest tutaj technika znana jako indeksowanie logiczne. W celu wyjaśnienia korzyści płynących z użycia tej techniki, nie wchodząc w szczegóły techniczne, warto posłużyć się przykładem. Wyobraźmy sobie zestawienie informacji dotyczących produkowanych współcześnie samochodów osobowych. W pliku z danymi znajdują się informacje o typie pojazdu, pojemności silnika, kolorze nadwozia, mocy itp. W przypadku zainteresowania np. zależnością między zużyciem paliwa a mocą silnika dla trzydrzwiowych pojazdów w kolorze czerwonym, o pojemności silnika większej niż 1400 cm3, można uzyskać pożądane informacje dzięki indeksowaniu logicznemu poprzez wywołanie w MATLAB pojedynczego polecenia!

Warto także poświęcić trochę miejsca na opis języka programowania dostępnego w MATLAB. O ile część operacji w środowisku można wykonać przy pomocy dostępnego interfejsu graficznego, o tyle najefektywniejszą pracę zapewnia wprowadzanie precyzyjnych poleceń przy pomocy klawiatury.

Język programowania

Język programowania MATLAB umożliwia pracę na macierzach i wektorach – strukturach, z którymi w swoich obliczeniach spotyka się większość inżynierów. Uczynienie z macierzy podstawowego typu danych dostępnych w środowisku sprawia, że zarówno projektowanie obliczeń, jak i same obliczenia są mało czasochłonne. Ponadto, przy tworzeniu poleceń w języku MATLAB, od użytkownika nie wymaga się wykonywania niskopoziomowych operacji, takich jak deklaracja zmiennych czy określanie typu danych, co znacznie ułatwia sprawę. Możliwość dokonywania operacji na macierzach sprawia, że w wielu przypadkach linia kodu MATLAB zastępuje kilkanaście linii kodu, pisanych w językach C lub C++. Linie poleceń odpowiedzialne za poszczególne etapy pracy w MATLAB są zazwyczaj umieszczane w jednym pliku tekstowym, nazywanym skryptem. Mimo licznych uproszczeń, MATLAB w razie potrzeby oferuje wszystkie funkcje nowoczesnego języka programowania, tj. pętle, wyrażenia warunkowe, struktury danych i klasy.

Modelowanie i tworzenie algorytmów

Kolejne etapy pracy, czyli modelowanie i opracowywanie algorytmów obliczeniowych, mogą być znacznie uproszczone dzięki zaimplementowanym w środowisku MATLAB i jego specjalistycznych przybornikach (Toolbox) algorytmom obliczeniowym. W zależności od tego, czy analiza jest związana np. z przetwarzaniem sygnałów, czy biostatystyką, użytkownik może sięgnąć po zestaw odpowiednich i sprawdzonych narzędzi, by przyspieszyć realizację zadania. Wszystkie dostępne funkcje obliczeniowe są szczegółowo udokumentowane, a ponadto każda ze znajdujących się w MATLAB funkcji jest w pełni przejrzysta dla użytkownika i może być przez niego w razie potrzeby edytowana.

Tworzenie raportów

Ostatni, wieńczący dzieło etap to stworzenie raportu z przeprowadzonych obliczeń. Jeśli użytkownik w poprzednich fazach pracy zadbał o wprowadzenie odpowiednich komentarzy tekstowych do swojego skryptu (co jest dobrym pomysłem, niezależnie od tego, w jakim środowisku obliczeniowym/programistycznym wykonywana jest praca), to może skorzystać z mechanizmu generującego raport z przeprowadzonych obliczeń. Odpowiednie efekty (pogrubienie czcionki, wypunktowanie itp.) można uzyskać wstawiając w tekście komentarza odpowiedni znacznik. Raport może zostać utworzony w postaci plików HTML, Word, LaTEX czy PDF.

Konkretne aplikacje

Zdarza się, że to nie raport jest głównym celem prowadzonej analizy, a działająca aplikacja. Taką aplikację również można opracować w środowisku MATLAB, co wymaga najczęściej modyfikacji istniejącego skryptu i uzupełnienia go o mechanizmy interakcji programu z użytkownikiem. Pomocne okaże się w tym przypadku narzędzie GUIDE, służące do opracowywania graficznego interfejsu użytkownika. Dzięki temu końcowym efektem pracy może być wygodna aplikacja, która nie potrzebuje do działania oprogramowania MATLAB, a jedynie udostępnianej bezpłatnie biblioteki MRE.

Miłosz Augustyński

OPROGRAMOWANIE NAUKOWO-TECHNICZNE

Keywords

matlab, obliczenia, ont, oprogramowanie, polecane, simulink, symulacje

Related articles

  • Monitorowanie i zarządzanie procesami produkcyjnymi
  • AI w służbie ludzi – od automatyzacji do personalizacji doświadczeń
  • ERP w produkcji elektroniki – efektywność, kontrola, optymalizacja
  • W jaki sposób Proalpha umożliwiła modelowy przebieg cyfryzacji w MBV AG
  • CMMS w świecie automatyki przemysłowej – skuteczne narzędzie w walce z przestojami

Newsletter

Stay up to date with current information.

Comau videos YouTube

Show more videos
Inżynier wie

Events

Show more events
1 Jan Training

Zwiedzanie centrum efektywnej prefabrykacji szaf sterowniczych

1 January 2025 – 31 December 2025
27 May Conference

Forum Technologiczne: Innowacje w automatyce – Festo i Phoenix Contact w przemyśle przyszłości

Wrocław 27 May 2025
28 May Conference

"Niezawodność i Utrzymanie Ruchu w zakładach produkcyjnych" w Siedlcach

Siedlce 28 May 2025
28 May Training

Szkolenie z programowania sterowników PLCnext – podstawy

Wrocław 28–29 May 2025
  • facebook
  • Tweeter
  • google+
  • RSS AutomatykaOnline
  • About Us
  • Sales and customer service
  • Privacy Policy
  • Presentation
  • Terms of Use
  • Accessibility Statement
  • Contact Us
  • Contact form
  • Media cooperation
  • Portal Editorial
  • Automatyka Editorial
  • Advertising
  • Advertising contact
  • Advertising in "Automatyka"
  • Newsletter
AutomatykaOnline.pl

© 2014 by Przemysłowy Instytut Automatyki i Pomiarów PIAP. All rights reserved.
created by: TOMP