Informatyka INP2005. Inżynieria Biomedyczna Semestr zimowy 2017/2018

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

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

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

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

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

Programowanie w języku Matlab

Wprowadzenie do środowiska

Pakiety matematyczne INP2708W,L

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Wstęp do Programowania Lista 1

MATLAB - podstawy użytkowania

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

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

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

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA

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

Podstawowe operacje na macierzach, operacje we/wy

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

Wykład 4. Matlab cz.3 Tablice i operacje na tablicach

Elementy metod numerycznych - zajęcia 9

Wprowadzenie do systemu Scilab

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Matlab Składnia + podstawy programowania

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

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

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Przetwarzanie sygnałów

PWSZ w Tarnowie Instytut Politechniczny Elektrotechnika

Matlab MATrix LABoratory Mathworks Inc.

Informatyka. MATLAB Zasady zaliczenia Wykład. Plan tematów. Literatura. Wykład 1 45 min. 10/7/2013

2 Przygotował: mgr inż. Maciej Lasota

Matlab Składnia + podstawy programowania

MATLAB - laboratorium nr 1 wektory i macierze

Metody numeryczne Laboratorium 2

Java Podstawy. Michał Bereta

Podstawy Programowania C++

Matlab - zastosowania Matlab - applications. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

1 Podstawy c++ w pigułce.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Ćwiczenie 1. Wprowadzenie do programu Octave

1 Podstawy c++ w pigułce.

Wykład 4. Matlab cz.3 Tablice i operacje na tablicach

Wprowadzenie do Scilab: macierze

Wstęp do programowania. Różne różności

Ćwiczenie 1. Wprowadzenie do programu Octave

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Wykład 4: Klasy i Metody

Podstawy MATLABA, cd.

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Visual Basic for Application (VBA)

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Komputerowe Wspomaganie Obliczeń. dr Robert Kowalczyk

PRZEWODNIK PO PRZEDMIOCIE

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

-Instalacja R: -Instalacja RStudio:

Instalacja Pakietu R

Język ludzki kod maszynowy

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

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Zanim zaczniemy GNU Octave

Podstawowe operacje na macierzach

Wprowadzenie do pakietów MATLAB/GNU Octave

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Metody i analiza danych

Aplikacje w środowisku Java

Języki skryptowe w programie Plans

Wykresy i interfejsy użytkownika

Algorytmy i struktury danych. wykład 1

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

KARTA MODUŁU (część I, 2013/2014)

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

MATLAB Wprowadzenie. Literatura po polsku: Niektóre cechy MATLABa. Dlaczego warto poznać MATLABa? bo : Co to jest "Środowisko programowania" czyli IDE

Wykład 3 Składnia języka C# (cz. 2)

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

lekcja 8a Gry komputerowe MasterMind

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

Podstawy Programowania

Programowanie Komputerów

Wprowadzenie do programowania w SciLab: typy danych, wyrażenia, operatory, funkcje własne, skrypty.

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

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY

MATLAB. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE

PRZEWODNIK PO PRZEDMIOCIE

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne

Transkrypt:

Informatyka INP2005 Inżynieria Biomedyczna Semestr zimowy 2017/2018

Wykład 1 Sprawy organizacyjne O MATLABie Zapoznanie ze środowiskiem Wstęp do programowania w Matlabie: Typy zmiennych Odwoływanie się do elementów tablic i macierzy Podstawowe działania Podstawowe funkcje wbudowane

Wykład 1 Sprawy organizacyjne Czym jest MATLAB? Zapoznanie ze środowiskiem Wstęp do programowania w Matlabie: Typy zmiennych Odwoływanie się do elementów tablic i macierzy Podstawowe działania Podstawowe funkcje wbudowane

Zespół Dr inż. bogumil.konopka@pwr.edu.pl, p. 118/D1 Konsultacje: sr 12:00 14:00, pt 10:00 12:00 Ćwiczenia laboratoryjne Mgr inż. Maciej Bartuzel Mgr inż. Agnieszka Kazimierska Dr hab. Krystian Kubica, prof. PWr (p. 115/D1)

Plan wykładów 1. Wprowadzenie (historia, środowisko programistyczne, podstawowe komendy) 2. Skrypty. Instrukcje sterujące. Budowanie funkcji. 3. Optymalizacja obliczeń. Przetwarzanie tekstu. Wizualizacja danych. Praca z plikami. Strukturyzacja danych. 4. Graficzny interfejs użytkownika. 5. Interpolacja oraz obliczenia numeryczne. 6. Rekurencja. Programowanie obiektowe. 7. Kolokwium termin I. 8. (pierwsza połowa wykładu) Kolokwium termin II.

Warunki zaliczenia Kolokwium pierwszy termin - 9 stycznia 2018 Kolokwium termin poprawkowy 23 stycznia 2018 Zaliczenie > 50% pkt Do końcowego wyniku będą wliczane punkty za aktywność na wykładach

Materiały Slajdy, listy zadań i inne http://www.kotulska-lab.pwr.edu.pl (zakładka For Students ) Książki: B. Mrozek, Z. Mrozek. MATLAB i Simulink. Poradnik użytkownika. Wydanie III. Helion 2010. R. Pratap. MATLAB 7 dla naukowców i inżynierów. PWN 2010. Internet: MATLAB Documentation Center http://www.mathworks.com/help/matlab/

Wykład 1 Sprawy organizacyjne O MATLABie? Zapoznanie ze środowiskiem Wstęp do programowania: Typy zmiennych Odwoływanie się do elementów tablic i macierzy Podstawowe działania Podstawowe funkcje wbudowane

MATLAB MATrix LABoratory Matlab to: język programowania wysokiego poziomu interaktywne środowisko programistyczne bardzo szeroki zbiór bibliotek funkcji

Poziomy języków programowania MATLAB http://www.codecommit.com/blog/java/defining-high-mid-and-low-level-languages

Poziomy języków programowania MATLAB Assembler Java Matlab ;http://www.8052.com/add16.phtml ;Step 1 of the process MOV A,R7 ;Move the low-byte into the accumulator ADD A,R5 ;Add the second low-byte to the accumulator MOV R3,A ;Move the answer to the low-byte of the result ;Step 2 of the process MOV A,R6 ;Move the high-byte into the accumulator ADDC A,R4 ;Add the second high-byte to the accumulator, plus carry. MOV R2,A ;Move the answer to the high-byte of the result ;Step 3 of the process MOV A,#00h ;By default, the highest byte will be zero. ADDC A,#00h ;Add zero, plus carry from step 2. MOV MOV R1,A ;Move the answer to the highest byte of the result public class MyFirstJavaProgram { } public static void main(string []args) { int a=2; int b=3; int c; c=a+b; System.out.println(c); } a=2; b=3; c=a+b ;Return - answer now resides in R1, R2, and R3. RET http://www.codecommit.com/blog/java/defining-high-mid-and-low-level-languages

MATLAB MATrix LABoratory Matlab to: język programowania wysokiego poziomu interaktywne środowisko programistyczne bardzo szeroki zbiór bibliotek funkcji

MATLAB środowisko programistyczne

MATLAB środowisko programistyczne Zarządzanie kodem Tworzenie Modyfikowanie Testowanie Zarządzanie plikami i danymi

MATLAB MATrix LABoratory Matlab to: język programowania wysokiego poziomu interaktywne środowisko programistyczne bardzo szeroki zbiór bibliotek funkcji

MATLAB zbiór bibliotek Biblioteki do operacji blokowo-macierzowych LAPACK (Linear Algebra Package) BLAS (Basic Linear Algebra Subroutines) Toolbox-y Bioinformatics Toolbox Curve Fitting Toolbox Financial Toolbox Neural Networks Toolbox Parallel Computing Toolbox Symbolic Math Toolbox.

MATLAB MATrix LABoratory Matlab umożliwia: Interaktywną analizę danych przetwarzanie obrazów i sygnałów, analizę statystyczną, wizualizację Przeprowadzanie obliczeń numerycznych Budowę i testowanie algorytmów Budowę i symulację modeli matematycznych Tworzenie aplikacji z interfejsem graficznym

Historia Matlaba Lata `70: Biblioteki LINPACK i EISPACK do obliczeń numerycznych 1980: Cleve Moler opracowuje pierwszą wersję MATLABA, w oparciu o język FORTRAN oraz fragmenty bibliotek LINPACK i EISPACK Wczesne lata `80: Jack Little, Steve Bangert przepisują MATLAB w jezyku C M-pliki, toolboxy, zwiększone możlowości graficzne Powołanie firmy The MathWorks in California in 1984. http://www.mathworks.com/company/newsletters/articles/the-origins-of-matlab.html http://www.mathworks.com/company/aboutus/founders/index.html Autorzy LINPACK: Jack Dongarra, Cleve Moler, Pete Stewart, and Jim Bunch (1978) Jack Little i Cleve Moler prezes i główny matematyk MathWorks

Dostęp do MATLABa MATLAB jest środowiskiem komercyjnym. Licencja studencka : 69 lub 35 (http://www.mathworks.com/academia/student_version/?s_tid=acmain_st-pop-ml_gw_bod) Dostęp do Matlaba Ćwiczenia laboratoryjne s. 015/D1 Platforma Obliczeń Kampusowych PLATON U3 https://wcss.cloud.pionier.net.pl/

Rejestracja do usługi Platon U3. 1. Wejść na stronę https://wcss.cloud.pionier.net.pl/index.php?page=register 2. Wypełnić pola. UWAGA! W polu e-mail podać adres skrzynki uczelnianej! 3. Sprawdzić dane. 4. Zapoznać się z regulaminem. 5. Wybrać hasło. 6. Potwierdzić rejestrację po otrzymaniu maila na skrzynkę studencką. 7. Konto zostanie aktywowane po zatwierdzeniu przez administratora systemu.

Programy zastępcze GNU Octave 4.2.1 (https://www.gnu.org/software/octave/) Identyczna składnia, wiele podobnych bibliotek SciLab 6 (http://www.scilab.org/) Zbliżona składnia istnieją konwertery R (http://cran.at.r-project.org/bin/windows/base/) Inne środowisko, inna składnia, ale funkcjonalność taka sama lub większa Dużo darmowych bibliotek

Wykład 1 Sprawy organizacyjne Czym jest MATLAB? Zapoznanie ze środowiskiem Wstęp do programowania: Typy zmiennych Odwoływanie się do elementów tablic i macierzy Podstawowe działania Podstawowe funkcje wbudowane

Pulpit MATLAB Folder roboczy Przestrzeń robocza Okno poleceń Historia poleceń

Tryb pracy Interaktywne wpisywanie poleceń w linii komend Uruchamianie skryptów (sekwencji poleceń), programów i aplikacji.

Dokumentacja - Help HELP pierwsze miejsce, w którym należy szukać informacji o funkcjach MATLABa Można wpisać nazwę funkcji Można poruszać się po hiperłączach MathWorks Documentation Center http://www.mathworks.com/help/

Wykład 1 Sprawy organizacyjne Czym jest MATLAB? Zapoznanie ze środowiskiem Wstęp do programowania: Typy zmiennych Odwoływanie się do elementów tablic i macierzy Podstawowe działania Podstawowe funkcje wbudowane

Typy zmiennych typ numeric Zmienne liczbowe numeric typ double (domyślny) format zmiennoprzecinkowych, zapewnia dokładność 15 17 liczb po przecinku, 8 bajtów (64 bity) zakres (~3.4 x 10 38, ~-3.4 x 10 38 ) typ single format zmiennoprzecinkowy, zapewnia dokładność 6 9 liczb po przecinku, 4 bajtów (32 bity), (~3.4 x 10 38, ~-3.4 x 10 38 ) typy intx - (np. int8, int16) liczby całkowite zapisane na X bitach typy uintx (np. uint8, uint16) liczby całkowite bez znaku

Typy zmiennych typ numeric >> a = 4; %domyślnie a jest typu double >> b = single(a); %zamiana na typ single >> whos %wyświetlenie informacje o zmiennych w przestrzeni roboczej Name Size Bytes Class a 1x1 8 double b 4x4 4 single

Typy zmiennych typ char Zmienne znakowe typ char pojedynczy znak - 2 bajty (16 bitów) łańcuchy znaków tworzą jednowymiarowe tablice zmiennych typu char aby utworzyć wielowymiarową tablicę znaków trzeba skorzystać ze zmiennych typu cell (o tym będzie na kolejnych wykładach)

Typy zmiennych typ char >> znak='a'; >> znaki='abc'; >> whos Name Size Bytes Class Attributes znak 1x1 2 char znaki 1x3 6 char

Typy zmiennych typ logical Zmienne logiczne: reprezentują stany false oraz true za pomocą liczb 0 oraz 1 niektóre funkcje i operatory MATLABa zwracają zmienne logiczne by sygnalizować spełnienie lub niespełnienie określonego warunku ==, <, >, >=, =<, &,, xor mogą być wykorzystywane do odwoływania się do elementów tablic (o tym za chwilę)

Typy zmiennych typ logical >> a=5; %zadeklarowanie wartości zmiennej a >> b=4; %zadeklarowanie wartości zmiennej b b = 4 >> a==b % czy a jest równe b? ans = 0 >> a>b % czy a jest większe od b? ans = 1 >> a<b ans = 0 >> a>=b ans = 1 >> a<=b ans = 0 >> a & b %koniunkcja - logiczne i ans = 1 >> a b %alternatywa - logiczne lub ans = 1 >>~a %zaprzecznie ans = 0 >>xor(a,b) % kto wie?? ans = 0

Typy zmiennych typ logical >> a=5; %zadeklarowanie wartości zmiennej a >> b=4; %zadeklarowanie wartości zmiennej b b = 4 >> a==b % czy a jest równe b? ans = 0 >> a>b % czy a jest większe od b? ans = 1 >> a<b ans = 0 >> a>=b ans = 1 >> a<=b ans = 0 >> a & b %koniunkcja - logiczne i ans = 1 >> a b %alternatywa - logiczne lub ans = 1 >>~a %zaprzecznie ans = 0 >>xor(a,b) % alternatywa wykluczająca - exclusive or ans = 0

Inne typy zmiennych struct struktury - grupują związane ze sobą dane dowolnego typu w polach zdefiniowanych przez użytkownika (będzie na innym wykładzie) cell typ komórkowy grupują dane dowolnego typu w indeksowanych polach (będzie na innym wykładzie) Od wersji 2013b istnieją też: categorical zmienne kategoryczne wartości ze zdefiniowanego przez użytkownia dyskretnego zbioru np. { kobieta, mężczyzna }, { zimno, umiarkowanie, gorąco } table - zmienne do przechowywania tabel danych każde pole w tabeli może być innego typu, ale ilość wierszy w każdej kolumnie musi być taka sama

Tablice, macierze, wektory. Każda zmienna w MATLABie jest tablicą (ang. array). Macierze (ang. matrix) to szczególny przypadek tablic: Mają dwa wymiary Wektory to szczególny przypadek macierzy: Długość w ramach jednego wymiaru jest równa 1

Tworzenie tablic deklarowanie wartości >> V=[1 2 3 4] V = 1 2 3 4 >> V=[1, 2, 3, 4] V = 1 2 3 4 >> M=[1 2; 3 4] % ; rozdziela wiersze M = 1 2 3 4

Tworzenie tablic deklarowanie wartości >> V=[1 2 3 4] V = 1 2 3 4 >> V=[1, 2, 3, 4] V = 1 2 3 4 >> M=[1 2; 3 4] % ; rozdziela wiersze M = 1 2 3 4 >> V=[ 1:4 ] %domyślny krok między elementami 1 V = 1 2 3 4 >> V=[0:0.25:1] % krok między elementami 0.25 V = 0 0.2500 0.5000 0.7500 1.0000 >> V=linspace(0, 1, 5) %elementy równomiernie rozmieszczone V = 0 0.2500 0.5000 0.7500 1.0000

Tworzenie tablic za pomocą funkcji >> M = rand(3) % liczby z rozkładu równomiernego M = 0.4898 0.7094 0.6797 0.4456 0.7547 0.6551 0.6463 0.2760 0.1626 >> M = randi(5,3) % liczby całkowite z rozkładu równomiernego U(1, 5) M = 1 2 4 3 3 2 5 2 3 % macierz o szczególnych właściwościach %statystycznych >> N=magic(3) N = 8 1 6 3 5 7 4 9 2 Inne funkcje: np. ones, zeros

Łączenie tablic >> A = [1 2 3]; >> B = [4 5 6]; >> C = [A B] % sklejenie wektorów w jednym wierszu C = 1 2 3 4 5 6 >> D = [A ; B] % każdy wektor utworzy oddzielny wiersz D = 1 2 3 4 5 6

Odwoływanie się do elementów tablic indeksowanie liniowe Przez numer elementu: >>a=d(2); >>b=d(4:7); >>c=d(end); 1 2 3 4 5 7 6 2 3 11 6 5 9 7 3 9 12 5 9 9 8 8 134 4 3 5 9 3 142 8 7 2 10 8 153 6 7

Odwołania do elementów tablic indeksowanie wierszowo-kolumnowe (1) Przez indeksy >> a=d(2, 4); >> b=d(1:2, 3); >> c=d(5, :); >> d=d(:, 1:2); 1 2 3 4 5 1 2 3 4 5 7 2 3 6 5 9 3 9 5 9 9 8 4 4 3 5 3 2 8 7 2 8 3 6 7

Odwołania do elementów tablic indeksowanie wierszowo-kolumnowe (2) Przez indeksy >> e=d(:,[1 3]); >> f =D(1:2:5, end) >> g=d(end-1, 1:2); Automatycznie utworzony wektor [1 3 5] 1 2 3 1 2 3 4 5 7 2 3 6 5 9 3 9 5 9 9 8 4 4 3 4 5 3 2 8 7 5 2 8 3 6 7

Odwołania do elementów tablic indeksowanie logiczne Przez zmienne logiczne: 1. Najpierw wygenerować odpowiednią macierz logiczną 2. Odwołać się za pomocą tej macierzy >>L=D<3; 7 2 3 6 5 9 3 9 5 9 9 8 4 4 3 5 3 2 8 7 2 8 3 6 7

Odwołania do elementów tablic indeksowanie logiczne Przez zmienne logiczne: 1. Najpierw wygenerować odpowiednią macierz logiczną 2. Odwołać się za pomocą tej macierzy >>L=D<3; Utworzona macierz logiczna L 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0

Odwołania do elementów tablic indeksowanie logiczne Przez zmienne logiczne: 1. Najpierw wygenerować odpowiednią macierz logiczną 2. Odwołać się za pomocą tej macierzy >>L=D<3; >>v=d(l) % powstaje wektor kolumnowy v= 2 2 2 7 2 3 6 5 9 3 9 5 9 9 8 4 4 3 5 3 2 8 7 2 8 3 6 7

Odwołania do elementów tablic indeksowanie logiczne Przez zmienne logiczne: 1. Najpierw wygenerować odpowiednią macierz logiczną 2. Odwołać się za pomocą tej macierzy >>L=D<3; >>D(L)=0; % wybrane elementy są zerowane %lub zamiast dwóch poprzednich: D(D<3)=0; 7 0 3 6 5 9 3 9 5 9 9 8 4 4 3 5 3 0 8 7 0 8 3 6 7

Najczęstsze błędy przy odwołaniach >>D = [1 2 3 4]; >> D(1.5) Subscript indices must either be real positive integers or logicals. >> D(10,20) Index exceeds matrix dimensions.

Wyszukiwanie elementów Funkcja find zwraca indeksy (liniowe lub wierszowe-kolumnowe) niezerowych elementów macierzy >>ind= find(d) ind = 1 2 3 4 7 8 9 >> ind = find(d==0) ind = 5 6 14 7 0 3 6 5 9 3 9 5 9 9 8 4 4 3 5 3 0 8 7 0 8 3 6 7

MATLAB jako kalkulator Oblicz wartość wyrażenia: x t = Ae γt/2 cos ωt + φ, ω = 2πf dla t=5 i dla wartości współczynników A=1, γ=0.2, f =1, φ=0. >> A=1; gamma=0.2; f=1; omega=2*pi*f; fi=0; t=5; >> x=a*exp(-gamma*t/2)*cos(omega*t+fi) x = 0.6065 Dwie funkcje wbudowane Inne podstawowe funkcje matematyczne np. : log2, log10, log, atan, asin, abs, sqrt,

Częste błędy przy liczeniu Chcemy wyliczyć wartość wyrażenia: arctg(log(ln(4(3 + 2)))) >> atan(log(ln(4(3+2))) atan(log(ln(4(3+2))) Error: Unbalanced or unexpected parenthesis or bracket. >> atan(log(ln(4*(3+2))) atan(log(ln(4*(3+2))) Error: Expression or statement is incorrect--possibly unbalanced (, {, or [. Prawidłowy zapis >> atan(log10(log(4*(3+2)))) ans = 0.4447 >> atan(log(ln(4*(3+2)))) Undefined function 'ln' for input arguments of type 'double'.

Działania macierzowe MATLAB domyślnie wykonuje działania na macierzach >> A=[1,2,3;2,-1,0] A = 1 2 3 2-1 0 >> B=[2-1 5; 4 0, 10] B = 2-1 5 4 0 10 >> A+B ans = 3 1 8 6-1 10 >> A-B ans = -1 3-2 -2-1 -10 >> A/B % w tym przypadku jest możliwe ans = -2.0000 1.2931 1.0000-0.4310

Działania macierzowe vs tablicowe (z kropką) A 1 2 3 2-1 0 B 2-1 5 4 0 10 >> A^2 Error using ^ Inputs must be a scalar and a square matrix. To compute elementwise POWER, use POWER (.^) instead. >> A*B Error using * Inner matrix dimensions must agree.

Działania macierzowe vs tablicowe (z kropką) A 1 2 3 2-1 0 B 2-1 5 4 0 10 >> A^2 %potęgowanie macierzowe Error using ^ Inputs must be a scalar and a square matrix. To compute elementwise POWER, use POWER (.^) instead. >> A.^2 %potęgowanie tablicowe ans = 1 4 9 4 1 0 1 2 2 2 3 2 2 2 1 2 0 2 >> A*B %mnożenie macierzowe Error using * Inner matrix dimensions must agree. >> A.*B %mnożenie tablicowe ans = 2-2 15 8 0 0 1*2 2*(-1) 3*5 2*4-1*0 0*10

MATLAB jako kalkulator c.d. Oblicz wartość wyrażenia: x t = Ae γt/2 cos ωt + φ, ω = 2πf dla tϵ[0,100] i dla wartości współczynników A=1, γ=0.2, f =1, φ=0. >> A=1; gamma=0.2; f=1; omega=2*pi*f; fi=0; t=[0:100]; >> x=a*exp(-gamma*t/2)*cos(omega*t+fi) Error using * Inner matrix dimensions must agree.

MATLAB jako kalkulator c.d. Oblicz wartość wyrażenia: x t = Ae γt/2 cos ωt + φ, ω = 2πf dla tϵ[0,100] i dla wartości współczynników A=1, γ=0.2, f =1, φ=0. >> x=a*exp(-gamma*t/2).*cos(omega*t+fi); >>size(x) %sprawdza wymiary macierzy ans= 1 101

Najprostsza funkcja graficzna Plot - rysowanie wykresów 2D >> plot(t,y) >>y2=-0.01*t + 1; >>plot(t,y,t,y2) % dwie krzywe na jednym wykresie

Kilka innych przydatnych funkcji (1) >>x=randn(1,100) % losowanie wektora liczb z rozkładu normalnego >> hist(x) %rysowanie histogramu

Kilka innych przydatnych funkcji (2) Suma -> sum >> x=randi(5,1,6) % losowy wektor liczb całkowitych x = 5 4 5 4 1 5 >> sum(x) % suma elementów ans = 24 PRZYKŁAD! Wylicz wartość średnią elementów wektora >> srednia = 1/length(x) * sum(x) % można też srednia = mean(x) srednia = 4 N x = 1 N i=1 x i

Kilka innych przydatnych funkcji (3) >>x %wyświetlenie zmiennej x = 5 4 5 4 1 5 >> cumsum(x) % suma kumulowana ans = 5 9 14 18 19 24 >> prod(x) %iloczyn elementów ans = 2000 >> length (x) % długość tablicy ans = 6 >> size (x) %wymiary tablicy ans = 1 6

Najważniejsze do zapamiętania: MATLAB to środowisko programistyczne oraz język programowania W MATLABie można pisać programy jak w Java, albo pracować interaktywnie wpisując polecenia w linii komend. W MATLABie mamy dostęp do olbrzymiej gamy wyspecjalizowanych funkcji i algorytmów nie ma potrzeby implementacji od podstaw