Programowanie obiektowe w MATLAB

Programowanie obiektowe w MATLAB

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 postawami 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 Tutorial #10

Instrukcja warunkowa IF

Treść obu stworzonych uprzednio plików (monty_uparciuch.m oraz monty_niestateczny.m) w znacznym stopniu się pokrywa. Różnica pomiędzy nimi polega na tym, że w jednym przypadku gracza stawia się przed możliwością zmiany wyboru bramki i gracz z tej propozycji korzysta, w drugim pozostaje on przy swoim pierwotnym wyborze. Dołożymy do kodu zawartego w monty_niestateczny dodatkową część, która będzie uzależniała przebieg algorytmu od zdefiniowanych warunków – w naszym przypadku takim warunkiem będzie wybór strategii, jaką obrał gracz.

Czytaj dalej MATLAB Tutorial #10

MATLAB - bezpłatny kurs

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

MATLAB Tutorial #9

W ostatniej części poradnika przedstawiłem dwa sposoby symulacji zachowania uparciuchów uczestniczących w turnieju "Idź na całość". Tym razem zajmiemy się symulacją zachowania graczy niestatecznych, którzy, jeśli nadarzy się okazja, zmieniają swoje pierwotne wskazania. Zadanie jest o wiele trudniejsze i tym razem ciężko jest obyć się bez pomocy pętli for.

Czytaj dalej MATLAB Tutorial #9

MATLAB App Designer

Co nowego w MATLAB - App Designer

Bieżąca wersja MATLABa, która pojawiła się zaledwie kilka tygodni temu, została oznaczona cyfrą 9. Zmiana numeracji sugeruje pojawienie się sporych zmian w środowisku i rzeczywiście, zmiany są. Czy są duże – to już kwestia dyskusyjna. Należy wspomnieć, że firma Mathworks od wielu lat stosuje podwójne oznaczenie wydania każdej kolejnej wersji programu. Obecnie na splash screenie (małym okienku, które pojawia się w czasie uruchamiania programu) pojawia się informacja, że mamy do czynienia z wydaniem oznaczonym jako R2016a, przy czym w nawiasie obok pojawia się również oznaczenie 9.0. Jeśli z kolei w oknie poleceń programu wpiszemy komendę ver, uzyskamy informacje, że mamy do czynienia z wersją 9.0, a obok w nawiasie pojawi się oznaczenie R2016a. Zdaje się, że ostatnimi czasy istotniejsze dla firmy MathWorks jest akcentowanie ewolucji niż rewolucji zachodzących w programie MATLAB. Jeśli przyglądnąć się zmianom, jakie zostały poczynione od ostatniego wydania (R2015b, 8.9), to nie są one olbrzymie, jednak jeśli prześledzić zmiany, jakie zaszły w przeciągu ostatnich dwóch lat, to ulepszeń i modyfikacji nazbiera się całkiem sporo. Można powiedzieć, że produkt dojrzał na tyle, że warto go odróżnić od poprzednich wersji. Ktoś kto dysponuje MATLAbem w wersji 8.0 będzie mógł zaobserwować gigantyczną różnicę pomiędzy starą wersją, a obecną. Czytaj dalej MATLAB App Designer

MATLAB Tutorial #8

Programowanie w MATLABie

W poprzedniej części poradnika pokazałem, jak w MATLABie można ułatwić sobie prace dzięki tworzeniu skryptów. Skrypty umożliwiają zebranie szeregu instrukcji w ramach jednego pliku tekstowego, ich opisanie, wywołanie i w końcu, w razie potrzeby, łatwą edycję. Ale to nie wszystko. Skryptu umożliwiają również wprowadzenie do tworzonych procedur różnych instrukcji sterujących, dzięki czemu MATLAB może być traktowany jako język programowania.

Czytaj dalej MATLAB Tutorial #8