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.

Programowanie LEGO Mindstorms EV3 z użyciem Simulinka

Zabawa na poważnie

Klocki LEGO większości z nas kojarzą się z beztroską zabawą w dzieciństwie, gdy czas nie odgrywał żadnej roli, kluczowe było natomiast stworzenie konstrukcji, która efektownie zapełni nasz plac budowy, skutecznie ochroni przed atakami nieprzyjaciela, a przy okazji wzbudzi podziw w oczach zapatrzonych w nas rodziców i dziadków. Zapewne dużo mniej osób miało styczność z serią LEGO Mindstorms, w której oprócz samych klocków znajdziemy także zestaw podzespołów elektromechanicznych, takich jak czujniki czy serwomotory oraz kontrolująca je jednostka centralna. Zestaw LEGO Mindstorms dzięki połączeniu tych wszystkich wymienionych elementów w całość pozwala nam na tworzenie programowalnych robotów.
Czytaj dalej Programowanie LEGO Mindstorms EV3 z użyciem Simulinka

ThingSpeak - przykłady

 

ThingSpeak - przykłady

Do korzystania z ThingSpeak potrzebne jest nam źródło danych, stałe połączenie z internetem oraz odrobina cierpliwości do czytania dokumentacji. ThingSpeak współpracuje z przeróżnymi systemami i siłą rzeczy nie istnieje uniwersalna formuła, która pozwoliłaby na natychmiastową konfigurację systemu w każdym przypadku. Na szczęście czytanie dokumentacji w przypadku ThingSpeak nie sprawia kłopotu, a dużym ułatwieniem na start są liczne przykłady.

Czytaj dalej ThingSpeak - przykłady

Dokładność numeryczna

Poniższy wpis autorstwa pana Grzegorza Knora otrzymał wyróżnienie w naszym czerwcowym konkursie

Wstęp

Poniższy wpis bazuje na wątku dokładność numeryczna z polskiego forum matlab.pl.
Otóż w 2009 roku zetknąłem sie z problemem, który może być zilustrowany za pomocą następującego pseudokodu:

Dla każdego k ze zbioru [0,1, 0,2, 0,3,... 5]

Jeśli zaokrąglona wartość k jest równa k

Wydrukuj k

Czytaj dalej Dokładność numeryczna

MATLAB - Zliczanie twarzy ze zdjęcia tłumu

Poniższy wpis pana Łukasza Wyporka zapewnił autorowi pierwsze miejsce w naszym czerwcowym konkursie

MATLAB - Zliczanie twarzy ze zdjęcia tłumu

29 kwietnia 2015 r. na Rynku w Krakowie miał miejsce wiec wyborczy Janusza Korwina-Mikkego. Byłem bardzo ciekawy, ile osób przyszło na spotkanie - niestety - liczyć głów na zdjęciu mi się nie chciało. Postanowiłem więc wykorzystać do tego celu środowisko MATLAB, pisząc krótki program zliczający głowy na zdjęciu za mnie.

Całość zajęła (uwaga!) 9 linii kodu. I to jest właśnie fajne w bibliotekach dołączonych do MATLABa - wystarczy z nich skorzystać, a cała „brudna” robota wykonywana jest za nas.

% Create a cascade detector object.
faceDetector = vision.CascadeObjectDetector();
faceDetector.MinSize = [20 22];
faceDetector.MergeThreshold = 3;
I = imread('.\zdjecie_tlumu.jpg');
bboxes = step(faceDetector, I);
IFaces = insertObjectAnnotation(I, 'rectangle', bboxes, 'Twarz', 'LineWidth', 10);
count = size(bboxes)
figure, imshow(IFaces), title(['Ilość wykrytych twarzy: pomiędzy ' int2str(count(1)*1.2) ' a ' int2str(count(1)*1.8) ]);
Rysunek 1 Program w środowisku Matlab
Rysunek 1 Program w środowisku Matlab

Czytaj dalej MATLAB - Zliczanie twarzy ze zdjęcia tłumu

Dane z tabel WWW - regular expression

Dane z tabel WWW

Jeśli ktoś publikuje jakieś dane w internecie, to robi to zazwyczaj w taki sposób, by można się było z tymi danymi łatwo zapoznać. Jeśli danych jest dużo, to dobrym zwyczajem jest, poza umieszczeniem ich w tabeli html, udostępnienie pliku xls, csv, czy choćby txt. Dzięki temu użytkownik będzie miał możliwość łatwego pobrania danych i ich dalszej analizy. Gdy jednak gotowy plik z danymi nie istnieje, nie wszystko stracone. Są sposoby, by dość łatwo skopiować dane ze strony www bezpośrednio w środowisku MATLAB. Pomagają w tym wyrażenie regularne.
Czytaj dalej Dane z tabel WWW - regular expression

Konkurs!

Konkurs

Jeżeli MATLAB skutecznie pomaga Ci w pracy, na studiach lub w realizacji Twojego hobby, weź udział w naszym KONKURSIE na ciekawy wpis blogowy i podziel się swoim doświadczeniem!

Tematem wpisu może być opis:

  • nietypowego wykorzystania oprogramowania,
  • projektu wykonanego w środowisku MATLAB&Simulink,
  • zastosowania ww. środowiska w wybranej dziedzinie,
  • najbardziej przydatnych dla Ciebie funkcjonalności.

Najciekawsze wpisy opublikujemy na MATLABlogu, zaś zwycięzcę nagrodzimy plecakiem z logo firmy MathWorks!

Na zgłoszenia czekamy do 31 lipca pod adresem konkurs@ont.com.pl 🙂

Nadesłanie pracy konkursowej jest równoznaczne z akceptacją regulaminu konkursu i wyrażeniem zgody na przetwarzanie danych osobowych przez firmę ONT.

Regulamin konkursu:
http://www.ont.com.pl/…/Regulamin-konkursu_Wpis-MATLABlog.p…

 

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