Archiwum kategorii: MATLAB

Informacje o MATLABie, jego narzędziach, a także o dobrych praktykach programistycznych związanych ze środowiskiem. Nietypowe rozwiązania i ciekawostki.

MATLAB + Arduino

MATLAB + Arduino

Arduino to tani i łatwy w obsłudze mikro-kontroler, który może stanowić podstawę budowy przeróżnych urządzeń i sterowanych cyfrowo mechanizmów. Platforma kierowana jest do hobbystów i w zasadzie każdy, bez technicznego wykształcenia, po kilku godzinach zabawy jest w stanie uruchomić swoje pierwsze projekty oparte o Arduino. System ma jednak swoje ograniczenia, które ujawniają się, gdy przychodzi do realizacji bardziej złożonych pomysłów. Z jednej strony jest to dosyć prymitywne środowisko programistyczne (w sensie IDE, nie grupy użytkowników programu 🙂 ), które nie ułatwia życia kiedy trzeba szukać błędów popełnionych w projekcie. Z drugiej strony jest to wydajność obliczeniowa Arduino. Lekarstwem na te bolączki może być pożenienie Arduino i MATLABa. W zasadzie nie jest to klasyczne małżeństwo, bo bardzo istotne znaczenie w relacji ma ten trzeci, czyli komputer PC udostępniający swoją moc obliczeniową. Konfiguracji w związku może być zatem kilka. Metody połączenia MATLABa i Arduino przedstawiam poniżej, każda ma swoje wady i zalety. Czytaj dalej MATLAB + Arduino

Callback function w MATLAB

Callback function w MATLAB

Callback function to bardzo przydatny mechanizm pozwalający wywołać wskazaną przez użytkownika funkcję przy okazji obsługi jakiegoś zdarzenia. Scenariuszy, w których callback funtion może się przydać, jest kilka. Dla przykładu, potrzebne nam do analizy dane mogą być na bieżąco odczytywane ze sprzętu pomiarowego lub serwera. W związku z tym w MATLABie tworzymy odmierzający czas obiekt, z którym to wiążemy szereg procedur umożliwiających cykliczne pobieranie i analizę porcji danych – i tu właśnie jest miejsce na wykorzystanie mechanizmu callback. Najlepiej będzie zilustrować to przykładem - spróbujmy zaimplementować w MATLABie technikę Pomodoro. W skrócie, Pomodoro to technika motywacyjna umożliwiająca zwiększenie naszej produktywności na tej zasadzie, że czując potrzebę przerwy mówimy sobie „pocisnę jeszcze te 15 minut a potem luz”. Zazwyczaj w technice pomodoro wykorzystuje się kuchenny minutnik, my wykorzystamy MATLABa i obiekt timer. Czytaj dalej Callback function w MATLAB

Fraktal - konkurs

Fraktal

Dziś firma ONT startuje z konkursem "Fraktal", w którym można wygrać kubek z logiem MATLAB&Simulink, parę ciepłych skarpet na zimę z wyszytą membraną MathWorks'a i inne, równie atrakcyjne nagrody. Zasady konkursu są bardzo proste. Do 23 października na adres mailowy konkurs@ont.com.pl należy nadesłać stworzony w MATLABie  obraz przedstawiający fraktal oraz m-kod służący do wygenerowania tegoż obrazu. Oceniany, od strony artystycznej, będzie wyłącznie obraz.  Kod posłuży jedynie do weryfikacji, że dzieło powstało w MATLABie, a nie na kalkulatorze na przykład. Zasady proste, nagrody ciekawe, zapraszam do wzięcia udziału!

fraktal_1

W związku z wielkim konkursem o ciepłe skarpetki dzisiaj wpis poświęcony fraktalom. Czytaj dalej Fraktal - konkurs

Rozwiązywanie równań różniczkowych w MATLABie

Rozwiązywanie równań różniczkowych w MATLABie

Od kilku dni dostępna jest wersja 2016b MATLABa. Tym razem zmiany koncentrują się głównie na obszarze „Big Data”. Wśród nowinek znalazła się jednak jedna, która - choć wcale nie spektakularna - może znacznie ułatwić codzienną pracę każdemu użytkownikowi. Chodzi o wprowadzenie możliwości definiowania funkcji w obrębie skryptu. Przy próbie policzenia czegoś na szybko może to być bardzo pomocne – przykładem niech będzie numeryczne rozwiązywanie równań różniczkowych.
Czytaj dalej Rozwiązywanie równań różniczkowych w MATLABie

Programowanie obiektowe w MATLAB

Programowanie obiektowe w MATLABie

W dzisiejszym świecie zastosowanie technik programowania obiektowego widoczne jest wszędzie. Wystarczy, że człowiek lodówkę otworzy i już na niego oo wyskakuje, ale co się dziwić? Skoro Arduino można programować dziś obiektowo, to tostery też można. MATLAB, jako współczesny język programowania, również jest zorientowany obiektowo. Nie było tak co prawda zawsze, możliwość programowania obiektowego wprowadzono kilka lat temu. Zrobiono to jednak bez większego rozgłosu i spora część użytkowników może sobie nie zdawać sprawy z tego, że w MATLABie można programować obiektowo. W tym braku świadomości nie ma nic złego, MATLAB to środowisko obliczeniowe wykorzystywane na wielu płaszczyznach i do wielu celów, nie każdy użytkownik programu jest programistą i nie każdemu zaawansowane techniki programistyczne są do szczęścia potrzebne. Warto jednak zapoznać się z podstawami z tego prostego względu, że z wersji na wersję w MATLABie powiększa się liczba gotowych klas przygotowanych do wykorzystania przez użytkowników. Czytaj dalej Programowanie obiektowe w MATLAB

MATLAB Compiler, MATLAB Coder

Stworzenie algorytmu obliczeniowego w MATLAbie to dla niektórych koniec pracy, dla innych dopiero początek. Każdy algorytm obliczeniowy czemuś służy i może się zdarzyć, że końcowy odbiorca będzie zainteresowany wielokrotnym wykorzystaniem algorytmu, a nie będzie w ogóle zainteresowany MATLABem, czy też szerzej, technologią wykorzystaną do jego opracowania. W środowisku MATLAB istnieją dwa podejścia umożliwiające oderwanie owocu pracy (algorytmu, aplikacji) od drzewa (środowiska MATLAB) i sprezentowanie go „na zewnątrz”. Każde podejście przeznaczone jest dla trochę innej grupy odbiorców i każde wymaga uzbrojenia środowiska MATLAB w dodatkowe moduły (toolboxy): MATLAB Compiler lub MATLAB Coder. Same nazwy modułów niestety nie pomagają w rozszyfrowaniu tego, co się za nimi kryje.

Czytaj dalej MATLAB Compiler, MATLAB Coder

Uchwyty do funkcji i funkcje anonimowe w MATLABie

Uchwyty do funkcji, funkcje anonimowe

Jak wejść w temat tak, żeby za szybko nie rozbolała głowa? Na pewno nie polecam rozpoczynać od lektury teoretycznie powiązanego z tematem wpisu na Wikipedii. Najlepszym sposobem na wprowadzenie do tematu jest pokazanie sensownego przykładu i tak spróbuję rozegrać to tym razem. Rozpocznę od obliczenia przy pomocy MATLABa następującej całki:

 \int_{0}^{1}\sin t dt Czytaj dalej Uchwyty do funkcji i funkcje anonimowe w MATLABie

MATLAB - bezpłatny kurs

Aktualizacja!

MATLAB - bezpłatny kurs

Pisałem już o ciekawym sposobie na zdobycie oprogramowania MATLAB całkowicie za darmo. Gwoli przypomnienia, licencję na oprogramowanie możemy zdobyć na okres ok. 3 miesięcy w sytuacji, gdy jest nam ona potrzebna do ukończenia kursu na portalu Coursera.org. Jeśli któryś z oferowanych przez Coursera kursów wymaga pracy w środowisku MATLAB, to najprawdopodobniej możemy liczyć na bezpłatny dostęp do programu.

Czytaj dalej MATLAB - bezpłatny kurs

MATLAB Live Editor

Co nowego w MATLAB - Live Editor

Wczytanie danych, stworzenie modelu, przeprowadzenie obliczeń, wyświetlenie końcowych wyników to obowiązkowe przystanki w drodze do rozwiązania dowolnego problemu obliczeniowego. MATLAB jest narzędziem, które pomaga w realizacji każdego z powyższych punktów przy pomocy tysięcy różnych funkcji. W rzeczywistości istotny jest jeszcze pewien detal – sposób, w jaki podczas realizacji zadania opisujemy jego poszczególne etapy i prezentujemy pośrednie wyniki.
Od wersji 2016a w MATLABie pojawiła się ciekawa alternatywa dla zwykłych komentarzy oraz dokumentów generowanych przez Raport Generator. Live Editor to narzędzie, które w sprytny sposób łączy nasz kod z czytelną prezentacją wyników jego działania.
Czytaj dalej MATLAB Live Editor