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

Tabele w MATLAB

Tabele w MATLAB

W jednym z wcześniejszych wpisów zdarzyło mi się rozszyfrować nazwę programu MATLAB i wyjaśnić jej pochodzenie. Napisałem tam też, że pomimo licznych zmian, jakie zaszły w środowisku MATLAB przez ostatnie dekady, macierz to nadal podstawowy typ danych. Przechowywanie danych w macierzy jest najczęściej bardzo wygodnie i w wielu zastosowaniach po prostu naturalne. Nie jest tak jednak zawsze i są sytuacje, gdy zwykła macierz to za mało.

Czytaj dalej Tabele w MATLAB

MATLAB za darmo

MATLAB za darmo - to możliwe.

Gdzie można zdobyć oprogramowania MATLAB za darmo? Pytanie nie wszystkim wydaje się naiwne i pada dosyć często w kontekście wykorzystania programu na użytek niekomercyjny. Najczęściej darmochą zainteresowani są oczywiście studenci, ale nie tylko, bo jest masa hobbystów, którzy chcieliby poznać program. Co prawda dla studentów od zawsze dostępna jest licencja na oprogramowanie w specjalnej cenie, jednak jak się jest studentem to trochę tych $90 szkoda. Z drugiej strony, jak się nie jest studentem, to niekomercyjna wersja oprogramowania jest nawet odrobinę droższa. No i okazuje się, że jest wyjście z tej sytuacji. Dzięki portalowi Coursera.org każdy może zostać studentem, a dodatkowo jest szansa na pozyskanie czasowej licencji na oprogramowanie MATLAB  całkowicie bezpłatnie. Oczywiście wyłącznie na użytek prywatny, niekomercyjny.

matlab

Czytaj dalej MATLAB za darmo

MATLAB Tutorial #7

Tworzenie skryptów

W zasadzie, do tej pory na każdym kroku podkreślałem, że MATLAB nie powinien być postrzegany wyłącznie jako język programowania. Jest to przede wszystkim środowisko obliczeniowe, w uproszczeniu można nawet powiedzieć: rozbudowany kalkulator. Niemniej jednak, wraz z rosnącą złożonością problemów obliczeniowych, przed jakimi stajemy, zmiana podejścia do programu jest nieunikniona. Realizując poprzednią część poradnika stworzyłeś procedurę, która w oparciu o wejściowe dane umożliwiła wyświetlenie wykresu przedstawiającego miesięczną liczbę oddanych do użytku mieszkań poczynając od roku 1991 po dzień dzisiejszy. Do tego doszło poszukiwanie miesiąca, dla którego liczba mieszkań osiągnęła maksimum oraz wszystkich nietypowych miesięcy, gdy liczba oddanych do użytku mieszkań przekroczyła dowolnie wskazany poziom. Zrealizowanie tego wymagało wpisania kilkunastu linii kodu. Nie jest to zbyt dużo i obiektywnie na to patrząc, stworzenie tego kodu nie było trudne. Jednak, jeśli przyszłoby nam wykonać identyczną analizę, ale ograniczoną np. wyłącznie do mieszkań „spółdzielczych”, znaczną część kodu należałoby wpisać ponownie Choć wymagane modyfikacje kodu są niewielkie, wklepywanie niemalże wszystkiego od początku w wierszu poleceń, to ewidentnie strata czasu. Na tym etapie warto sięgnąć po narzędzie, jakim jest skrypt.
Czytaj dalej MATLAB Tutorial #7

Transformacja Fouriera - zrozumieć z MATLABem

Transformacja Fouriera

Transformata Fouriera to jedno z podstawowych narzędzi dostępnych w MATLABie.  Bardzo często użytkownicy błędnie łączą najpopularniejszą funkcję związana z transformacją Fouriera (fft – fast Fourier transform) z przybornikiem Signal Porcessing Toolbox. W rzeczywistości funkcja fft jest częścią podstawowego pakietu MATLAB. Jest to w końcu naprawdę "podstawowa" funkcja i prawdopodobnie dla wielu użytkowników będzie dosyć toporna w użyciu. Wiąże się to z koniecznością „obrobienia” wyników zwracanych przez fft w przypadku najpopularniejszych zastosowań. Korzystając z Signal Processing Toolbox możemy liczyć na pewne ułatwienia. Funkcje takie jak periodogram czy pwelch zwracają nam wyniki w przyjaźniejszej postaci. Nie będę się w tym wpisie zagłębiać w temat działania powyższych funkcji. Chciałbym natomiast przedstawić, w jaki sposób MATLAB pomógł mi swojego czasu zrozumieć, o co w tej całej transformacji Fouriera tak naprawdę chodzi.

Czytaj dalej Transformacja Fouriera - zrozumieć z MATLABem

Matlab Tutorial #6

Choć MATLAB może być traktowany jako język programowania, na pewno może zaskoczyć nietypowymi, dla "rasowego" programisty rozwiązaniami. Idea jest w zasadzie taka, by użytkownik środowiska MATLAB analizując dane nie musiał uciekać się na każdym kroku do tworzenia funkcji pomocniczych i wykorzystywania konstrukcji programistycznych takich jak pętle i instrukcje warunkowe. One w MATLABie oczywiście istnieją  i są w wielu sytuacjach niezbędne, jednak wiele można zrobić bez nich.

Czytaj dalej Matlab Tutorial #6

Matlab Tutorial #5

Przekształcanie macierzy

 

Na dane związane z budownictwem mieszkaniowym, które służą nam jako baza do zapoznania się z MATLABem, można patrzeć naprawdę w różny sposób. Wierzę, że jeśli chcesz poeksperymentować i wyciągnąć z pliku interesujące Cię informacje, to jesteś już w stanie zrobić to sam. Niemniej jednak chciałem zademonstrować Ci działanie kolejnej funkcji MATLABa, która przy wstępnej pracy z danymi macierzowymi może się przydać.

Przypuśćmy, że chcemy zaobserwować, jak z miesiąca na miesiąc zmieniała się ogólna liczba oddanych do użytku mieszkań, począwszy od roku 1991 a kończąc na roku 2011. Możemy oczywiście wybierać poszczególne wektory dla poszczególnych lat i sklejać je potem w całość ale możemy też zrobić to sprytniej. Czytaj dalej Matlab Tutorial #5

Centralne twierdzenie graniczne i MATLAB

Nie tak dawno odbyłem bardzo ciekawą rozmowę dotyczącą polityki. Rozmowy w tym temacie nie są zazwyczaj pasjonujące, ale nie tym razem. Mój rozmówca zastanawiał się, jak to jest możliwe, że tak ważną rzecz, jak wyniki wyborów parlamentarnych sonduje się na podstawie badania grupy jedynie 1000 osób. Czy to w ogóle ma to sens? Czy czasem nie ma tu jakiegoś przekrętu? Jak to w ogóle jest możliwe, że sondowana jest tak niewielka grupa osób, a potem podawane są przybliżone wyniki z pewnym, względnie niewielkim, błędem statystycznym? Jak ten błąd jest liczony i dlaczego jest taki, a nie inny?
Choćby nie wiem ile wysiłku włożyć w energiczną gestykulację, naprawdę ciężko jest w rozmowie odpowiedzieć w jasny sposób na postawione pytania i rozwiać wątpliwości. O wiele prościej przedstawić wszystko wykorzystując sprawdzone narzędzie, jakim jest MATLAB.

Czytaj dalej Centralne twierdzenie graniczne i MATLAB

Wpis o tym, jak usunąć kreseczki z obrazka

 

ONTLogo

Jak już ostatnio zachwalałem, w MATLAbie można tworzyć naprawdę piękne wykresy. Każdy, nawet początkujący użytkownik jest w stanie stworzyć przejrzysty i dobrze opisany wykres dzięki kilku prostym poleceniom, ewentualnie z drobną pomocą narzędzia Plot Tools. Z moich obserwacji wynika jednak, że jest grupa użytkowników, którym czytelny wykres do szczęścia nie wystarczy. Trafiają się osoby, które pragną, by wykres był po prostu perfekcyjny (co każdy oczywiście rozumie na swój własny, indywidualny sposób). Uświadomiła mi to kiedyś pewna pani Profesor, uczestniczka szkolenia z podstaw MATLABa, gdy w trakcie zajęć zadała proste z pozoru pytanie: jak usunąć z wykresu te małe, pomocnicze kreseczki. Niektórym wydaje się, że dla trenerów prowadzących różnego rodzaju kursy pytania proste i często powtarzające się muszą być jakąś straszną katorgą. Nic bardziej mylnego. Proste pytanie najczęściej umożliwia udzielania skomplikowanej odpowiedzi, co jednej strony pozwala zyskać w oczach kursantów uznanie i szacunek, z drugiej strony zmniejsza ilość czasu kursu, która mogłaby być wykorzystana na zadanie jakiegoś trudnego pytania. Nie daj Boże takiego,  na które trener nie zna odpowiedzi. Ponieważ pytanie było kolejnym z rzędu, nie miałem ochoty na szczególne rozwlekanie odpowiedzi i ograniczyłem się do stwierdzenia, że jeśli na wykresie przy pomocy polecenia grid on zostanie umieszczona pomocnicza siatka,  to usunąć ją można poleceniem grid off.

wykres

Czytaj dalej Wpis o tym, jak usunąć kreseczki z obrazka