Języki Modelowania i Symulacji

Podobne dokumenty
Języki Modelowania i Symulacji

Metody dekompozycji macierzy stosowane w automatyce

Zaawansowane metody numeryczne

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

10. Metody obliczeniowe najmniejszych kwadratów

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

Języki Modelowania i Symulacji

Obliczenia naukowe Wykład nr 8

Zaawansowane metody numeryczne

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Algebra macierzy

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Wartości i wektory własne

1 Macierze i wyznaczniki

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Komputerowa analiza zagadnień różniczkowych 3. Numeryczne zagadnienie własne

Wstęp do metod numerycznych 5. Numeryczne zagadnienie własne. P. F. Góra

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Układy równań liniowych. Krzysztof Patan

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Zadania egzaminacyjne

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2017

Postać Jordana macierzy

Metody numeryczne. Zagadnienia własne. Janusz Szwabiński.

Wektory i wartości własne

MATLAB - laboratorium nr 1 wektory i macierze

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. P. F. Góra

Wektory i wartości własne

Wstęp do metod numerycznych Inne rodzaje faktoryzacji. P. F. Góra

Języki Modelowania i Symulacji

1 Formy hermitowskie. GAL (Informatyka) Wykład - formy hermitowskie. Paweł Bechler

Obliczenia naukowe Wykład nr 2

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

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

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Macierze. Rozdział Działania na macierzach

Ukªady równa«liniowych - rozkªady typu LU i LL'

f (x)=mx 2 +(2m 2)x+m+1 ma co najmniej jedno

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

Wstęp do analizy matematycznej

Funkcje Andrzej Musielak 1. Funkcje

Metody numeryczne II. Układy równań liniowych

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

NUMERYCZNE METODY ROZWIĄZYWANIA ROWNAŃ LINIOWYCH. PRZYGOTOWAŁA: ANNA BANAŚ KoMBo, WILiŚ

ALGEBRA LINIOWA. Wykład 2. Analityka gospodarcza, sem. 1. Wydział Zarządzania i Ekonomii Politechnika Gdańska

WIELOMIANY SUPER TRUDNE

Wykład 14. Elementy algebry macierzy

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c

Algebra WYKŁAD 3 ALGEBRA 1

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

III TUTORIAL Z METOD OBLICZENIOWYCH

1. Liczby zespolone i

Metody i analiza danych

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

Macierze Lekcja I: Wprowadzenie

Formy kwadratowe. Rozdział 10

Wstęp do metod numerycznych Faktoryzacja macierzy. P. F. Góra

Własności wyznacznika

1) Podstawowe obliczenia. PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium. Wykonał: Łukasz Konopacki Sala 125. Grupa: poniedziałek/p,

Niezb. ednik matematyczny. Niezb. ednik matematyczny

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

Arytmetyka. Działania na liczbach, potęga, pierwiastek, logarytm

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Rozwiązywanie algebraicznych układów równań liniowych metodami bezpośrednimi

MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Metody numeryczne. materiały do wykładu dla studentów

D1. Algebra macierzy. D1.1. Definicje

Wykład 5. Metoda eliminacji Gaussa

Matlab, zajęcia 2. Dwukropek. Tomasz Mostowski 28.luty 2008

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

A A A A A A A A A n n

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

x a 1, podając założenia, przy jakich jest ono wykonywalne. x a 1 = x a 2 ( a 1) = x 1 = 1 x.

φ(x 1,..., x n ) = a i x 2 i +

FUNKCJA POTĘGOWA, WYKŁADNICZA I LOGARYTMICZNA

Zestaw 2. Definicje i oznaczenia. inne grupy V 4 grupa czwórkowa Kleina D n grupa dihedralna S n grupa symetryczna A n grupa alternująca.

ALGEBRA z GEOMETRIA, ANALITYCZNA,

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

Rozwiązywanie układów równań liniowych

Metody numeryczne I Równania nieliniowe

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 14. wykład z algebry liniowej Warszawa, styczeń 2011

KLUCZ PUNKTOWANIA ODPOWIEDZI

Zastosowania wyznaczników

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

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

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

Podstawy Automatyki. Wykład 5 - stabilność liniowych układów dynamicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Metody numeryczne. Janusz Szwabiński. nm_slides-7.tex Metody numeryczne Janusz Szwabiński 11/11/ :45 p.

Uzasadnienie tezy. AB + CD = BC + AD 2

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych

1) 2) 3) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25)

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Matematyka liczby zespolone. Wykład 1

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Rozwiazywanie układów równań liniowych. Ax = b

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

Transkrypt:

Języki Modelowania i Symulacji Marcin Ciołek Katedra Systemów Automatyki WETI, Politechnika Gdańska 2 listopada 2011

Literatura: 1. D. Kincaid, W. Cheney: Analiza numeryczna, Wydawnictwo Naukowo Techniczne, 2006. 2. P. Davis, W.: Differential Equations - Modelling with MATLAB, Prentice Hall, 1999. 3. Dokumentacja MATLABA i SIMULINKA. 4. B.Mrozek, Z. Mrozek: MATLAB Uniwersalne środowisko do obliczeń naukowo-technicznych, Kraków 1995. 5. T.P. Zieliński: Cyfrowe przetwarzanie sygnałów - Od teori do zastosowań, Warszawa 2009.

O czym będziemy dziś mówili? 1 2 3 4 5 6 7 8 9

chol (1) R = chol(a); A dodatnio określona: R górna trójkatna, [R, p] = chol(a); A dodatnio określona: R *R=A R górna trójkatna, R *R=A, p=0 A nie jest dodatnio określona: R górna trójkatna, R *R=A(1:q,1:q), q=p-1

dodatnio określona W przypadku, gdy A jest macierza rzeczywista: A jest macierza symetryczna i dla każdego niezerowego wektora x R n zachodzi: x T Ax > 0. Równoważna definicja mówi, że wszystkie wartości własne A sa dodatnie.

chol A = 60 30 20 30 20 15 20 15 12 >> R = chol(a) = 7.7460 3.8730 2.5820 0 2.2361 2.2361 0 0 0.5774 >> R'*R = 60.0000 30.0000 20.0000 30.0000 20.0000 15.0000 20.0000 15.0000 12.0000

chol n =3; >> X = pascal(n) X = 1 1 1 1 2 3 1 3 6 >> X(n,n) = X(n,n)-1 X = 1 1 1 1 2 3 1 3 5 >> chol(x)??? Error using ==> chol Matrix must be positive definite. >> [R,p]=chol(X) R = 1 1 0 1 p = 3

chol X = 1 1 1 1 2 3 1 3 5 >> chol(x)??? Error using ==> chol Matrix must be positive definite. >> [R,p]=chol(X) R = 1 1 0 1 p = 3 >> R'*R = 1 1 1 2

chol (2) L = chol(a, lower ); A dodatnio określona: L dolna trójkatna, [L, p] = chol(a, lower ) ; A dodatnio określona: L*L =A L dolna trójkatna, L*L =A, p=0 A nie jest dodatnio określona: L dolna trójkatna, L*L =A(1:q,1:q), q=p-1

chol A = 60 30 20 30 20 15 20 15 12 >> L=chol(A,'lower')= 7.7460 0 0 3.8730 2.2361 0 2.5820 2.2361 0.5774 >> L*L'= 60.0000 30.0000 20.0000 30.0000 20.0000 15.0000 20.0000 15.0000 12.0000

chol X = 1 1 1 1 2 3 1 3 5 >> L=chol(X,'lower')??? Error using ==> chol Matrix must be positive definite. >> [L,p]=chol(X,'lower') L = 1 0 1 1 p = 3 >> L*L'= 1 1 1 2

chol A = 60 30 20 30 20 15 20 15 12 >> L = chol(a,'lower')= 7.7460 0 0 3.8730 2.2361 0 2.5820 2.2361 0.5774 >> R = chol(a)= 7.7460 3.8730 2.5820 0 2.2361 2.2361 0 0 0.5774 >> L'= 7.7460 3.8730 2.5820 0 2.2361 2.2361 0 0 0.5774

chol Ax = b x = A\b >> inv(a)= 0.1500-0.6000 0.5000-0.6000 3.2000-3.0000 0.5000-3.0000 3.0000 >> inv(r)*inv(l)= 0.1500-0.6000 0.5000-0.6000 3.2000-3.0000 0.5000-3.0000 3.0000 >> inv(l')*inv(l)= 0.1500-0.6000 0.5000-0.6000 3.2000-3.0000 0.5000-3.0000 3.0000

inv odwrotna Y = inv(x); Rozwiazanie równania A*x=b: x = A\b czy x=inv(a)*b?

inv Ax = b x = inv(a)b n = 500; Q = orth(randn(n,n)); d = logspace(0,-10,n); A = Q*diag(d)*Q'; x = randn(n,1); b = A*x; tic, y = inv(a)*b; toc err = norm(y-x) res = norm(a*y-b) elapsed_time = 1.4320 err = 7.3260e-006 res = 4.7511e-007

inv Ax = b x = A\b elapsed_time = 1.4320 err = 7.3260e-006 res = 4.7511e-007 tic, z = A\b, toc err = norm(z-x) res = norm(a*z-b) elapsed_time = 0.6410 err = 7.1209e-006 res = 4.4509e-015

qr qr (1) A - mxn [Q, R] = qr(a); R - mxn górna trójkatna, [Q, R] = qr(a,0); A = Q*R dla m > n oblicza się: n poczatkowych kolumn Q n poczatkowych wierszy R dla m<=n mamy: [Q, R] = qr(a) Q - mxm unitarna

qr qr (2) [Q, R, E] = qr(a); R górna trójkatna, Q unitarna E macierz permutacji kolumnowej A*E = Q*R oraz abs(diag(r)) uporzadkowane malejaco [Q, R, E] = qr(a,0); X = qr(a); E wektor permutujacy: A(:,E) = Q*R X = qr(a,0); X triu(x) jest górnym trójkatnym czynnikiem R

qr A = [ 1 2 3 4 5 6 7 8 9 10 11 12 ] [Q,R] = qr(a) Q = -0.0776-0.8331 0.5444 0.0605-0.3105-0.4512-0.7709 0.3251-0.5433-0.0694-0.0913-0.8317-0.7762 0.3124 0.3178 0.4461 R = -12.8841-14.5916-16.2992 0-1.0413-2.0826 0 0 0.0000 0 0 0 rank(a) = 2 tol = 1.4594E-014

qr Ax = b b = [1;3;5;7]; x = A\b; x = 0.5000 0 0.1667 y = Q'*b; x = R\y x = 0.5000 0 0.1667

pinv Moore a-penrose a (1) B = pinv(a); B macierz : A*B*A = A, B*A*B = B, A*B = (A*B), B*A = (B*A) B = pinv(a,tol); tol próg zerowości wartości szczególnych A domyślny poziom: max(size(a))*norm(a)*eps Algorytm wykorzystuje rozkład svd

pinv Moore a-penrose a (2) A - mxn : m > n oraz rank(a) < n x minimalizujacy norm(a*x-b) nie jest jednoznaczny x = pinv(a)*b rozwiazanie o najmniejszej wartości norm(x) y=a\b rozwiazanie o najmniejszej liczbie niezerowych elementów

pinv A = magic(8); A = A(:,1:6); b = 260*ones(8,1); A = b = 64 2 3 61 60 6 260 9 55 54 12 13 51 260 17 47 46 20 21 43 260 40 26 27 37 36 30 260 32 34 35 29 28 38 260 41 23 22 44 45 19 260 49 15 14 52 53 11 260 8 58 59 5 4 62 260 x1 = pinv(a)*b; x2 = A\b; x3 = inv(a)*b;???????

pinv x1 = pinv(a)*b; x2 = A\b; x3 = inv(a)*b; x1 = x2 = 1.1538 4.0000??? Error using ==> inv 1.4615 5.0000 Matrix must be square. 1.3846 0 1.3846 0 1.4615 0 1.1538-1.0000 norm(x1) = 3.2817 norm(x2) = 6.4807

linsolve (1) A*X = B, (A - mxn, B - mxk) X - nxk X = linsolve(a,b); A kwadratowa: faktoryzacja LU A niekwadratowa: faktoryzacja [X, R] = linsolve(a,b); A kwadratowa: faktoryzacja LU, R = 1/cond(A) A niekwadratowa: faktoryzacja, R=rank(A)

linsolve (2) X = linsolve(a,b,opts); pole opcji właściwość LT dolna trójkatna UT górna trójkatna UHESS górna Hessenberga SYM symetryczna lub Hermitowska POSDEF dodatnio określona RECT prostokatna TRANSA A*X = B albo A *X = B Ustawianie pola opcji: np. opts.ut = true

linsolve A = triu(rand(5,3)); A = 0.8147 0.0975 0.1576 0 0.2785 0.9706 0 0 0.9572 0 0 0 0 0 0 x = [1 1 1 0 0]'; b = A'*x; b = 0.8147 0.3760 2.0854 y1 = (A')\b opts.ut = true; opts.transa = true; y2 = linsolve(a,b,opts) y1 = [1 1 1 0 0]' y2 = [1 1 1 0 0]'

(1) A - mxn, x = lscov(a,b); b - mx1 (mxk) : Ax = b lscov x wektor minimalizujacy (b A x) (b A x) (dla b - mxk: rozwiazania dla każdej kolumny b) gdy rank(a) < n: wybierany jest x o maksymalnej liczbie zerowych współrzędnych x= lscov(a,b,w); w wektor mx1 nieujemnych rzeczywistych wag x minimalizuje (b A x) diag(w) (b A x)

lscov x1 = [.2.5.6.8 1.0 1.1]'; x2 = [.1.3.4.9 1.1 1.4]'; X = [ones(size(x1)) x1 x2]; y = [.17.26.28.23.27.34]'; a = X\y a = 0.1203 0.3284-0.1312 [b,se_b,mse] = lscov(x,y) b = 0.1203 0.3284-0.1312 se_b = 0.0643 0.2267 0.1488 mse = 0.0015

lscov w = [1 1 1 1 1.1]'; [bw,sew_b,msew] = lscov(x,y,w) bw = 0.1046 0.4614-0.2621 sew_b = 0.0309 0.1152 0.0814 msew = 3.4741e-004

(1) A nxn λ i - wartości własne v i - w A (λ) = det(a λi) (A λ i I) v i = 0 d = eig(a); d wektor wartości własnych A [V, D] = eig(a); D diagonalna macierz wartości własnych V macierz prawych wektorów własnych AV = VD (V macierz modalna) eig V 1 AV = D

eig w A (λ) = det(a λi) = λ 4 34λ 3 64λ 2 + 2176λ λ 4 34λ 3 64λ 2 + 2176 = 0 λ i {34, 8, 0, 8} A = [16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 ] >> poly(a) ans = 1-34 -64 2176 0 >>d = eig(a) d= 34.0000 8.0000-0.0000-8.0000 >> chol(a)??? Error using ==> chol Matrix must be positive definite.

eig >> eig(a) = 34.0000 8.0000-0.0000-8.0000 (A λ i I) v i = 0 >> [V,D]=eig(A) V = -0.5000-0.8165 0.2236-0.4082-0.5000 0.4082-0.6708 0.0000-0.5000 0.0000 0.6708-0.4082-0.5000 0.4082-0.2236 0.8165 D = 34.0000 0 0 0 0 8.0000 0 0 0 0-0.0000 0 0 0 0-8.0000

eig V 1 AV = D >> [V,D]=eig(A) V = -0.5000-0.8165 0.2236-0.4082-0.5000 0.4082-0.6708 0.0000-0.5000 0.0000 0.6708-0.4082-0.5000 0.4082-0.2236 0.8165 D = 34.0000 0 0 0 0 8.0000 0 0 0 0-0.0000 0 0 0 0-8.0000 >> D = inv(v)*a*v D = 34.0000-0.0000-0.0000 0.0000-0.0000 8.0000 0.0000 0.0000 0.0000-0.0000 0.0000-0.0000 0.0000 0.0000-0.0000-8.0000

eig (2) [V, D] = eig(a, nobalance ); Bez wstępnego równoważenia (skalowania) A - zalecane dla A zawierajacej niedokładne (zaokraglone) elementy o b. małej wartości.

eig B = [ 3-2 -.9 2*eps -2 4 1 -eps -eps/4 eps/2-1 0 -.5 -.5.1 1 ]; B = 3.0000-2.0000-0.9000 0.0000-2.0000 4.0000 1.0000-0.0000-0.0000 0.0000-1.0000 0-0.5000-0.5000 0.1000 1.0000 >> [VB,DB] = eig(b) VB = -0.6153 0.4176 0.0000-0.1496 0.7881 0.3261 0.0000 0.1317 0.0000 0.0000-0.0000-0.9576-0.0189-0.8481-1.0000 0.2078 DB = 5.5616 0 0 0 0 1.4384 0 0 0 0 1.0000 0 0 0 0-1.0000

eig B VB VB DB = 0??? VB = -0.6153 0.4176 0.0000-0.1496 0.7881 0.3261 0.0000 0.1317 0.0000 0.0000-0.0000-0.9576-0.0189-0.8481-1.0000 0.2078 DB = 5.5616 0 0 0 0 1.4384 0 0 0 0 1.0000 0 0 0 0-1.0000 >> B*VB - VB*DB ans = -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0 0.3288

eig B VN VN DN = 0??? >> [VN,DN] = eig(b,'nobalance') VN = 0.7808-0.4924-0.0000-0.1563-1.0000-0.3845 0.0000 0.1375-0.0000-0.0000-0.0000-1.0000 0.0240 1.0000-1.0000 0.0453 DN = 5.5616 0 0 0 0 1.4384 0 0 0 0 1.0000 0 0 0 0-1.0000 >> B*VN - VN*DN ans = 1.0e-014 * -0.2665 0.0111-0.0592-0.0194 0.4441 0.1221 0.0386-0.0278 0.0022 0.0002 0.0007 0 0.0139-0.0222 0.0222 0.0153

balance poprawiajace uwarunkowanie zadania własnego (równoważenie) (1) A - macierz kwadratowa [T, B] = balance(a); T macierz podobieństwa, dla którego B macierz podobna B=T\A*T posiada możliwie zrównoważone wiersze i kolumny (ze względu na ich normę) B = balance(a); B zrównoważona macierz podobna do A

balance (równoważenie) (2) [S, P, B] = balance(a); S wektor skalujacy (współrzędne to całkowite potęgi 2) P wektor permutujacy T(:,P) = diag(s) oraz B(P,P) = diag(1./s)*a*diag(s) B = balance(a, noperm ); B tylko skalowanie A (bez permutacji)

balance (równoważenie) (3) Zadanie własne dla niesymetrycznych często bywa źle uwarunkowane. Miara uwarunkowania modalnej jest cond(v) = norm(v)*norm(inv(v)), gdzie [V,T] = eig(a)

balance A = [1 100 10000;.01 1 100;.0001.01 1] A = 1.0e+04 * 0.0001 0.0100 1.0000 0.0000 0.0001 0.0100 0.0000 0.0000 0.0001 [T,B] = balance(a) T = 1.0e+03 * 2.0480 0 0 0 0.0320 0 0 0 0.0003 B = 1.0000 1.5625 1.2207 0.6400 1.0000 0.7813 0.8192 1.2800 1.0000 [V,E] = eig(a); V = -1.0000 0.9999 0.9937 0.0050 0.0100-0.1120 0.0000 0.0001 0.0010

balance [V,E] = eig(a); V = -1.0000 0.9999 0.9937 0.0050 0.0100-0.1120 0.0000 0.0001 0.0010 cond(v) = 8.7766e+003 [V,E] = eig(b); V = -0.8873 0.6933 0.0898 0.2839 0.4437-0.6482 0.3634 0.5679-0.7561 cond(v) = 1.4421 cond(t) = 8192

expm Wykładnicza funkcja A nxn X = expm(a); e A = I + A + A2 2 + A3 3 +... X wykładnicza funkcja e A Jaki będzie wynik działań: [V,D] = eig(x); V*diag(exp(diag(D)))/V? Czy exp(a)=expm(a)?

expm A = 2 5 1 3 >> exp(a) = 7.3891 148.4132 2.7183 20.0855 >> expm(a)= 47.8358 130.0844 26.0169 73.8527 E=zeros(size(A)); F=eye(size(A)); k=1; while norm(f,1)>0 E=E+F; F=A*F/k; k=k+1; end E = 47.8358 130.0844 26.0169 73.8527

expm >> [V,D]=eig(A) V = -0.9414-0.8732 0.3373-0.4874 D = 0.2087 0 0 4.7913 >> E = V*diag(exp(diag(D)))/V E = 47.8358 130.0844 26.0169 73.8527

logm Logarytm L = logm(a); L główny logarytm kwadratowej A [L, exitflag] = logm(a); existflag informacja o uzyskanym wyniku: 0 - obliczenia zakończone pomyślnie 1 - uwaga: wynik może być niedokładny Dla osobliwych oraz posiadajacych wartości własne o ujemnej części rzeczywistej funkcja logm jest niezdefiniowana Czy zawsze obowiazuj a równości logm(expm(a)) = A = expm(logm(a))?

logm >> A = 1 1 0 0 0 2 0 0-1 Y = expm(a) Y = 2.7183 1.7183 1.0862 0 1.0000 1.2642 0 0 0.3679 A = logm(y) A = 1.0000 1.0000 0.0000 0 0 2.0000 0 0-1.0000 log(a) ans = 0 0 -Inf -Inf -Inf 0.6931 -Inf -Inf 0.0000 + 3.1416i

sqrtm Pierwiastek kwadratowy (1) X = sqrtm(a); X główny pierwiastek kwadratowej A X*X = A Osobliwa A może nie posiadać pierwiastków. Jako jednoznaczny X wybierany jest ten pierwiastek A, który ma wartości własne o nieujemnch częściach rzeczywistych Dla A z wartościami własnymi o ujemnych częściach rzeczywistych X ma elementy zespolone.

sqrtm A jest rzeczywista, sysmetryczna i dodatnio określona A = 5-4 1 0 0-4 6-4 1 0 1-4 6-4 1 0 1-4 6-4 0 0 1-4 5 Y = sqrtm(a) Y = 2-1 -0-0 -0-1 2-1 0-0 0-1 2-1 0-0 0-1 2-1 -0-0 -0-1 2

sqrtm A jest zespolona, hermitowska i dodatnio określona A = 3.0000 2.0000 + 1.0000i 2.0000-1.0000i 1.0000 A' = 3.0000 2.0000 + 1.0000i 2.0000-1.0000i 1.0000 sqrtm(a) = 1.4853 + 0.1984i 0.9980 + 0.1569i 0.7243-0.7043i 0.6241 + 0.4721i

A może posiadać kilka pierwiastków sqrtm A = 7 10 15 22 >> Y11 =sqrtm(a) Y11 = Y12 = 1.5667 1.7408-1.5667-1.7408 2.6112 4.1779-2.6112-4.1779 Y21 = Y22 = 1 2-1 -2 3 4-3 -4 [V,D] = eig(a); S = sqrt(d) S = +-0.3723 0 0 +-5.3723 >> V*S/V

svd według wartości szczególnych (1) s = svd(x); s wektor wartości szczególnych A [U, S, V] = svd(x); S uogólniona diag. macierz wartości szczegól. U unitarna macierz lewych wektorów szczegól. V unitarna macierz prawych wektorów szczegól. X = U*S*V (diag (S) nierosnaco)

svd X = 1 2 3 4 5 6 7 8 >> [U,S,V] = svd(x) U = S = -0.1525-0.8226-0.3945-0.3800-0.3499-0.4214 0.2428 0.8007-0.5474-0.0201 0.6979-0.4614-0.7448 0.3812-0.5462 0.040 14.2691 0 0 0.6268 0 0 0 0 V = -0.6414 0.7672-0.7672-0.6414

svd według wartości szczególnych (2) [U, S, V] = svd(x,0); Oszczędny algorytm svd: dla X - mxn oraz m > n wyznacza się pierwsze n kolumn U, zaś S - nxn. [U, S, V] = svd(x, econ ); Oszczędny algorytm svd dla X - mxn: m >= n wykorzystuje się svd(x,0), m < n wyznacza się pierwsze m kolumn V, zaś S - mxm.

svd X = 1 2 3 4 5 6 7 8 >> [U,S,V] = svd(x,0) U = -0.1525-0.8226-0.3499-0.4214-0.5474-0.0201-0.7448 0.3812 S = 14.2691 0 0 0.6268 V = -0.6414 0.7672-0.7672-0.6414