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.

Meshgrid

Meshgrid

Meshgrid - sympatyczna funkcja w MATLABie, której działanie w pierwszym momencie może wydawać się nieco tajemnicze. W tej chwili mogę sobie wyobrazić zagubionego użytkownika programu MATLAB, który zaplątał się podczas czytania dokumentacji i gdzieś tam przez przypadek trafił na opis funkcji meshgrid. Czyta, myśli sobie "fajne, ale po co". Zaintrygowany siada przed komputerem, wpisuje w wyszukiwarkę "Meshgrid MATLAB po co" i trafia na tę właśnie stronę. Niemożliwe? Powiedzmy, że mało prawdopodobne. Dla mnie ważne, że jeśli się ktoś taki trafi, to mogę mu pomóc. W zasadzie jeśli się ktoś taki trafi, to mogłem mu pomóc, bo wpis już przecież jest gotowy.

Czytaj dalej Meshgrid

Przyspieszanie obliczeń w MATLABie

Przyspieszanie obliczeń w MATLABie

Przyspieszanie wykonywania algorytmów w środowisku MATLAB to w zasadzie temat rzeka. Drogi do obranego celu są różne. Parallel Computing Toolbox umożliwia zastąpienie pętli for przez parfor, zrównoleglającej obliczenia na wszystkich dostępnych w komputerze rdzeniach obliczeniowych, a także pozwala na wykorzystanie w obliczeniach kart graficznych firmy nVidia. Przy naprawdę zasobożernych zadaniach MATLAB Distributed Computing Server daje możliwość zastosowania do obliczeń zewnętrznego klastra obliczeniowego. Można też wykorzystać MATLAB Coder do wygenerowania kodu C z części naszych algorytmów, co również powinno przełożyć się na prędkość ich działania. Zanim jednak sięgniemy po te zaawansowane i nierzadko kosztowne narzędzia, warto zacząć od przeglądnięcia m-kodu, którym dysponujemy. Nierzadko skrócenie czasu wykonania algorytmu można osiągnąć modyfikując nieznacznie m-kod.


Czytaj dalej Przyspieszanie obliczeń w MATLABie

MATLAB Mobile

MATLAB Mobile -  moc MATLABa na twojej komórce.

Na komórce lub dowolnym innym urządzeniu działającym pod kontrolą systemu Android lub iOS. Przede wszystkim na wstępie trzeba wyjaśnić jedną kwestię - Matlab Mobile nie jest wersją MATLABa na komórki. To aplikacja, która stanowi interfejs do programu zainstalowanego na komputerze lub do jego chmurowej wersji.  Innymi słowy, MATLAB Mobile umożliwia wydawanie poleceń i odbieranie wyników obliczeń bezpośrednio z telefonu komórkowego czy tabletu, wymaga jednak sparowania z MATLABem na komputerze lub z wersją on-line MATLABa.

Czytaj dalej MATLAB Mobile

MATLAB IDE – kilka dobrze schowanych funkcjonalności

MATLAB IDE – kilka dobrze schowanych funkcjonalności

Kilka lat temu MATLAB przeszedł gruntowne zmiany wyglądu. Tradycyjny interfejs zastąpiono „wstążką”, co na pewno unowocześniło wygląd aplikacji i w znacznym stopniu usprawniło korzystanie z niej. Zmiana nie wszystkim przypadła do gustu. Pojawił się klasyczny zarzut, że kiedyś to można było znaleźć wszystko w ustrukturyzowanym menu, a teraz to trzeba szukać ustawień i narzędzi po kątach. Cóż, coś w tym jest.
Czytaj dalej MATLAB IDE – kilka dobrze schowanych funkcjonalności

Równania różniczkowe wyższych rzędów

Równania różniczkowe wyższych rzędów

Wskazówki dotyczące rozwiązywania równań różniczkowych przedstawione w poprzednim wpisie w pełni wystarczą do rozwiązywania problemów opisanych równaniem różniczkowym pierwszego rzędu. W praktyce oznacza to, że są one przydatne w zasadzie... nigdy 🙂 Nie są bezużyteczne, ale na pewno są niewystarczające do rozwiązywania większości problemów obliczeniowych. Jeśli w rzeczywistości stykamy się z potrzebą rozwiązania równania różniczkowego, to jest to zazwyczaj równanie wyższego rzędu i wtedy potrzeba czegoś jeszcze. Weźmy dla przykładu problem swobodnie odbijającej się od podłoża sprężystej piłki. Czytaj dalej Równania różniczkowe wyższych rzędów

Rok zerowy

Rok zerowy

Czy zastanawialiście się kiedyś nad problemem roku zerowego? Czy był w ogóle taki rok? Konkretnie, czy Jezus narodził się w pierwszym roku naszej ery czy może wcześniej? W zasadzie w internecie można znaleźć sporo dywagacji na ten temat, ale opinia jest raczej zgodna - nie ma czegoś takiego jak rok zerowy.  No dobrze, ale jeśli założymy, że Jezus urodził się 25 grudnia roku pierwszego (choć podobno był to raczej wrzesień), to pierwsze urodziny obchodził w drugim roku naszej ery, prawda? No jest problem. Na szczęście mamy XXI wiek i sprawdzone narzędzia do rozwiązywania problemów obliczeniowych. Dlaczego by tak nie spytać o istnienie roku zerowego naszego ulubionego programu? Czytaj dalej Rok zerowy

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