Programowanie w języku Matlab

Podobne dokumenty
do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

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

Algebra macierzy

MATLAB - laboratorium nr 1 wektory i macierze

Wprowadzenie do środowiska

Metody numeryczne I. Programy wspomagajace obliczenia Maxima. Janusz Szwabiński.

Matlab Składnia + podstawy programowania

Wprowadzenie do Scilab: macierze

MATLAB - podstawy użytkowania

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

Metody i analiza danych

Przy Matlabie istnieje duże społeczność wymieniająca się plikami, programami i poradami

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

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Wprowadzenie do Scilab: macierze

Podstawowe operacje na macierzach

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

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

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

Matlab Składnia + podstawy programowania

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

MATrix LABoratory. A C21 delta tvx444 omega_zero. hxx J23 aaa g4534 Fx_38

Wprowadzenie do Scilab: macierze

ŚRODOWISKO MATLAB WPROWADZENIE. dr inż. Dariusz Borkowski. Podstawy informatyki. (drobne) modyfikacje: dr inż. Andrzej Wetula

Matlab MATrix LABoratory Mathworks Inc.

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

Wykład 14. Elementy algebry macierzy

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

Macierze Lekcja I: Wprowadzenie

Macierze. Rozdział Działania na macierzach

Metody optymalizacji - wprowadzenie do SciLab a

ANALIZA DANYCH I PROCESÓW. Mgr inż. Paweł Wojciech Herbin

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

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

do MATLABa programowanie WYKŁAD Piotr Ciskowski

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

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski.

WPROWADZENIE DO ŚRODOWISKA SCILAB

Języki programowania wysokiego poziomu. PHP cz.2.

Wprowadzenie do programu Mathcad 15 cz. 1

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

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

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

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

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Podstawowe operacje na macierzach, operacje we/wy

Wprowadzenie do systemu Scilab

Podstawowe wyrażenia matematyczne

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

Laboratorium Programowanie Obrabiarek CNC. Nr H7

Pakiety matematyczne INP2708W,L

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

Technologie informacyjne lab. 3

Wstęp do Programowania Lista 1


Zanim zaczniemy GNU Octave

Krótkie wprowadzenie do macierzy i wyznaczników

Analiza matematyczna i algebra liniowa Macierze

3. Macierze i Układy Równań Liniowych

Scilab - wprowadzenie

Wprowadzenie do Mathcada 1

Ekoenergetyka Matematyka 1. Wykład 3.

1 Podstawy c++ w pigułce.

1. Wprowadzenie do systemu MATLAB Operacje macierzowe i grafika 2D i 3D Podstawy programowania. Sławomir Milewski

Instalacja Pakietu R

Zakaz rozpowszechniania w sieci, tylko na użytek studentów informatyki UwB. WYKŁAD 1- Matlab

Obliczenia w programie MATLAB

Harmonogramowanie, kosztorysowanie, planowanie budowy.

Ćwiczenie 3: Wprowadzenie do programu Matlab

ROMAN SALAMON MATLAB PODSTAWY I ZASTOSOWANIA

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

1 Macierze i wyznaczniki

Wprowadzanie danych pliki tekstowe ogólnego formatu

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Macierzowe algorytmy równoległe

Elementy metod numerycznych - zajęcia 9

Funkcje matematyczne w C. Programowanie w C Marek Pudełko

Wprowadzenie do GNU Octave

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

MATERIAŁY POMOCNICZE DO ZAJĘĆ LABORATORYJNYCH ŚRODOWISKO LABVIEW. ELEMENTY JĘZYKA PROGRAMOWANIA GRAFICZNEGO

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

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

Podstawy Programowania C++

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Symulacja obliczeń kwantowych

Ekonometria. Modele regresji wielorakiej - dobór zmiennych, szacowanie. Paweł Cibis pawel@cibis.pl. 1 kwietnia 2007

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Modelowanie danych hodowlanych

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

A A A A A A A A A n n

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

Transkrypt:

Programowanie w języku Matlab D. Caban, P. Skurowski Wykład. Składnia języka, podstawowe struktury i operacje Matlab Nazwa pochodzi od MATrix LAboratory Środowisko obliczeń numerycznych i symbolicznych posiadające swój język programowania wysokiego poziomu Język matlaba interpretowany, dosyć wolny Matlab jest interfejsem napisanym w języku Java do szybkich bibliotek numerycznych (blas, fftw) Zalety Prosty język wysokiego poziomu DuŜa liczba dedykowanych bibliotek tematycznych (tzw toolboxy) Dedykowane środowiska graficzne: simulink, simbiology, simevent, system identification Interpreter zleceń on-line MoŜliwość korzystania z kodu w C i Fortran Dostęne darmowe klony: SCIlab, Octave

Wady Wolne operacje interpretowane Konieczność przestawienia się na wektorową koncepcję wykonania programu DuŜe wymagania pamięciowe Dosyć drogi Konsola Matlaba workspace historia wiersz poleceń edytor macierzy edytor profiler I inne zaleŝnie od modułów Typy danych Macierze Single (float), double int8, int6, int2, int64 uint8, uint6, uint2, uint64 logical Macierze komórek (cell arrays) Macierze rzadkie Wartości specjalne: NaN, Inf, -Inf Struktury Obiekty Obiekty Java 2

Podstawienie >> a= >> a=; >> a=i %lub a=j 0 +.0000i >> b=-5:5 % zadeklarowanie wektora przez przedział -5-4 - -2-0 2 4 5 >>c=abs(b) c = 5 4 2 0 2 4 5 >>d=[,2,,4]; %wiersz d=[ 2 4] d = 2 4 >>d=[;2;;4]; %kolumna d = 2 4 >> e=0:0.2: % zadeklarowanie wektora przez przedział z zadanym krokiem e = 0 0.2 0.4 0.6 0.8 Podstawienie c.d. >> a=[ 2; 4] % tablica dwuwymiarowa 2 4 >> a(:,:)=7 7 7 7 7 >> a=; b=2; c=; d=4; >> e=[a, b; c, d]; % podstawienie zmiennych do macierzy >> [;2]; b=[;4]; >> c = [a, b] c = 2 4 >> d = [,2;] % dane niespójne??? Error using ==> vertcat CAT arguments dimensions are not consistent. >> A = [5 7 8; 0 9; 4 6]; % macierz wielowymiarowa >>A(:,:,2) = [ 0 4; 5 6; 9 8 7]; Tworzenie macierzy a=ones(m,n); macierz z jedynek rozmiaru (m x n) a=zeros(m,n); macierz z zer rozmiaru (m x n), zeros(n) a=eye(n); macierz jednostkowa rozmiaru (n x n), eye(2,) a=diag([ 2 ],k); macierz o zadanej k-tej diagonalnej, A=rand(m,n); macierz o wartosciach losowych z (0; ) A=hilb(n); macierz Hilberta rozmiaru (n x n), A=invhilb(n); macierz odwrotna do m. Hilberta, A=magic(n); kwadrat magiczny, n =,,... A=linspace(p,k, ile); - liniowy przedział od p do k A=logspace(p,k, ile); - log przedział od p do k [Y,X]=meshgrid(y,x); - tworzy układ współrzednych

Odwołania do elementów macierzy >> a= [,2,;4,5,6;7,8,9]; Odwołanie normalne >> b= a(2,2) 5 >> b= a(2:,:) 4 5 6 7 8 9 >> A(2,2,2) ans = 5 Usuwanie elementów >> b=a; >> b(:,2)=[]; % Dostęp liniowy >> b=a(7) >> b=a(:) 4 7 2 5 8 6 9 Indeksacja logiczna Podstawowe operacje macierzowe >>a=[,2;,4]; b=[5;6]; c=[7,8];d=[,2;2,]; dodawanie macierzy >>e= a + d; >>f= a + b;??? Error using ==> plus Matrix dimensions must agree. MnoŜenie macierzy >>e=a*b; %wektor kolumnowy >>e=a*d; %macierz 2x2 >>e=c*d; %wektor wierszowy >>e=b*c; %macierz 2x2 >>f=c*b; %skalar MnoŜenie elementów macierzy >>g=a.*d; Dzielenie elementów macierzy Lewostronne - \ Prawostronne - / Po elementach./,.\ Potęgowanie >>g= a^2; %macierz kwadratowa >>h=a.^2; % po elementach Transpozycja >> b=a ; Podstawowe operacje macierzowe a=triu(a,k); podmacierz trójkatna górna poczynajac od k-tej przekatnej, a=tril(a,k);... dolna a=diag(a,k); k-ta diagonalna utworzona jako kolumna, diag(a) a=rot90(a); obrót macierzy o 90 st a=fliplr(a); obrót macierzy wokół pionowej osi symetrii, a=flipud(a); obrót macierzy wokół poziomej osi symetrii, a=reshape(a,m,n); zamiana macierzy A na postać (m x n) A=ndims(A); - podaje liczbę wymiarów macierzy a=squeeze(a); usuwa nadmiarowe wymiary y=det(a); wyznacznik, a=inv(a); macierz odwrotna, [m, n]=size(a); m liczba wierszy, n liczba kolumn, n=length(a); liczba kolumn, 4

Działanie funkcji na macierzach Działają na macierzach element po elemencie sin, cos, tan, cot, asin, acos, atan, acot, sinh, cosh, tanh, coth, asinh, acosh, atanh, acoth, exp, log, log0, abs,angle, real, imag, conj, sqrt, sign, rem, round, floor, fix, ceil, gcd, lcm Działają na macierzach jak na zbiorze wektorów (kolumnowych) max, min, sum, prod, sort, length, median, mean, std, any, all, cumprod, cumsum >> a= [,2,;4,5,6;7,8,9]; >> sum(a) ans = 2 5 8 Operacje logiczne na macierzach Macierz moŝe być potraktowana jako argument podczas operacji logicznych >>a= [,2,;4,5,6;7,8,9]; >>w=a>5 w= 0 0 0 0 0 >>w=a~=b; >>w=a==c; Operacje wykonywane dla kaŝdego elementu macierzy odpowiedzią jest macierz typu logical Indeksacja logiczna Jest najwygodniejszą meodą dostępu warunkowego do elementów macierzy, Pozwala na unikanie pętli >>a=:0 a= 2 4 5 6 7 8 9 0 >>w=mod(a,2)==0 0 0 0 0 0 >>a(w)=0 0 0 5 0 7 0 9 0 5

Testowanie i konwersja typów Szereg funkcji pozwalająch na: informowanie o zmiennych length, numel, ndims, size, exist testowanie własności zmiennych isinteger, isfloat, ischar, islogical iscellstr, isjava, isinf, isfinite...(is*) konwersje typów double, single, int8..int64, uint8..uint64, int2str, num2str 6