Simulink - przykład zastosowania

Dlaczego Simulink – przykład

(kontynuacja  wpisu poprzedniego)

Gotowe Simulinkowe modele wykorzystane w tym wpisie są dostępne na stronie MATLAB Central. (Załączona prezentacja jest w języku hebrajskim, jednak opisy modeli są po angielsku).

Wyobraźmy sobie dosyć ambitne zadanie, jakim jest zaprogramowanie systemu sterowania kosmicznego lądownika. Sytuacja przedstawia się następująco: z kosmosu w stronę Ziemi zmierza lądownik. Naszym zadaniem jest opracowanie systemu sterowania, który będzie sterował pracą silników w taki sposób, by obiekt wylądował bezpiecznie na powierzchni planety. Jak zabrać się za takie zadanie? Można oczywiście zbudować kilka prototypowych lądowników, wynieść je w kosmos i posyłać kolejno w stronę Ziemi, na gorąco sprawdzając pomysły na najlepszy system sterowania. Lepszym rozwiązaniem jest jednak budowa matematycznego modelu obiektu, na którym bezpiecznie będzie można testować różne koncepcje sterowania. Simulink stworzony został właśnie w takim celu.

Czytaj dalej Simulink - przykład zastosowania

Simulink

Czym jest Simulink?

Simulink - ekran startowy
Czym jest Simulink i dlaczego ktoś miałby chcieć z niego korzystać? To proste pytania, na które nie tak łatwo odpowiedzieć. Może to  od razu budzić zrozumiałą podejrzliwość, bo intuicyjnie czujemy, że jeśli nie można w łatwy sposób przedstawić zalet rozwiązania, to pewnie oznacza, że tych zalet nie ma. W tym wypadku sprawa jest nieco bardziej skomplikowana. Można sobie wyobrazić problem z przedstawieniem mieszkańcom Malediwów uroków jazdy na sankach w zimie. Teoretycznie można to zrobić, ale jak ktoś nie widział śniegu na oczy, to raczej nie zrozumie, zwłaszcza, jeżeli streścimy sprawę w dwóch zdaniach. Przesadnie dokładne i rozbudowane opisy równie rzadko bywają skuteczne choćby ze względu na fakt, że takie opisy są nudne. Wynika to z tego, że każdy z różnych opowieści coś tam o śniegu wie, tylko każdy coś innego i ciężko dostosować przekaz do wiedzy konkretnego słuchacza.

Czytaj dalej Simulink

GUIDE - zapisywanie wyników

MATLAB GUIDE

MATLAB GUIDE prawdopodobnie powoli zacznie odchodzić na emeryturę, jednak póki co jest jeszcze popularnym narzędziem. GUIDE jest intuicyjny w użyciu, jednak od czasu do czasu pojawiają się problemy z osiągnięciem przez użytkownika zamierzonego efektu. Dziś o dosyć częstym problemie – jak zmusić narzędzie do zapisania wyniku pracy w formie matlabowej zmiennej. W czym rzecz? Programy tworzone z pomocą GUIDE nie muszą stanowić zamkniętego, gotowego rozwiązania jakiegoś problemu. Zazwyczaj są jedynie pomocą na drodze do osiągnięcia końcowego wyniku. Często zdarza się, że chcemy przetworzyć jakieś dane i pośredni wynik zamierzamy poddać dalszej analizie w MATLABie, a tutaj GUIDE nie chce od razu współpracować. Poniżej program, który przemnaża dane wejściowe przez dwa. Czytaj dalej GUIDE - zapisywanie wyników

Uprzejmator - aktualizacja

Rozpoznawanie płci mówcy na podstawie dźwięku głosu

Projekt uprzejmator, który zrealizowałem kilka miesięcy temu, dotyczył małego elektronicznego awatara, którego przeznaczeniem było uprzejme wysłuchiwanie kierowanych do właściciela słów (w jego zastępstwie). Uprzejmator potrafi skierować głowę w stronę źródła dźwięku i podtrzymać „konwersację” losową, lecz uprzejmą uwagą. W zasadzie działa to dobrze. Pomyślałem jednak, że może warto by było rozwinąć nieco projekt – uwagi kierowane do rozmówcy mogą być nieco bardziej zróżnicowane, na przykład ze względu na płeć. Nie chodzi tu o żadną planowaną dyskryminację, po prostu wydaje mi się, że wypowiedzenie do mężczyzny słów „świetna fryzura” może mieć inne efekty niż w przypadku skierowania tych samych słów do kobiety. Jeśli kogoś to nie przekonuje, to jest jeszcze jeden argument – szacunek dla języka polskiego. Zasady deklinacji wymuszają na nas stosowanie odmiennych końcówek wyrazów w zdaniach kierowanych do mężczyzn i kobiet. Cokolwiek by nie było motywacją, problem jest jeden: jak sprawić, by maszyna rozpoznała płeć rozmówcy.
Czytaj dalej Uprzejmator - aktualizacja

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