Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

Podobne dokumenty
Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Pakiety matematyczne INP2708W,L

Informatyka. Wykład 0. Witold Dyrka 13/2/2012

1 Podstawy c++ w pigułce.

Komputerowe Wspomaganie Obliczeń. dr Robert Kowalczyk

Wprowadzenie do środowiska

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

KOTLIN. Język programowania dla Androida

1 Podstawy c++ w pigułce.

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

MATLAB. Dubacki Mariusz WFAiIS 2012

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

PRZEWODNIK PO PRZEDMIOCIE

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH. Dr hab. inż. Jacek Kucharski, prof. PŁ Dr inż. Piotr Urbanek

Naukowe Koło Nowoczesnych Technologii

Podstawy i języki programowania

Matlab Składnia + podstawy programowania

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Podstawy Informatyki Computer basics

Zanim zaczniemy GNU Octave

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

do MATLABa programowanie WYKŁAD Piotr Ciskowski

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

MATLAB Z3. Rafał Woźniak. Warsaw, Faculty of Economic Sciences, University of Warsaw

Porównanie środowiska R z środowiskiem MatLab 7.1

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Język programowania C C Programming Language. ogólnoakademicki

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Wprowadzenie do biblioteki klas C++

Pakiet matlab odpowiednie narzędzie w nowoczesnym laboratorium. Karol Józefowicz. Państwowa Wyższa Szkoła Zawodowa w Lesznie, Instytut Politechniczny

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Informatyka kl. 1. Semestr I

Zaliczenie przedmiotu:

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

ZASADY PROGRAMOWANIA KOMPUTERÓW

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Wymagania edukacyjne na ocenę z informatyki klasa 3

Programowanie (C++) NI 5

Rok akademicki: 2016/2017 Kod: JIS s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

Podstawy i języki programowania

Programowanie w języku Python. Grażyna Koba

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Programowanie obiektowe. Materiały przygotował: mgr inż. Wojciech Frohmberg

Podstawy MATLABA, cd.

PRZEWODNIK PO PRZEDMIOCIE

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

Elementy metod numerycznych - zajęcia 9

Programowanie w języku Swift : Big Nerd Ranch guide / Matthew Mathias, John Gallagher. Gliwice, cop Spis treści

Podstawy Programowania Obiektowego

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

Programowanie w języku C++ Grażyna Koba

PRZEWODNIK PO PRZEDMIOCIE

Podstawy Programowania 2

PWSZ w Tarnowie Instytut Politechniczny Elektrotechnika

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Metody numeryczne Laboratorium 2

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Webowy generator wykresów wykorzystujący program gnuplot

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Delphi podstawy programowania. Środowisko Delphi

Makropolecenia w Excelu

Spis treści. Przedmowa. Podstawy R

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Transkrypt:

MATLAB

Co to jest? program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich oraz do tworzenia symulacji komputerowych.

Nazwa Nazwa programu pochodzi od angielskich słów MATrix LABoratory, gdyż początkowo program ten był przeznaczony do numerycznych obliczeń macierzowych. Obecnie program ten potrafi znacznie więcej, cechuje go duża liczba funkcji bibliotecznych oraz duże możliwości rozbudowy przez użytkownika za pomocą pisania własnych funkcji. Posiada on swój język programowania, co umożliwia pisanie w pełni funkcjonalnych programów działających w środowisku Matlaba.

Grafika w Matlabie W zakresie grafiki Matlab umożliwia rysowanie dwu i trójwymiarowych wykresów funkcji oraz wizualizację wyników obliczeń w postaci rysunków statycznych i animacji. Możliwe jest pobieranie danych pomiarowych z urządzenia zewnętrznego przez porty w celu ich obróbki. Wszystko to powoduje, że program ten znajduje bardzo szerokie zastosowanie

Matlab cechuje obiektowy system graficzny: obiekty graficzne (nadrzędne okno graficzne, układ współrzędnych, okno menu, przyciski i suwaki etc.) są hierarchicznie uporządkowane w postaci drzewa - każdy obiekt ma jednego przodka i może mieć dowolną ilość potomków (dziedziczenie) każdy obiekt graficzny ma swoje właściwości (kolor, rozmiar, położenie etc.) Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane. Wczytywane obrazy są w pamięci zapisywane w postaci macierzy liczb double (w zakresie 0-1) lub liczb unit8 (zakres 0-255), obróbka obrazu polega na dokonywaniu operacji matematycznych na takiej macierzy.

Alternatywy Istnieją alternatywne odpowiedniki tegoż programu rozprowadzane na licencjach FLOSS, takie jak Scilab czy Octave, jednak nie są tak rozbudowane jak Matlab

Historia Pra-początki Matlab-a sięgają lat siedemdziesiątych, gdy w USA na zlecenie National Science Foundation powstały biblioteki języka Fortran do obliczeń macierzowych: Linpack i Eispack. Jeden z autorów tych bibliotek, Cleve Moler prowadził zajęcia z algebry liniowej na Uniwersytecie stanu Nowy Meksyk. Chcąc ułatwić życie swoim studentom napisał on w 1980 r. program, który umożliwiał korzystanie z tych bibliotek bez potrzeby programowania w Fortranie. Program ten napisany (także w Fortranie) w formie prostego interaktywnego języka poleceń i rozprowadzany na zasadach public domain był pierwowzorem Matlaba. W 1983 C. Moler oraz S. Bangert i J. Little (inżynier z Uniwersytetu Stanford) postanowili rozwinąć powyższy projekt - zastąpili Fortran językiem C i dodali zintegrowaną grafikę. Założyli oni firmę The MathWorks Inc., która do dziś zajmuje się rozwojem i sprzedażą pakietu Matlab. W 1985 roku pojawiła się pierwsza wersja programu.

Rodzaje plików M-pliki (*.m) Mex-pliki Mat-pliki pliki fig (*.fig)

Język programowania Język programowania pakietu Matlab jest pełnoprawnym językiem programowania wysokiego poziomu, o składni wzorowanej na języku C. Pozwala on na używanie funkcji i struktur, oraz umożliwia pisanie programów zorientowanych obiektowo. Tak jak wszystkie współczesne języki programowania wysokiego poziomu posiada on instrukcje sterujące takie jak: if, for, while, switch. Rezygnacja z trójargumentowej pętli for na rzecz tzw. notacji dwukropkowej skraca kod źródłowy, a więc i czas pisania.

W zakresie programowania obiektowego możemy: definiować własne klasy obiektów i metody (funkcje) je obsługujące, przeciążać (nadpisywać) funkcje i operatory, oraz dziedziczyć klasy obiektów. Zaawansowane możliwości programowania w Matlabie, duża ilość gotowych funkcji bibliotecznych (w tym implementacji metod numerycznych) oraz możliwości graficzne powodują że Matlab pozwala na rozwiązanie wielu problemów numerycznych w czasie znacznie krótszym, niż zajęłoby napisanie własnego kodu w C lub Fortranie.

Wszelkie wprowadzane i deklarowane dane (liczby, tekst) Matlab traktuje jako macierz - pojedyncza liczba jest traktowana jako macierz o wymiarze 1x1. Matlab wyróżnia następujące typy danych (wersja 5.x): double - macierz pełna. Liczby są reprezentowane w formacie zmiennoprzecinkowym z podwójną precyzją. W Matlabie możemy wykonywać operacje arytmetyczne tylko na liczbach typu double. char - typ tekstowy jakim jest dowolny napis. Formalnie jest to tak samo jak w języku C 8-bitowy typ całkowity (zakres 0-255). Dana liczba reprezentuje odpowiadający jej kod ascii. sparse - macierz rzadka. Elementy zerowe macierzy nie są zapamiętywane w pamięci komputera. W przypadku macierzy o dużej liczbie zer (macierze diagonalne, macierze rzadkie etc.) oszczędzamy pamięć oraz uzyskujemy skrócenie czasu obliczeń. struct - struktura. Tak jak w każdym języku programowania struktura jest typem danych zawierającym w swoich polach dane różnych typów. cell - macierz komórkowa (blokowa) - pojedynczymi elementami takiej macierzy mogą być nie tylko liczby ale i dowolne dane z powyższych typów. W macierzy komórkowej możemy przechować kilka macierzy o różnym wymiarze, tekst i strukturę jednocześnie. uint8-8-bitowy typ całkowity (zakres 0-255) przeznaczony do zapisywania w pamięci obrazów graficznych. Na tym typie danych nie można wykonywać żadnych operacji arytmetycznych. Charakterystyczne dla języka programowania Matlaba jest automatyczne rozpoznawanie typów zmiennych - nie występuje deklaracja typu (przykładowo w języku C przed użyciem zmiennej abc konieczna jest linia - "double abc;"). Matlab rozpoznaje typ zmiennej przy jej pierwszym użyciu, należy tylko odpowiednio ją wywołać.

Cechy narzędzia programistycznego Rozbudowany interfejs Duże możliwości (szczególnie przy pracy z macierzami) Bardzo dobry System pomocy help Łatwe tworzenie GUI programu Możliwość rozbudowy (dodatki, rozszerzenia, toolboxy, biblioteki) Możliwosć dołączania kodu napisanego w innych językach np. C Tworzenie dokumentacji

Dziękuję za uwagę

Przykłady do pokazania: help gui mex dokumentacja podpowiadanie przetwarzanie sygnałów obrazów w automatyce współpraca z różnymi typami plików wiele przydatnych i łatwych w użyciu funkcji wizualizacja przekroju macierzy 3D z pliku graficznego RAW - obrazowanie medyczne blok_03 wizualizacja blok_04 latex blok_05 GUI najpierw trochę teorii potem środowisko trochę przykładów