Wprowadzenie do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski
M A T L A B : Computation Visualization Programming easy to use environment
MATLAB = matrix laboratory podstawowa jednostka obliczeniowa: macierz obliczenia na macierzach bardzo łatwe i bardzo szybkie interpreter język programowania funkcje i skrypty łatwość wizualizacji wyników środowisko graficzno-tekstowe MATLAB & Simulink różne platformy sprzętowe - Windows, Linux, klastry add-on toolboxes - zestawy funkcji dla konkretnych dziedzin
MATLAB = matrix laboratory add-on toolboxes: Signal Processing Toolbox Filter Design Toolbox Communications Toolbox Optimization Toolbox Control Toolbox Neural Networks Toolbox Bioinformatics Toolbox Symbolic Maths Toolbox Statistics Toolbox Distributed Computing Toolbox Image Processing Toolbox Wavelet Toolbox Image Acquisition Toolbox System Identification Toolbox Fuzzy Logic Toolbox Partial Differential Equations Toolbox Financial Toolbox Aerospace Toolbox
MATLAB = matrix laboratory MATLAB Compiler Excel Link MATLAB Builder for Excel MATLAB Builder for.net MATLAB Builder for Java
» demo» intro» bench» help» help help
zmienne» a = 3.1415 a = 3.1415» a = 3.1415 ;» sin(a) ans = 9.2654e-005
macierz - w nawiasach: [ ] - elementy w wierszu: <spacja> lub, - wiersze oddzielamy: ; - elementy: liczby rzeczywiste liczby zespolone znaki macierz pełna macierz rzadka
macierze - tworzenie» A = [ 2 2 2 1 ; 1 2 3 1 ] % A 2x4» A = [ 2 2 2 1 ; % A 2x4 1 2 3 1 ]» A = [ 2 2 2 1 ;... % A 2x4 1 2 3 1 ]» B = [ 1 2 3 4 5 6 7 8 ] % A 1x8» B = [ 1 2 3 4... % A 1x8 5 6 7 8 ]» B = [ 1 2 3 4 % A 2x4 5 6 7 8 ]
macierze - tworzenie» C = [ 1+5j 2+6j ; 3+7j 4+8j ]» C = [ 1 2 ; 3 4 ] + i * [ 5 6 ; 7 8 ]
macierze - tworzenie min : krok : max min : max» D = [ 1:10 ; 1:2:20 ]» E = 100 : -7 : 50 F = 0 : pi/4 : pi
macierze - tworzenie eye ( n ) macierz jednostkowa eye ( m, n ) eye ( [ m, n ] ) ones ( n ) macierz jedynkowa ones ( m, n ) ones ( [ m, n ] ) zeros ( n ) macierz zerowa zeros ( m, n ) zeros ( [ m, n ] )
macierze - tworzenie rand ( n ) rozkład jednostajny 0-1 rand ( m, n ) rand ( [ m, n ] ) randn ( n ) rozkład normalny 0-1 randn ( m, n ) randn ( [ m, n ] ) totolotek:
macierze - tworzenie linspace ( x1, x2 ) ciąg liczb - liniowo linspace ( x1, x2, N ) logspace ( x1, x2 ) ciąg liczb - logarytmicznie logspace ( x1, x2, N )» A = linspace ( 0, 20, 5 )» B = logspace ( 0, 3, 4 )
macierze dostęp do elementów» A = [ 1 2 3 4 5 6 ; 0 9 8 7 6 5 ; 1 1 0 0 2 2 ] ; A ( i, j ) A ( i, : ) A ( :, j ) A ( i : k, j ) A ( 1:2, 5 ) A ( :, j : k ) A ( 1, 1:4 ) A ( 1:2, [ 5 6 1 2 ] ) A ( : ) A ( j : k )
macierze dostęp do elementów» A = [ 1 2 3 4 5 6 ; 0 9 8 7 6 5 ; 1 1 0 0 2 2 ] ; A ( i, : ) = [ ] A ( 2, : ) = [ ] A ( :, j ) = [ ] A ( :, [ 3 4 ] ) = [ ]
macierze działania transpozycja macierzy» A + - dodawanie i odejmowanie macierzy i liczb» A + B» A + c
macierze działania * mnożenie macierzy lub macierzy przez liczbę» A * B A B = C m K K n m n c = A B» A * b,,, i j i j K c = a b i, j i, k k, j k = 1
macierze działania.* mnożenie tablicowe macierzy» A.* B A B = C m n m n m n c = a b i, j i, j i, j mnożenie na planie dodawania element-by-element multiplication
macierze działania / dzielenie prawostronne macierzy» A / B A * inv(b) A * B^(-1)» A / b \ dzielenie lewostronne macierzy» A \ B inv(a) * B» A \ b
macierze działania./ dzielenie tablicowe (prawostronne) macierzy» A./ B» A./ b.\ dzielenie tablicowe (lewostronne) macierzy» A.\ B» A.\ b
macierze działania ^ potęgowanie macierzy» A ^ 3 A * A * A.^ potęgowanie tablicowe macierzy» A.^ 3 A.* A.* A
funkcje» help elfun % elementary mathematical functions» help specfun % advanced mathematical functions» help elmat % elementary matrix functions
funkcje macierzowe rozmiar: [ wier, kol ] = size ( A ) wier = size ( A, 1 ) kol = size ( A, 2 ) rząd: rzad = rank ( A ) wyznacznik: wyzn = det ( A ) macierz diagonalna: diagon = diag ( A ) diagon = diag ( A, k ) ślad: slad = trace ( A ) suma elementów macierzy diagonalnej» odwrotność: odwr = inv ( A )
funkcje matematyczne sin ( A ) cos ( A ) tan ( A ) asin ( A ) acos ( A ) atan ( A ) sinh ( A ) cosh ( A ) tanh ( A ) asinh ( A ) acosh ( A ) atanh ( A ) sqrt ( A ) pierwiastek kwadratowy pow2 ( A ) 2 A exp ( A ) e A log ( A ) logarytm naturalny log2 ( A ) log10( A )
funkcje matematyczne sin ( A ) cos ( A ) tan ( A ) asin ( A ) acos ( A ) atan ( A ) sinh ( A ) cosh ( A ) tanh ( A ) asinh ( A ) acosh ( A ) atanh ( A ) sqrt ( A ) pierwiastek kwadratowy pow2 ( A ) 2 A exp ( A ) e A» A = [ 1 2 3 4 ];» exp(a)
funkcje matematyczne sign ( A ) signum abs ( A ) wartość bezwzględna / moduł angle ( A ) kąt real ( A ) część rzeczywista imag ( A ) część urojona conj ( A ) liczba sprzężona round ( A ) zaokrąglenie fix ( A ) zaokrąglenie w kierunku zera ceil ( A ) zaokrąglenie w górę floor ( A ) zaokrąglenie w dół
funkcje matematyczne mod ( A, B ) dzielenie całkowite wynik rem ( A, B ) dzielenie całkowite reszta gcd ( a, b ) naj> wspólny dzielnik lcm ( a, b ) naj< wspólna wielokrotność kron ( A, B ) iloczyn Kroneckera
predefiniowane stałe pi 3.14159265 i j 1 eps ε = 2-52 floating point precision Inf Infinity 1/0 NaN Not-a-number 0/0 Inf-Inf» i = 5 ;» pi = 10 ;» clear pi
funkcja find» A = [ 1 2 5 10 15-5 -6 7 8 ] ;» find ( A > 5 )» B = [ A ; A + 1 ]» find ( B > 5 )» [ wier, kol ] = find ( B > 5 )
przydatne funkcje format short, long, e, g, rat, compact, loose, hex clear a b c clear all save % matlab.mat save all save dane a b c % dane.mat save dane.txt a b x y z -ascii double tabs load dane a b