Aproksymacja, interpolacja, ekstrapolacja.

Aproksymacja, interpolacja, a może ekstrapolacja? Czy zdarzyło Ci się używać tych pojęć zamiennie? Co one tak naprawdę oznaczają? Jak w MATLABie wykonać aproksymacje, a jak interpolacje? W tym artykule postaram się wytłumaczyć różnice pomiędzy powyższymi metodami oraz pokażę jak użyć MATLABa by zrealizować je poprawnie.
Czytaj dalej Aproksymacja, interpolacja, ekstrapolacja.

Badania symulacyjne i generacja sygnałów

W MATLABie najczęściej mamy do czynienia z dwiema sytuacjami. Albo wykonujemy badania symulacyjne albo eksperymentalne. W drugim przypadku zazwyczaj pracujemy z danymi zapisanymi przez człowieka lub przez system pomiarowy. Importujemy je do MATLABa (o tym jak to zrobić poprawnie będzie jeden z kolejnych wpisów) i wykonujemy analizę za pomocą danego algorytmu. Jednak jak sprawdzić czy napisany przez nas program działa poprawnie, a wynik analizy jest wiarygodny? Weryfikację programu lub napisanego algorytmu można sprawdzić poprzez wykonanie badań symulacyjnych.

Czytaj dalej Badania symulacyjne i generacja sygnałów

MATLAB - Kurs podstawowy [FILM]

Jeżeli jesteś stałym bywalcem naszego bloga, to być może jest Ci znany, opublikowany nieco ponad 3 lata temu, „MATLAB tutorial”. Ten tekstowy poradnik, był w zamyśle przeznaczony dla osób początkujących, które nie miały wcześniej styczności z MATLABem. Jakkolwiek treść tego tutoriala jest nadal aktualna i warto z niej korzystać, to jako uzupełnienie polecam serię filmów opublikowanych w 2018 roku pod wspólnym tytułem „Matlab – Wprowadzenie”.
Czytaj dalej MATLAB - Kurs podstawowy [FILM]

Jak uprościć i przyspieszyć program w MATLABie? [FILM]

Czy zdarzyło Ci się kiedyś, że Twój program realizujący stosunkowo proste obliczenia wykonywał się bardzo długo? A może jakaś pętla spowodowała, że MATLAB przestał reagować na polecenie Ctr+c?
Przyczyną może być niezoptymalizowany pod kątem obliczeń wektorowych program. Okazuje się bowiem, że klasyczne podejście do programowania znane z języków niższego poziomu, gdzie na przykład do kopiowania elementów musimy używać pętli, nie jest wskazane w produkcie MathWorksa. MATLAB jest zoptymalizowany pod kątem obliczeń macierzowo-wektorowych i wykorzystanie tej cechy umożliwia uzyskanie uproszczenia programu, a przede wszystkim skrócenie czasu obliczeń. Zapraszam do lektury wpisu oraz zobaczenia filmu na Youtube dotyczącego tego tematu, link do którego znajduje się na końcu posta.
Czytaj dalej Jak uprościć i przyspieszyć program w MATLABie? [FILM]

Matlab dla każdego


W oczekiwaniu na nowe wpisy dotyczące programowania w MATLABie, chciałbym zwrócić Waszą uwagę, a szczególnie osób zainteresowanych rozpoczęciem pracy w tym środowisku obliczeniowym, na dostosowane do różnych potrzeb i elastyczne wersje licencji, które oferuje MathWorks. Obecnie do dyspozycji są cztery główne rodzaje licencji: standard, education, home i student. Każda z nich dodatkowo jest podzielona na podkategorie, dzięki czemu każdy znajdzie wersję najbardziej optymalną do swoich potrzeb. Co ciekawe, producent już za 35 EUR oferuje dostęp do wersji studenckiej. Jest to w pełni funkcjonalna wersja Matlaba, której głównym ograniczeniem jest wykorzystanie programu wyłącznie na potrzeby i czas trwania studiów. Czytaj dalej Matlab dla każdego

Blog reaktywacja


Po dłuższej chwili nieaktywności na blogu, wracamy ze zdwojoną siłą i workiem pomysłów na nowe tematy. Nie jest to, jak można by myśleć, postanowienie noworoczne, do realizacji którego zabraknie za chwilę zapału. Z nową energią i nowymi autorami będziemy wypełniać nasz blog treściami, które, mamy nadzieję, Was zainteresują. Nowe wpisy i artykuły będą pojawiać się co najmniej dwa razy w miesiącu. Ich forma będzie różna; od tradycyjnych postów, przed dłuższe artykuły, po formę wideo: tutoriale, przewodniki „how to” oraz ciekawostki ze Świata MATLABa. Poruszone problemy będą natury praktycznej, a więc akcent będzie postawiony na rozwiązywanie konkretnych zagadnień i problemów inżynierskich. Nieco więcej niż dotychczas będzie tematów związanych ze statystyczną analizą danych, przetwarzaniem sygnałów, czy np. obsługą sprzętu pomiarowego. Nie zabraknie również treści poświęconych podstawom programowania w MATLABie. Każdy, niezależnie do tego czy zaczyna swoją przygodę z MATLABem czy jest bardziej zaawansowanym użytkownikiem, znajdzie na naszym blogu coś dla siebie. Już niebawem opublikujemy nieco więcej szczegółów i zakres tematyczny najbliższych wpisów. Stay tuned 😊 A dla tych którzy nie mogą się doczekać, przypominamy, że dostępny jest nasz tutorial w formie tekstowej, wprowadzający w arkana użytkowania MATLABa. Chcesz lepiej poznać MATLABa? Jesteś w dobrym miejscu!

LEGO EV3 i regulacja PID: Identyfikacja oraz automatyczne strojenie

Implementacja algorytmu PID to nie wszystko

Dzisiejszy post będzie kontynuacją ciągu artykułów na temat tworzenia algorytmu sterowania mobilnym robotem w środowisku Simulink. Dla przypomnienia, w ostatnim wpisie zajęliśmy się omówieniem robota oraz implementacją podstawowych algorytmów obsługujących silniki, doczytujących dane z enkoderów i wyliczających faktyczne prędkości obrotowe oraz liniowe kół robota. Również, na samym końcu rozpoczęliśmy implementację regulatora PID pozwalającego zadawanie konkretnej prędkości robota.

Czytaj dalej LEGO EV3 i regulacja PID: Identyfikacja oraz automatyczne strojenie

LEGO EV3, ciąg dalszy: Sterowanie robotem mobilnym

Roboty w akcji

W ostatnim wpisie na temat programowania LEGO Mindstorms z wykorzystaniem MATLABa i Simulinka przedstawione zostały podstawowe zagadnienia związane z podłączaniem sterownika LEGO EV3 do komputera, komunikacją z Simulinkiem oraz wgrywaniem utworzonych algorytmów do urządzenia LEGO. Dziś, tak jak obiecano, rozpoczynamy cykl prezentujący wybrane roboty w akcji.

Na pierwszy rzut zajmiemy się programowaniem klasycznego robota mobilnego, jeżdżącej platformy, na podstawie której omówionych zostanie kilka ważnych aspektów tworzenia algorytmów sterujących robotem, przydatnych również przy innych konstrukcjach.

Czytaj dalej LEGO EV3, ciąg dalszy: Sterowanie robotem mobilnym

Blog MATLAB&Simulink