WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19
|
|
- Przybysław Wilk
- 8 lat temu
- Przeglądów:
Transkrypt
1 WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19
2 Co mam zrobić, jeżeli obliczenia potrzebne są na wczoraj, trzeba jeszcze zrobić wykres, a do tego mam użyć Bardzo Skomplikowanego Czegoś wiedząc o tym raczej niewiele? dr Sławomir Marczyński
3 Aby móc obliczyć jak rozchodzi się tsunami, albo czy jutro będzie padał deszcz, albo jak wygnie się belka pod obciążeniem potrzebne są odpowiednie równania i sposób na obliczenie rozwiązań tych równań. Im dokładniej chcemy wykonać takie obliczenia, tym większą ilością liczb będziemy się posługiwać. Sensownie jest więc użyć macierzy zamiast robić rachunki na pojedynczych wartościach liczbowych. dr Sławomir Marczyński
4 Dodawanie Odejmowanie Mnożenie Dzielenie Transponowanie Sprzęganie, sprzęganie hermitowskie Odwracanie i obliczanie wyznacznika Obliczanie śladu macierzy Obliczanie wektorów i wartości własnych dr Sławomir Marczyński
5 Tworzenie macierzy Wyodrębnianie fragmentu Dekompozycje Czytanie/pisanie/drukowanie/rysowanie Konwersja Uwaga: wektory to też macierze. dr Sławomir Marczyński
6 for (i = 1; i <= N; i++) for (j = 1; j <= N; j++) { c[i][j] = 0; for (k = 1; k <= N; k++) c[i][j] = c[i][j] + a[i][k] * b[k][j]; } Ten algorytm działa, ale zwykle działa zbyt powoli są szybsze sposoby na mnożenie. To zbyt pracochłonne łatwiej przecież napisać po prostu A * B dr Sławomir Marczyński
7 Matlab jest programem licencjonowanym, można go kupić Alternatywą są darmowe programy Octave (GNU) SciLab (Open Source INRIA) dr Sławomir Marczyński
8 dr Sławomir Marczyński
9 Interaktywnie CLI GUI Wsadowo skrypty (polecenie diary) run "skrypt.m" matlab r "skrypt" funkcje (alternatywa dla skryptów) dr Sławomir Marczyński
10 MAT-files zapis poleceniem save odczyt poleceniem load zawierają wartości zmiennych na jakich prowadzi się obliczenia M-files zapis jako pliku z dowolnego edytora tekstu uruchomienie przez podanie nazwy pliku jako polecenia/funkcji (bez.m) MEX-files Simulink: pliki.slx oraz.mdl dr Sławomir Marczyński
11 Najprościej Google Napisać help Napisać helpdesk Napisać doc Odnaleźć opcję menu help Uruchomić programy przykładowe Przeczytać PDF Przeczytać podręcznik Uwaga: dokumentacja do tworzonych funkcji dr Sławomir Marczyński
12 dr Sławomir Marczyński
13 Duże i małe litery są traktowane jako różne znaki, zmienna A i zmienna a to dwie różne zmienne. Nie przejmujemy (?) się typami zmiennych Gdy chcemy zobaczyć co jest w zmiennej to ją piszemy w oknie poleceń i naciskamy enter Gdy nie chcemy widzieć wyniku stawiamy średnik Polecenie clear pozwala pozbyć się niepotrzebnych już zmiennych dr Sławomir Marczyński
14 Możemy macierz wczytać z pliku Możemy ją wpisać z klawiatury [1, 2.1e-8; pi, 1+i] Możemy użyć funkcji do tworzenia macierzy np.: eye(n), speye(n), zeros(n), ones(n), magic(n) rand(n), randi(n), randn(n) gallery(nazwa_macierzy_z_galerii, p1, p2, ) Możemy utworzyć jako ciąg, np. 5:5:25 dr Sławomir Marczyński
15 Dodawanie, odejmowanie, mnożenie zapisujemy jako + - * Transpozycje kropka-apostrof i apostrof Odwracanie macierzy funkcja inv Dzielenie macierzy są dwie odmiany ze ukośnikiem i ukośnikiem odwrotnym Wyznacznik det, ślad trace Suma, różnica, iloczyn elementów sum, diff, prod i mnóstwo innych operacji, np. reshape dr Sławomir Marczyński
16 Normalnie Matlab każdą operację robi na macierzach (czyli jako operację na macierzach, wektorach i liczbach zależnie od tego co jest użyte) Jeżeli operator poprzedzi się kropką, to Matlab wykona daną operację skalarnie, choć przetworzy tak wszystkie elementy macierzy Funkcje takie jak sinus też wykonują się na wszystkich elementach macierzy naraz. dr Sławomir Marczyński
17 MatLab pozwala tworzyć bardzo złożone rysunki i zapisywać je np. jako pliki PS (nadają się do druku!) Na początek przydadzą się polecenia plot(x,y) które rysuje wykres y(x) surf(x,y,z) rysujące wykres trójwymiarowy contour(x,y,z) rysujący poziomice Przy pomocy odpowiednich poleceń można umieścić na rysunku tytuły, opisać osie współrzędnych, zmienić skale na logarytmiczne itd. dr Sławomir Marczyński
18 html?file=/products/demos/shipping/matlab/ dostarczane wraz z programem Matlab dr Sławomir Marczyński
19 Język programowania pakietu Matlab jest językiem programowania Wikipedia dr Sławomir Marczyński
20 M-pliki MEX-pliki Skrypty w Matlabie Funkcje w Matlabie Instrukcje warunkowe Instrukcje pętli Obsługa wyjątków Programowanie obiektowe?! dr Sławomir Marczyński
21 Skrypty to pliki, w których jest to czego nie chcemy wpisywać z klawiatury za każdym razem od nowa. Nazwa skryptu powinna mieć rozszerzenie.m, np. policz.m Skrypty to po prostu pliki tekstowe: Notepad++ edit policz.m diary ' policz.m' Aby uruchomić polecenia zapisane w skrypcie piszemy jego nazwę bez.m: policz.m wywołuje się pisząc policz dr Sławomir Marczyński
22 dr Sławomir Marczyński
23 dr Sławomir Marczyński
24 Skrypt używa zmiennych globalnych. Zmienne zmodyfikowane przez skrypt będą miały nowe wartości także i poza skryptem. Skrypt nie ma zmiennych lokalnych. Skrypty są uruchamiane z bieżącego katalogu. Gdy nie ma w bieżącym, przeszukiwana jest tzw. ścieżka. cd zmiana katalogu addpath dopisywanie katalogu do ścieżki run - uruchamianie skryptu z dowolnego katalogu Kolizje nazw skryptów i zmiennych dr Sławomir Marczyński
25 Funkcje w Matlabie są wygodniejsze niż skrypty zmienne lokalne zmienne globalne parametry wejściowe parametry wyjściowe uchwyty dokumentacja dla help dr Sławomir Marczyński
26 Funkcje podstawowe Funkcje inlinie Funkcje anonimowe Funkcje lokalne Funkcje prywatne Funkcje zagnieżdżone Funkcje przeładowane/przeciążone (overloaded) dr Sławomir Marczyński
27 dr Sławomir Marczyński
28 Jeżeli funkcja nazywa się fun to musi być zapisana w pliku fun.m Na początku musi być napisane słowo kluczowe function, co ma być wynikiem działania, jaka jest nazwa i jakie są parametry Na końcu może być napisane end Wszystkie zmienne wewnątrz funkcji są lokalne chyba że są globalne Specjalne komentarze - autodokumentacja dr Sławomir Marczyński
29 dr Sławomir Marczyński
30 dr Sławomir Marczyński
31 dr Sławomir Marczyński
32 Zamiast pliku fun.m możemy użyć funkcji inline, np.: fun = inline('x^3-1'); fzero(fun, [0, 1]) dr Sławomir Marczyński
33 Funkcje anonimowe to funkcje nie mające własnej nazwy są wygodniejsze niż inline pi/4) Można je nazwać, np.: fun1 * y / (x + y) ; dr Sławomir Marczyński
34 dr Sławomir Marczyński
35 dr Sławomir Marczyński
36 Funkcje prywatne są to tak samo napisane funkcje jak funkcje podstawowe ale umieszczone w folderze private W ten sposób stają się one niedostępne do normalnego wywołania chyba że wywołuje je inna funkcja, taka która jest w folderze w którym jest folder private dr Sławomir Marczyński
37 dr Sławomir Marczyński
38 elseif dr Sławomir Marczyński
39 opcja = 'WARIANT1'; switch opcja case {'WARIANT1','WARIANT2'} disp('1 albo 2 ') case 'WARIANT3' disp('3') otherwise disp('ani 1, ani 2, ani 3') end dr Sławomir Marczyński
40 eps = 1; while (1+eps) > 1 eps = eps/2; end eps = eps*2 dr Sławomir Marczyński
41 a = zeros(k,k) for m = 1:k for n = 1:k a(m,n) = 1/(m + n -1); end end for s = 1.0: -0.1: 0.0,..., end for s = [1,5,8,17],..., end for e = eye(n),..., end for V = A,..., end for k = 1:n, V = A(:,k);..., end dr Sławomir Marczyński
42 A = rand(3); B = ones(5); try C = [A; B]; catch err % -- tu możemy coś zrobić -- rethrow(err); end dr Sławomir Marczyński
43 global, persistent break return ~ do pomijania parametrów nargin nargout, ; % # i, j dr Sławomir Marczyński
44 Matlab jest bardzo prosty w użyciu, efektywność Matlaba jest bardzo wysoka, ale wymaga wektoryzacji problemu, tj. zapisania go macierzowo. Większość obliczeń można równie dobrze wykonać w programach Octave lub SciLab używając takich samych poleceń lub po automatycznej translacji ale niektórych obliczeń nie da się wykonać równie łatwo w darmowych programach. Możliwości graficzne Matlaba znacznie przewyższają konkurencję. Wydajność samych obliczeń numerycznych jest praktycznie taka sama dla wszystkich programów. dr Sławomir Marczyński
45 Życie jest zbyt krótkie, aby marnować je na getchar() dr Sławomir Marczyński
46 Mamy dane liczbowe pochodzące z pomiarów i chcemy nad nimi popracować w Matlabie Chcemy wczytać do Matlaba fotografię, dźwięk lub arkusz kalkulacyjny Chcemy dziś zapisać wyniki obliczeń, aby jutro można było kontynuować pracę w Matlabie Tworzymy jakiś złożony projekt w Matlabie i chcemy go testować na zawsze takim samym zestawie danych Wyniki obliczeń chcemy przekazać komuś, kto nie ma Matlaba lub użyć jako danych w innym programie dr Sławomir Marczyński
47 dr Sławomir Marczyński
48 dr Sławomir Marczyński
49 dr Sławomir Marczyński
50 Mamy dane w postaci plików na dysku. Jak wprowadzić te dane do programu Matlab? # DANE Z DNIA tu jeszcze wiele wiele linii z danymi # KONIEC BLOKU DANYCH dr Sławomir Marczyński
51 Przygotowujemy plik tekstowy jak poniżej d = [ ]; tu jeszcze wiele wiele linii z danymi Zapisujemy ten plik jako skrypt dane.m Uruchamiamy ten skrypt poleceniem dane dr Sławomir Marczyński
52 Usuwamy z pliku komentarze Oczywiście możemy użyć nie tylko programu do edycji tekstu (Notepad, vi), ale pary poleceń head i tail, edytora sed, programu w awk, skryptu VBS czytujemy cały plik do jednej macierzy przez load d = load('dane.txt'); dr Sławomir Marczyński
53 textread jest funkcją pozwalającą łatwo wczytać dane z pliku tekstowego do kilku zmiennych jedną instrukcją Pomijanie komentarzy dr Sławomir Marczyński
54 Pomijanie komentarzy dr Sławomir Marczyński
55 dr Sławomir Marczyński
56 dr Sławomir Marczyński
57 Wszystkie elementy są tego samego typu Dane mogą być dowolnego typu Macierze liczb rzeczywistych lub zespolonych Całe macierze jako elementy Łańcuchy znaków jako napisy Nie do obliczeń Trzeba np. znajdować macierz odwrotną Macierz Macierz komórkowa dr Sławomir Marczyński
58 Typowym rodzajem pliku ASCII-delimited jest plik CSV Pliki tego rodzaju używają specjalnego znaku (najczęściej znaku tabulacji, średnika lub przecinka) do rozdzielenia wartości liczbowych Sekwencja dwóch znaków rozdzielających jeden po drugim pojawia się wtedy, gdy brak jest jakiejkolwiek wartości w danym miejscu tabeli dlmread('myfile.txt', ';', 2, 3) dlmread('myfile.txt', ';', 'C1..G4') dr Sławomir Marczyński
59 Matlab potrafi przeczytać/zapisać nie tylko zwykłe pliki tekstowe, lecz także pliki XML i w różnych innych popularnych formatach, w tym (niektóre) zawierające dźwięk lub obraz. Służą do tego wyspecjalizowane wysokopoziomowe funkcje, takie jak np. xmlread, xmlwrite, csvread, csvwrite, wavread, wavwrite, aviread itd. Wymagają one tylko podania nazwy pliku nie są potrzebne ani fopen i fclose, ani znajomość wewnętrznej struktury takiego pliku. Można też do czytania danych używać funkcji importdata oraz interaktywnie przez uiimport dr Sławomir Marczyński
60 dr Sławomir Marczyński
61 dr Sławomir Marczyński
62 dr Sławomir Marczyński
63 dr Sławomir Marczyński
64 dr Sławomir Marczyński
65 fopen, fclose feof fgetl, fgets fscanf sscanf - otwieranie i zamykanie plików - sprawdzanie, czy plik da się czytać - czytanie całej linii tekstu - czytanie z pliku - czytanie z łańcucha znaków i jeszcze parę innych (np. frewind, ftell, fseek, ferror) NIGDY nie używać str2num(s) bo to ukryte eval(s) str2double(s) jest bezpieczne dr Sławomir Marczyński
66 powinniśmy sprawdzić czy plik się otworzył dr Sławomir Marczyński
67 input = fopen('dane.txt','r'); output = fopen('wyniki.txt','w'); while ~feof(input) line = fgetl(input); if ~isempty(line) end end begin = 1; [ s, ~, ~, next ] = sscanf(line(begin:end), '%s', 1); begin = begin + next - 1; [ n, ~, ~, next ] = sscanf(line(begin:end), '%d', 1); begin = begin + next - 1;... tu coś jeszcze... fclose(input); fclose(output); dr Sławomir Marczyński
68 534D f6 741f 409f f 0000 input = fopen('dane.dat', 'rb'); byte1 = fread(input, 1, '*uint8' ); byte2 = fread(input, 1, '*uint8' ); values = fread(input, 8192, '*double'); fclose(input); dr Sławomir Marczyński
69 Pliki zapisane jako.mat mogą zawierać kilka macierzy wraz z informacją o ich rozmiarach itd. aby je przeczytać potrzebny jest program Matlab, ewentualnie Octave lub Scilab gwarantują, że nie będzie dodatkowych zaokrągleń i konwersji Pliki zapisane jako.txt (z opcją -ascii) mogą zawierać tylko jedną macierz i nie ma w nich dodatkowych informacji można otworzyć w dowolnym edytorze tekstu mogą prowadzić do utraty dokładności obliczeń dr Sławomir Marczyński
70 dr Sławomir Marczyński
71 dr Sławomir Marczyński
72 dr Sławomir Marczyński
73 Matlab oferuje bardzo wiele funkcji do czytania i zapisywania różnych danych m.i. dlatego, aby ułatwić przetwarzanie danych z różnych źródeł. Zawsze zanim sięgnie się po niskopoziomowe czytanie/pisanie do plików warto sprawdzić czy nie da się czytać/zapisywać wysokopoziomowo. Gdy dane mają być np. wstawienia w tekst w MS Word to przydatne mogą być funkcje fprintf oraz print. Ustawienie w print wyższej rozdzielczości opcją -r poprawia jakość. W prostych zastosowaniach wystarcza się disp i load. dr Sławomir Marczyński
74 Suma trzech liczb to 15, ich iloczyn wynosi 125, jakie to są liczby? dr Sławomir Marczyński
75 liniowe kwadratowe stopnia trzeciego stopnia czwartego nielinowe trygonometryczne zwyczajne całkowe cząstkowe DAE DDE UKŁADY RÓWNAŃ różniczkowo-całkowe dr Sławomir Marczyński
76 dr Sławomir Marczyński
77 dr Sławomir Marczyński
78 Wartości własne macierzy kwadratowej są pierwiastkami wielomianu charakterystycznego det(a λi) = 0 Matlab oblicza wartości własne stowarzyszonej macierzy Frobeniusa [diag(ones(n-1,1),-1), flipud[p]] a tak obliczone wartości własne są oczywiście pierwiastkami wielomianu o współczynnikach p Algorytm znajdowania wartości własnych nie wymagający rozwiązywania równania z wielomianem charakterystycznym p = poly(r) daje wielomian p mający pierwiastki r dr Sławomir Marczyński
79 dr Sławomir Marczyński
80 dr Sławomir Marczyński
81 dr Sławomir Marczyński
82 Halley druga pochodna dr Sławomir Marczyński
83 Muller parabola zamiast prostej dr Sławomir Marczyński
84 dr Sławomir Marczyński
85 dr Sławomir Marczyński
86 Algorytm Illinoisa dr Sławomir Marczyński
87 dr Sławomir Marczyński
88 dr Sławomir Marczyński
89 Brent?! bisekcja, sieczna, odwrotna interpolacja paraboliczna dr Sławomir Marczyński
90 Mamy więcej niż jedno równanie Mamy więcej niż jedną niewiadomą Równania są liniowe Dlaczego takie równania są ważne? Bo wiele problemów technicznych itp. daje się sprowadzić do takich równań. dr Sławomir Marczyński
91 Równań jest dużo? Macierz trójkątna? Trójdiagonalna? Diagonalna? Osobliwa macierz? Dużo jest takich układów? dr Sławomir Marczyński
92 Jest mniej równań niż niewiadomych i nie zawsze jest to oczywiste dr Sławomir Marczyński
93 Podobnie jak poprzednio macierz nie jest kwadratowa, mamy za dużo równań dr Sławomir Marczyński
94 Metoda eliminacja Gaussa-Jordana zamiana dwóch wierszy w macierzy A jednocześnie zamiana odpowiednich dwóch elementów b zamiana dwóch kolumn w macierzy A jednocześnie zamiana elementów w x oraz b zastąpienie jednego z wierszy w macierzy A odpowiedniego elementu b poprzez kombinację liniową pivoting nadaje się do odwracania macierzy Metoda eliminacji Gaussa z podstawieniem zamiast tworzyć macierz jednostkową otrzymujemy macierz trójkątną dr Sławomir Marczyński
95 Równanie A * x = b rozwiązujemy wpisując x = A \ b Równanie x * A = b rozwiązujemy wpisując x = b / A dr Sławomir Marczyński
96 dr Sławomir Marczyński
97 Mając macierz A macierz odwrotną obliczamy wpisując B = inv(a) Mając macierz A macierz pseudoodwrotną obliczamy wpisując B = pinv(a) dr Sławomir Marczyński
98 dr Sławomir Marczyński
99 dr Sławomir Marczyński
100 dr Sławomir Marczyński
101 dr Sławomir Marczyński
102 Obliczenia są szybkie Obliczenia są dokładne Dzielenie przez zero? dr Sławomir Marczyński
103 dr Sławomir Marczyński
104 Dekompozycję LU wykonuje funkcja lu Dekompozycję Choleskiego wykonuje funkcja chol Dekompozycję QR wykonuje funkcja qr Dekompozycję SVD wykonuje funkcja svd dr Sławomir Marczyński
105 Zamiast wektorów x, b mogą być macierze Łatwo można obliczyć wyznacznik i macierz odwrotną dr Sławomir Marczyński
106 Crout Doolittle dr Sławomir Marczyński
107 dr Sławomir Marczyński
108 dr Sławomir Marczyński
109 dr Sławomir Marczyński
110 dr Sławomir Marczyński
111 Banachiewicz opracował rachunek krakowianowy: krakowiany mnoży się kolumna przez kolumnę. Tadeusz Banachiewicz ( ) Andre-Louis Cholesky ( ) Prescott Durand Crout ( ) dr Sławomir Marczyński
112 to nie jest macierz kwadratowa to jest (już) macierz kwadratowa a nawet symetryczna dodatnio określona dr Sławomir Marczyński
113 dr Sławomir Marczyński
114 dr Sławomir Marczyński
115 Odwracanie takiej macierzy algorytmem TDMA Thomasa jest równie łatwe jak macierzy diagonalnej (koszt liniowy) najpierw eliminujemy elementy pod przekątną, potem rozwiązujemy równanie z macierzą dwuprzekątniową Tego rodzaju macierze pasmowe powstają gdy rozwiązujemy różne problemy, w tym przy tworzeniu funkcji sklejanych oraz rozwiązywaniu równań PDE. dr Sławomir Marczyński
116 W metodach Gaussa-Seidela, SOR i SSOR rozbijamy macierz A na sumę macierzy dolnotrójkątnej, diagonalnej i górnotrójkątnej. dr Sławomir Marczyński
117 dr Sławomir Marczyński
118 dr Sławomir Marczyński
119 Gaussa-Seidela: zamiast starego x po prawej stronie używamy bieżącego już zaktualizowanego wektora x jeszcze przed zakończeniem jednej iteracji górnotrójkątna SOR: ekstrapolacja dla przyspieszenia zbieżności dolnotrójkątna SSOR: SOR dla symetrycznych macierzy A dr Sławomir Marczyński
120 przestrzeń Kryłowa x = pcg(a,b) CG sprzężonych gradientów x = bicg(a,b) BiCG bi-sprzężonych gradientów x = bicgstab(a,b) x = bicgstabl(a,b) Bi-CGSTAB stabilizowana bi-sprzężonych gradientów x = minres(a,b) MINRES minimalnego residuum x = symmlq(a,b) SYMMLQ symetryczna LQ? CGNE, CGNR (nie ma w Matlabie) x = gmres(a,b) GMRES uogólniona najmniejszego residuum x = qmr(a,b) QMR quasi-minres x = cgs(a,b) CGS kwadratowego gradientu sprzężonego? Czebyszewa (nie ma w Matlabie) x = lsqr(a,b) LSQR x = tfqmr(a,b) TFQMR transpose-free quasi-minimal residual dr Sławomir Marczyński
121 dr Sławomir Marczyński
122 Moore-Penrose pinv(a) to niemal to samo co A = inv(a'*a)*a' ortonormalne diagonalna dr Sławomir Marczyński
123 dr Sławomir Marczyński
124 dr Sławomir Marczyński
125 Oczywiście można samodzielnie użyć tego rodzaju metody, ale najlepiej sprawdzić, czy zadziała fsolve Broyden jakobian jest aktualizowany Metody Adomiana: ADM, RADM dr Sławomir Marczyński
126 OPTIMISATION TOOLBOX dr Sławomir Marczyński
127 Matlab i Octave same wybierają najlepszy z możliwych algorytm rozwiązywania równań liniowych (na przykład potrafią rozpoznać równanie trójdiagonalne) Takie metody jak np. Jacobiego czy SOR można bardzo prosto zapisać w Matlabie lub Octave (patrz Najbardziej zaawansowane metody są po prostu jako gotowe funkcje. Jeżeli nie musimy mieć macierzy odwrotnej to nie używamy funkcji inv jest mniej dokładna. NIGDY nie używamy wyznaczników do rozwiązywania układów równań dr Sławomir Marczyński
128 Dajcie mi warunki początkowe, a obliczę przyszłość dr Sławomir Marczyński
129 W nauce, technice itd. różne wielkości mogą być powiązane ze sobą formułami matematycznymi na przykład ciężar kuli zależy od jej średnicy i materiału z jakiego została wykonana. W wielu wzorach występują pochodne na przykład prędkość i przyspieszenie, natężenie prądu, przyrost naturalny Problemem nie jest ułożenie równania Problemem jest rozwiązanie równania dr Sławomir Marczyński
130 dr Sławomir Marczyński
131 Ruch ciężarka na idealnej sprężynie ma ładne rozwiązanie analityczne nieprzydatne w praktyce dr Sławomir Marczyński
132 Równanie przepisujemy w postaci takiego układu równań, w którym są tylko pierwsze pochodne Obliczamy numeryczne rozwiązania przy pomocy programu Matlab/Octave dr Sławomir Marczyński
133 dr Sławomir Marczyński
134 dr Sławomir Marczyński
135 dr Sławomir Marczyński
136 dr Sławomir Marczyński
137 Klasyczny oscylator tłumiony jest tłumiony siłą proporcjonalną do prędkości Daje to równanie Te równanie można rozwiązać analitycznie Dodatkowo można wprowadzić wymuszenie a co zrobić jak tłumienie ma inną naturę, na przykład jego źródłem jest zwykła siła tarcia? dr Sławomir Marczyński
138 1 położenie 0.5 x diagram fazowy t prędkość x x x t dr Sławomir Marczyński
139 x 2 x 1 położenie t x 10 4 prędkość t x 10 4 x diagram fazowy x razy zwiększamy tend, czyli czas objęty symulacją 1 błąd: aliasing 2 błąd: numeryczne tłumienie drgań dr Sławomir Marczyński
140 1 położenie 1 położenie x diagram fazowy x diagram fazowy t x 10 4 prędkość x t x 10 4 prędkość x x x 1 x x t x t x 10 4 więcej kroków ode23t dr Sławomir Marczyński
141 1 położenie 0.5 x diagram fazowy t prędkość x x x t dr Sławomir Marczyński
142 8 położenie 6 4 x diagram fazowy t x prędkość -1 x x t dr Sławomir Marczyński
143 Problemem jest wybór znaku i tarcie statyczne, którego siła nie musi być maksymalna dr Sławomir Marczyński
144 dodatkowe parametry Siła tarcia zawsze jest przeciwnie skierowana do prędkości, a jeżeli ciało spoczywa to dr Sławomir Marczyński
145 dr Sławomir Marczyński
146 dr Sławomir Marczyński
147 dr Sławomir Marczyński
148 Procedury rozwiązywania numerycznie równań ODE (takie jak ODE45 czy ODE113) uruchamiamy podając zakres (lub ciąg wartości) zmiennej niezależnej dla którego chcemy mieć rozwiązanie Czasami chcemy np. przerwać obliczenia gdy będą spełnione pewne warunki np. lecąca piłka uderzy o boisko dr Sławomir Marczyński
149 dr Sławomir Marczyński
150 dr Sławomir Marczyński
151 ode23 (Shampine-Bogacki) i ode45 (Dormand-Prince) implementują schematy Runge-Kutty rzędu odpowiednio 3 i 4 oraz 4 i 5. Każda z nich w trakcie działania używa pary metod po to, aby móc ocenić dokładność obliczeń i odpowiednio dobrać krok. ode113 używa wielokrokowej, z predykatorem i korektorem, automatycznym dopasowaniem rzędu i kroku, metody Adamsa-Bashfortha-Moultona (przeniesiona z fortranowskich DE/STEP/INTERP Shampine a i Gordona). ode15s implementuje techniki różniczkowania do tyłu NDF (Klopfenstein-Shampine) i BDF wybierając wzory rzędu od 1 do 5. ode23s wywodzi się z metody Rosenbrocka, ale ma pewne udoskonalenia (Shampine-Reichelty). ode23t to niejawna metoda trapezów. ode23tb to ode23t z różniczkowaniem BDF. Octave ma wbudowaną funkcję lsode (Livermore Solver of ODE), która wymaga nieco innej kolejności parametrów niż funkcje znane z Matlaba. dr Sławomir Marczyński
152 dr Sławomir Marczyński
153 Jeden wykres wymaga tysiąca punktów dr Sławomir Marczyński
154 dr Sławomir Marczyński
155 dr Sławomir Marczyński
156 dr Sławomir Marczyński
157 dr Sławomir Marczyński
158 dr Sławomir Marczyński
159 dr Sławomir Marczyński
160 dr Sławomir Marczyński
161 dr Sławomir Marczyński
162 dr Sławomir Marczyński
163 barh daje belki horyzontalne rose to hist we współrzędnych biegunowych dr Sławomir Marczyński
164 dr Sławomir Marczyński
165 dr Sławomir Marczyński
166 dr Sławomir Marczyński
167 dr Sławomir Marczyński
168 dr Sławomir Marczyński
169 dr Sławomir Marczyński
170 dr Sławomir Marczyński
171 dr Sławomir Marczyński
172 dr Sławomir Marczyński
173 dr Sławomir Marczyński
174 dr Sławomir Marczyński
175 dr Sławomir Marczyński
176 dr Sławomir Marczyński
177 dr Sławomir Marczyński
178 dr Sławomir Marczyński
179 Mamy dane dla 10, 15, 25, 30 i 35 stopni Celsjusza. Temperatura wynosi 18 C. dr Sławomir Marczyński
180 Ile wynosi log ? Abramowitz and Stegun, Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables dr Sławomir Marczyński
181 Interpolacja tworzenie pośrednich wartości na podstawie istniejących danych Ekstrapolacja prognozowanie wartości poza zakresem istniejących danych Aproksymacja przybliżenie, czyli odtworzenie możliwie dokładnie istniejących danych dr Sławomir Marczyński
182 Funkcja: dla zadanej funkcji f możemy szukać takiej funkcji g aby zminimalizować wartość normy. Liczby: mając tablicę liczb możemy szukać algorytmu pozwalającego odtworzyć właśnie te liczby. Wyniki pomiarów obarczone błędami/niepewnościami: klasyczne podejście i interpretacja Bayesa. dr Sławomir Marczyński
183 aproksymacja jednostajna są możliwe inne normy możliwie dokładne dopasowanie dla WSZYSTKICH możliwych wartości x Trzy współczynniki: JAK JE OBLICZYĆ?!? Możemy mieć tyle równań, ile będziemy chcieli mieć dr Sławomir Marczyński
184 Jeżeli znajdziemy f(x), to będziemy mogli robić różne rzeczy, np. interpolować, ekstrapolować, obliczać pochodne, całki itd. Równań mamy tylko tyle ile jest par (x,y) mamy tylko to i nic więcej nie ma funkcji obliczającej y(x) nie wiemy co jest dla x = 36.6 zakładamy postać funkcji f(x) możliwe jest, że dane są niedokładne, czyli występują niepewności pomiarowe dla aproksymacji potrzebna jest miara jakości dopasowania dla interpolacji mamy po prostu y = f(x) dla wartości z tabelki dr Sławomir Marczyński
185 Nie można policzyć ani całki, ani pochodnej z danych będących dyskretnymi wartościami liczbowych ale można skonstruować funkcję interpolującą takie wartości aby wykonać na niej te operacje matematyczne otrzymując wzory, w który występują wartości liczbowe, jakie mieliśmy jako dane. dr Sławomir Marczyński
186 Interpolacja liniowa jest automatyczna na wykresach rysowanych plot(x,y) dr Sławomir Marczyński
187 Najpierw musimy sprawdzić, czy wartość x jest w środku przedziału (x 1, x 2 ), i określić ile konkretnie wynoszą x 1, x 2, y 1, y 2. Jeżeli przypadkiem x jest mniejsze lub większe niż współrzędne w danych wejściowych musimy przeprowadzić ekstrapolację Potem musimy wyliczyć dla podanego x wartość y Jeżeli mamy podany uporządkowany ciąg wartości x, to powtarzając obliczenia moglibyśmy zaoszczędzić trochę na czasie wyszukiwania dr Sławomir Marczyński
188 dr Sławomir Marczyński
189 dr Sławomir Marczyński
190 Macierz Vandermonde a UWAGA: w Matlabie macierz Vandermode a to fliplr(vander(x)) dla wektora x Ale to działa tylko wtedy, gdy m = n dr Sławomir Marczyński
191 Taki sam rezultat można osiągnąć wywołaniem funkcji polyfit Można opuścić jednocześnie fliplr i flipud, wtedy kolejność elementów a będzie odwrotna dr Sławomir Marczyński
192 dr Sławomir Marczyński
193 Jest lepszy sposób: algorytm Neville a który wyparł algorytm Aitkena dr Sławomir Marczyński
194 Zawsze tylko jeden z wielomianów Lagrange a jest różny od zera w każdym z punktów danych. dr Sławomir Marczyński
195 Złożoność obliczeniowa: Matlab używa właśnie tego odwracanie macierzy przy interpolacji funkcją wielomianową złożoną z jednomianów O(N 3 ) naiwna interpolacja wielomianem Lagrange O(N 2 ) interpolacja barycentryczna O(N) można wstępnie obliczyć, bo nie zależy od y to tylko inna organizacja obliczeń, wynik powinien być taki sam dr Sławomir Marczyński
196 dr Sławomir Marczyński
197 dr Sławomir Marczyński
198 dr Sławomir Marczyński
199 dr Sławomir Marczyński
200 dr Sławomir Marczyński
201 Przeskalowujemy interesujący nas zakres do przedziału [-1, +1] Wybieramy maksymalny rząd wielomianu n Obliczamy ile wynoszą rzędne dla odciętych w miejscach zerowych wielomianu Czebyszewa rzędu n Mamy n+1 punktów pozwalających wyznaczyć interpolację Nie odwracamy macierzy: wystarcza transpozycja dr Sławomir Marczyński
202 Pierwszy wielomian Czebyszewa zastępujemy przez 1/sqrt(2) Zamiast odwracać wystarczy transponować dr Sławomir Marczyński
203 dr Sławomir Marczyński
204 dr Sławomir Marczyński
205 dr Sławomir Marczyński
206 dr Sławomir Marczyński
207 wartości nachylenia krzywej interpolującej (czyli pierwsza pochodna) dla x k not-a-knot dr Sławomir Marczyński
208 wymaga DLC: Curve Fitting Toolbox dr Sławomir Marczyński
209 dr Sławomir Marczyński
210 dr Sławomir Marczyński
211 dr Sławomir Marczyński
212 osculatory interpolation dr Sławomir Marczyński
213 Skrajne punkty są traktowane odmiennie Jeżeli ilorazy różnicowe δ k-1 i δ k dla kolejnych punktów danych k-1, k, k+1 mają przeciwne znaki (przynajmniej jeden z nich jest równy zero), to przyjmujemy d k = 0 Jeżeli ilorazy różnicowe mają ten sam znak i przedziały po obu stronach węzła są jednakowej długości, to d k jest średnią harmoniczną tych ilorazów Jeżeli przedziały mają różną długość, to średnia harmoniczna jest średnią ważoną dr Sławomir Marczyński
214 dr Sławomir Marczyński
215 dr Sławomir Marczyński
216 FD cardinal Catmull-Rom Akima Fritsch-Carlson Kochanek-Bartels TCB Gdzie? Na przykład w programie 3D Studio Max dr Sławomir Marczyński
217 Zamiast wielomianów bierzemy funkcje trygonometryczne sinus i cosinus układamy równania itd. w praktyce niczym specjalnym się to nie różni od tego co można zrobić z wielomianami Jeżeli węzły interpolacji są równoodległe, to znacznie lepiej (?) jest stosować do interpolacji szybką transformację Fouriera (FFT). Zaleta: nadaje się do funkcji mających okres dr Sławomir Marczyński
218 dr Sławomir Marczyński
219 funkcje sklejane z naprężeniem (splines with tension) funkcje sklejane Czebyszewa interpolacja funkcją wymierną / Pade Kriging interpolacja Whittakera Shannona (sinc) interpolacja przy pomocy falek (wavelets) dr Sławomir Marczyński
220 Zamiast przeciągać krzywą przez punkty możemy ją poprowadzić możliwie blisko zadanych punktów. Potrzebne jest kryterium określające czym jest blisko, jednym z możliwych (ale są i inne) jest minimalizacja sumy kwadratów odchyleń Nie jesteśmy w stanie odtworzyć zadanych punktów, ale taka aproksymacja znacznie lepiej się sprawdza gdy dane wejściowe są obarczone niepewnościami pomiarowymi Krzywe używane do aproksymacji mogą być wielomianami, funkcjami sklejanymi itp. Jeżeli wiadomo jaka jest postać funkcji, a tylko nie znane są konkretne parametry, to problem aproksymacji sprowadza się do optymalizacji parametrów. dr Sławomir Marczyński
221 polyfit, polyval, polyder, polyint dr Sławomir Marczyński
222 splinetool dr Sławomir Marczyński
223 splinetool dr Sławomir Marczyński
224 splinetool dr Sławomir Marczyński
225 splinetool, bspligui csape, csapi, csaps, cscvn, getcurve, ppmak, spap2, spapi, spaps, spcrv, spmak, rpmak, rscvn, rsmak, stmak, tpaps, fnbrk,fnchg, fncmb, fnder, fndir, fnint, fnjmp, fnmin, fnplt, fnrfn, fntlr, fnval, fnxtr, fnzeros, fn2fm aptknt, augknt, aveknt, brk2knt, chbpnt, knt2brk, knt2mlt, newknt, optknt, sorted spcol, stcol,slvblk, bkbrk splpp, sprpp franke, subplus, titanium Carl de Boor bspline, spterms dr Sławomir Marczyński
226 spap2 powinno być też i w Octave dr Sławomir Marczyński
227 dr Sławomir Marczyński
228 W praktyce można najpierw spróbować wywołać interp1 z parametrem 'spline. W teorii najczęściej pojawiają się wielomiany Lagrange a i Czebyszewa. Gdy dane są z niepewnościami pomiarowymi, to lepszym pomysłem niż interpolacja będzie aproksymacja. Najlepiej wtedy dopasować krzywą uzasadnioną modelem teoretycznym np. jeżeli zależność ma być liniowa, to linię prostą (regresja liniowa). Jeżeli potrzebna jest interpolacja funkcją dwóch i więcej zmiennych, to odpowiednie będą interp2, interp3, interpn. dr Sławomir Marczyński
229 Jeżeli samochód przyspiesza do 100 km/h w ciągu 8 sekund, to jakie ma przyspieszenie? dr Sławomir Marczyński
230 dr Sławomir Marczyński Obojętnie jak obliczamy (Newton, Lagrange, Czebyszew), to i tak powinniśmy otrzymać zawsze taki sam wielomian.
231 wartości y k Zamiast obliczać wielomian interpolacyjny w postaci Newtona lub Lagrange a wygodniej zastosować schemat obliczeń Nevilla lub schemat Aitkena wartości interpolowane interpolacja wielomianem stopnia piątego dr Sławomir Marczyński
232 dr Sławomir Marczyński
233 dr Sławomir Marczyński
234 dr Sławomir Marczyński
235 musimy znać n ale tylko dwie wartości u są potrzebne możemy rozwiązać aby wyznaczyć n dr Sławomir Marczyński
236 dr Sławomir Marczyński
237 można użyć ekstrapolacji Richardsona dr Sławomir Marczyński
238 zamiast wielomianów Lagrage moglibyśmy użyć czegoś innego?! współczynniki nie zależą od danych wejściowych dr Sławomir Marczyński
239 dr Sławomir Marczyński
240 więcej współczynników: dr Sławomir Marczyński
241 Pozwalają zamienić równania z pochodnymi na równania bez pochodnych dr Sławomir Marczyński
242 Wielomiany Czebyszewa Algorytm Riddersa Funkcje sklejane Konstruujemy funkcję sklejaną, np. przy pomocy polecenia spline lub wywołując csape, ewentualnie spap2 Dla tak otrzymanych wielomianów wywołujemy polecenie polyder (lub fnder jeżeli mamy Curve Fit Toolbox) Transformacja Fouriera Twierdzenie Cauchy ego dr Sławomir Marczyński
243 dr Sławomir Marczyński
244 dr Sławomir Marczyński metoda Riddersa ekstrapoluje do h = 0 pochodne dla wielomianów wyliczanych algorytmem Nevilla
245 dr Sławomir Marczyński
246 ? dr Sławomir Marczyński
247 dr Sławomir Marczyński
248 dr Sławomir Marczyński
249 dr Sławomir Marczyński
250 dr Sławomir Marczyński
251 Newton-Cotes metoda trapezów Simpsona 3/8 Simpsona metoda Boole a Chochlik drukarski w książce Abramowitza i Steguna i wielu innych podręcznikach (włącznie z Numerical Recipes): Boole jest pomylony z Bode dr Sławomir Marczyński
252 dr Sławomir Marczyński
253 dr Sławomir Marczyński
254 podstawowy problem: ocena dokładności Jeżeli możemy obliczać wartość funkcji tam gdzie chcemy, to zamiast zwiększać liczbę punktów możemy je lepiej rozmieścić (w zerach wielomianów orto) Gaussa-Czebyszewa, Czebyszewa i Czebyszewa-Radau Legendre, Laguerre, (każdy wielomian ortogonalny) Lobatto Gaussa-Kronroda Całkowanie metodą Romberga (algorytm Richardsona) Jeżeli nie możemy obliczać: funkcje sklejane MC, PMC, QMC najlepsza metoda? metody adaptacyjne dr Sławomir Marczyński
255 dr Sławomir Marczyński
256 dr Sławomir Marczyński
257 dr Sławomir Marczyński
258 dr Sławomir Marczyński
259 dr Sławomir Marczyński
260 arrayfun dr Sławomir Marczyński
261 trapz uwaga: nieco inne granice całkowania dr Sławomir Marczyński
262 dr Sławomir Marczyński
263 trik: łatwo wyznaczyć współczynniki dr Sławomir Marczyński
264 quad2d całki podwójne triplequad całki potrójne dr Sławomir Marczyński
265 Matlab nie ma funkcji do obliczania pochodnych, polecenie diff służy jedynie od obliczania różnic pomiędzy kolejnymi elementami. Najdokładniejszą ogólną metodą numeryczną obliczania pochodnych funkcji ciągłej jest algorytm Riddersa, choć powszechnie stosuje się najprostsze wzory z centralnymi różnicami skończonymi. Liczenie pochodnych z danych uzyskanych w pomiarach jest ryzykowne, można stosować aproksymację funkcją sklejaną albo w inny sposób wstępnie wygładzić dane. Dla funkcji ciągłych dobrym i prostym sposobem na policzenie numerycznie całki jest w Matlabie polecenie quadgk. Dla danych dyskretnych najprościej jest użyć jednocześnie interpolacji i funkcji quadgk. Dobre rezultaty osiąga daje spap2 wraz z fnint i fnval. Matlab ma funkcje do liczenia całek wielokrotnych. dr Sławomir Marczyński
266 Aby dotrzeć na szczyt wystarczy iść pod górę. dr Sławomir Marczyński
267 Mamy pewną funkcję (lub dane) i chcemy znaleźć wartość maksymalną znaleźć wartość minimalną Typowe problemy szukanie najlepszego rozwiązania, np. dającego największy zysk finansowy, najmniejsze zużycie paliwa itd. znajdowanie najlepszych parametrów minimalizujących sumę kwadratów odchyleń dr Sławomir Marczyński
268 max daje największą wartość z wektora i pozycję gdzie ona jest funkcje min i max są bardzo przydatne, ale to nie są te funkcje, których szukamy dr Sławomir Marczyński
269 min(a) nie daje najmniejszej wartości jaka jest w macierzy A zamiast jednej liczby dostajemy cały wektor wartości najmniejszych dla kolejnych kolumn (oraz ewentualnie określenie, skąd te wartości pochodzą). typowy sposób określenia najmniejszej wartości w całej macierzy - wywołanie min rekurencyjnie dr Sławomir Marczyński
270 sort, sortrows Maksymalna interpolowana wartość: niewielka dokładność ograniczona przez liczbę punktów interpolacji i wybór spline dr Sławomir Marczyński
271 dr Sławomir Marczyński
272 dr Sławomir Marczyński
273 Bez gradientu, bez hessjanu) Down hill / up hill Simplex (Nedler-Mayer) PS (pattern-search, Fermi- Metropolis) Monte-Carlo RS (random-search, Rastrigin, Marsaglia) RO (random-optimisation, Matyas) LJ (Luus Jaakola) EA (evolutionary algorithms) GA (genetic algorithm) MA (memetic algorithm) DE (differential evolution) PSO (particle swarm optimization) SA (simulated annealing) Tabu Z gradientem steepest descent (Cauchy) Powell s gradient conjugate gradient Fletcher-Reeves Polak-Ribiere variable metrics, quasi-newton DFP (Davidon Fletcher Powell) SR1 (symmetric rank 1) BFGS (Broyden Fletcher Goldfarb Shanno) Z gradientem i hessjanem Newtona LMA (Levenberg Marquardt) dr Sławomir Marczyński
274 dr Sławomir Marczyński
275 Mamy pary przybliżonych współrzędnych punktów na okręgu, chcemy znaleźć środek okręgu i jego promień. Wiemy też, że punkty te są rozłożone równomiernie (mamy przynajmniej kilkanaście punktów i w każdej ćwiartce okręgu jest przynajmniej jeden z nich). dr Sławomir Marczyński
276 % Generowanie punktów prawie na okręgu n = 50.0; % liczba punktów R = 10.0; % promień okręgu dr = 0.5; % odchylenie standardowe phi = 2*pi * rand (n,1); r = R + dr * randn(n,1); dane = [r.* cos(phi), r.* sin(phi)]; save data.txt dane -ascii dr Sławomir Marczyński
277 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e+000 dr Sławomir Marczyński
278 y x dr Sławomir Marczyński
279 y x dr Sławomir Marczyński
280 dr Sławomir Marczyński
281 dr Sławomir Marczyński
282 dr Sławomir Marczyński
283 dr Sławomir Marczyński
284 Standardowo Matlab oferuje zasadniczo tylko algorytm Neldera-Mayera (sympleks). Funkcja lsqnonneg jest mniej przydatna. Dużo więcej metod staje się dostępnych dzięki Optimization Toolbox, np. przez wywołanie fminunc, lsqcurvefit Kolejne DLC to Global Optimization Toolbox dr Sławomir Marczyński
285 Znajdowanie minimum funkcji jednej zmiennej jest zazwyczaj bardzo łatwe w ostateczności możemy wykreślić funkcję i znaleźć minimum na wykresie. Dla funkcji kilku zmiennych algorytm sympleksu jest wystarczająco efektywny i nie wymaga pochodnych. Warto wiedzieć, jakie algorytmy są zupełnie różne, a jakie bardzo podobne do siebie. dr Sławomir Marczyński
286 Widmo mocy dr Sławomir Marczyński
287 w tej postaci potrzebny jest tylko jeden wektor na współczynniki Wielomiany i funkcje sklejane są ok., ale nienajlepiej nadają się do przedstawiania funkcji okresowych, tj. takich że f(x + okres) = f(x) Funkcje sinus i cosinus są okresowe, więc suma z nich złożona (kombinacja liniowa) też jest funkcją okresową Wystarczy skonstruować macierz Vandermonde a i rozwiązać układ równań (uwaga: z nadmiarem równań poradzimy sobie znajdując rozwiązanie układu nadoznaczonego). dr Sławomir Marczyński
288 trik ze stylami linii dr Sławomir Marczyński
289 Aproksymacja funkcjami trygonometrycznymi czyli szukanie najlepszego wielomianu Fouriera jest bardzo dobrym sposobem aproksymacji zwłaszcza dla funkcji okresowych ale Problem numer 1: co zrobić z całkową transformacją Fouriera? Zamiast k = 1, 2, mamy ciągłą zmienną i całkowanie zamiast sumy. Problem numer 2: odwracanie macierzy (dzielenie A\y) kosztuje O(n 3 ) czasu dla algorytmu Gaussa-Jordana dr Sławomir Marczyński
290 czas częstotliwość dr Sławomir Marczyński
291 Transformacja Fouriera bywa różnie definiowana przez różnych autorów w różnych podręcznikach! Ogólnie wszystkie wzory można zapisać jako Współczynniki (a,b) Fizyka (0,1) albo (-1,1); Matematyka (1,-1); Teoria prawdopodobieństwa (1,1); Teoria sygnałów (0, 2π); może też być np. (0,-2π) dr Sławomir Marczyński
292 te wzory nie będą potrzebne dr Sławomir Marczyński
293 twierdzenie Wienera-Khinchina te wzory umożliwiają np. dekonwolucję dr Sławomir Marczyński
294 twierdzenie Plancherela (wynika z tw. Parsevala) definicja widma gęstości mocy Uwaga: zawsze trzeba sprawdzić, bo są używane różne definicje PSD w różnych zastosowaniach. dr Sławomir Marczyński
295 częstotliwość Nyquista jest równa połowie częstości próbkowania dwa triki: granice całkowania i sumowania; znika delta DELTA! dr Sławomir Marczyński
296 dr Sławomir Marczyński
297 funkcje fft oraz ifft DFT w klasycznej postaci wymaga mnożenia macierzy, a to kosztuje O(N 2 ) Tymczasem od roku 1965 (1805?) mamy algorytm Cooley a-tukey a znany jako Fast Fourier Transform, czyli FFT, o złożoności obliczeniowej O(N log N) Dziś możemy używać nie tylko zwykłego FFT, ale także wiele innych (np. WFTA Winograda) Dużo zależy także od implementacji algorytmu FFT, jedną z najlepszych jest FFTW (Fastest Fourier Transform in the West, używany w Octave Istnieją transformacje TFA jeszcze lepsze, o złożoności zaledwie O(N), tj. transformacje falkowe (1990) dr Sławomir Marczyński
298 Poza przesunięciem indeksów wszystko się zgadza funkcja fft funkcja ifft dr Sławomir Marczyński
299 1. Są jakieś dane ciąg par wartości (x, y) 2. Jest funkcja fft w Matlabie 3. Beztrosko wstawiamy F = fft(y) 4. Rysujemy wykres plot(abs(f)), bo F jest zespolone, więc rysujemy tylko moduł Niestety, to kompletna bzdura tak nie wolno robić! Przynajmniej jeden podręcznik prezentuje taki wykres jako transformację Fouriera! dr Sławomir Marczyński
300 teraz nawet jednostki fizyczne się zgadzają 1. Mamy dane jako np. dwa wektory x, y 2. Upewniamy się, że w wektorze x każda kolejna wartość różni się o te same Δ od poprzedniej (jeżeli nie, to nie da się zastosować FFT) 3. Obliczamy wartości w wektorze f tworząc skalę częstotliwości (od -0.5N/Δ do +0.5N/Δ co 1/Δ) 4. Przeprowadzamy właściwą transformację FFT wywołując F = fft(y) 5. Mnożymy wektor F przez wartość Δ może być częstotliwość próbkowania dla transformacji odwrotnej dzielimy 6. Tasujemy wektor F za pomocą funkcji fftshift 7. Rysujemy co chcemy, np. amplitudę plot(f, abs(f)) 8. Dla ominięcia problemu ujemnych częstotliwości możemy narysować PSD ifftshift dla funkcji odwrotnej ifft dr Sławomir Marczyński
301 dr Sławomir Marczyński
302 Przykład, że nie zawsze musimy mieć skalę częstotliwości i nie zawsze musimy mnożyć/dzielić przez Δ dr Sławomir Marczyński
303 Najprostsze implementacje FFT wymagają aby N było całkowitą potęgą liczby 2; gdy danych jest mniej po prostu uzupełnia się wektor y zerami. Implementacja FFT jakiej używa Matlab tego nie wymaga, N może być dowolne (najlepiej gdy jest 2 m, najgorzej gdy jest liczbą pierwszą). Padding powiększając N zwiększa rozdzielczość w częstotliwości, i choć to samo można mieć przez (dobrą) interpolację, to przez padding robi się to wygodnie i szybko. Padding jest niezbędny przy liczeniu splotu i autokorelacji. dr Sławomir Marczyński
304 Jeżeli mamy funkcję y = sin(2πfx), to spodziewalibyśmy się że jej transformacja FFT wykaże niezerową amplitudę tylko dla częstotliwości f. Problem w tym, że nie możemy dostarczyć do FFT danych o całej sinusoidzie, ale tylko o pewnym jej fragmencie. Ucinając funkcję sinus tworzymy w rzeczywistości różne kształty nie będące sinusoidą. Ten sam problem występuje najwyraźniej przy uzupełnianiu danych zerami i prowadzi do zanieczyszczenia transformaty dr Sławomir Marczyński
305 dr Sławomir Marczyński
306 Aby ograniczyć wprowadzanie zanieczyszczeń do transformaty i wyodrębnić część danych stosuje się okna czasowe (window function). Są różne okna czasowe (żadne nie jest idealne). Zawsze jakieś jest, bo brak okna to okno prostokątne. Najłatwiej jest w Matlabie użyć funkcji polecenia wintool z pakietu Signal Processing Toolbox. Ale jeżeli nie mamy tego toolbox a, to obędziemy się bez niego. Dobrym pomysłem jest użycie przesuwającego się okna czasowego dla uwidocznienia jak transformata ewoluuje w czasie (wymagać to będzie wykresu 3D, np. jako scroll map ). Jeszcze lepszym pomysłem jest użycie falek. dr Sławomir Marczyński
307 dr Sławomir Marczyński
308 dr Sławomir Marczyński
309 dr Sławomir Marczyński
310 dr Sławomir Marczyński
311 dr Sławomir Marczyński
312 FFT jest jednym z dziesięciu najważniejszych algorytmów jakie kiedykolwiek powstały. Najważniejszy jest wzrost prędkości obliczeń w porównaniu z klasycznym DFT. Matlab i Octave mają bardzo dobre gotowe funkcje fft i ifft. Napisanie własnego FFT jest możliwe, ale niepotrzebne. FFT to nie to samo co transformacja Fouriera trzeba pamiętać o mnożeniu (dzieleniu) przez Δ, właściwej skali częstotliwości itd. Istnieją lepsze algorytmy niż FFT algorytmy falkowe. dr Sławomir Marczyński
313 czyli jak używać pdepe i pdetool w programie Matlab dr Sławomir Marczyński
314 Matlab i OOP? dr Sławomir Marczyński
315 Od lat 90-tych XX wieku, dzięki popularności takich języków jak C++ i Java (a także obiektowych dialektów Pascala) powszechne stało się programowanie obiektowe (object oriented programming). Matlab przed wersją 2008a niby miał możliwości OOP, ale koncepcja obiektowości w Matlabie nie pasowała do tego co oferował C++ Matlab od wersji 2008a ma zupełnie nowy model OOP, bardzo zbliżony do tego jaki jest np. w języku Java dr Sławomir Marczyński
316 Program w Matlabie ma współpracować układami pomiarowymi, tak by na bieżąco odczytywać i aktualizować wartości przedstawiane na wykresach Każdy przetwornik ma swój numer identyfikacyjny, każdy przetwornik trzeba najpierw przygotować do pomiarów, potem można odczytywać, w razie potrzeby resetować, a po pomiarach powinien być wyłączony. Możliwe jest, że nie wszystkie przetworniki będą takie same (np. różni producenci itd.) dr Sławomir Marczyński
317 Aby utworzyć klasę obiektów MyClass trzeba utworzyć folder o Każda funkcja, jaką umieścimy w staje się metodą klasy MyClass Jeżeli taką funkcję umieścimy w to będzie to metoda prywatna W musi być konstruktor, tj. funkcja nazywająca się MyClass w pliku MyClass.m Konstruktor musi utworzyć strukturę i przekształcić ją na obiekt dr Sławomir Marczyński
318 dr Sławomir Marczyński
319 wersja overload funkcji display dr Sławomir Marczyński
320 Metody mają dostęp do prywatnych pól obiektu dr Sławomir Marczyński
321 Dziedziczenie jest realizowane nie dla klas, ale dla instancji, tj. obiektów klas, np.: sensor = Sensor(13); ulepszonysensor = class(obj,'ulepszonysensor',sensor); Subclassing/superclassing superiorto('klasa1', 'klasa2'); inferiorto('klasa1', 'klasa2'); dr Sławomir Marczyński
322 Duża odmienność od OOP w C++ trudno ogarnąć co, jak i dlaczego, trudno przenieść nabyte doświadczenia. Każda klasa wymaga oddzielnego folderu i wielu plików w tym folderze trudno o porządek, łatwo coś zgubić. Zaleta: taki samo jest w Octave. dr Sławomir Marczyński
323 Można umieszczać pliki w Można całą definicję klasy zawrzeć w jednym pliku normalnie zapisanym w zwykłym katalogu dr Sławomir Marczyński
324 classdef (ClassAttributes) ClassName < SuperClass & SC2 end ClassAttributes ::= ClassAtribute = value ClassAttribute ::= Abstract AllowedSubclasses ConstructOnLoad HandleCompatible Hidden InferiorClasses Sealed dr Sławomir Marczyński
325 classdef MyClass < MyBaseAbstractClass end property (SetAccess = private, GetAccess = private) PropertyName1 PropertyName2 = 'some text'; PropertyName3 = sin(pi/12); end dr Sławomir Marczyński
326 classdef ClassName methods function obj = ClassName(arg1,arg2) end function normal_method(obj,arg1) end end methods (Static = true) function static_method(arg1,...) end end end dr Sławomir Marczyński
327 classdef ClassWithEvents events MyEvent end methods function foo... notify(obj, 'MyEvent'); end end end dr Sławomir Marczyński
328 function qux obj1 = ClassWithEvents; addlistener(obj1, end function MyEventHandler(eventSource, eventdata)... end dr Sławomir Marczyński
329 classdef WeekDays enumeration Monday, Tuesday, Wednesday, Thursday, Friday end end dr Sławomir Marczyński
330 dr Sławomir Marczyński
331 dr Sławomir Marczyński
332 Stare podejście do OOP w Matlabie/Octave jest po prostu niewygodne i nie daje 100% tego, czego spodziewać należałoby się po języku programowania obiektowego. Nowe podejście do OOP w Matlabie jest praktycznie bardzo mało przydatne (nie ma go w Octave). Na szczęście dość łatwo zrozumieć klasy definiowane w nowym stylu. Rekomendacja: nie używać, chyba że naprawdę wiemy dlaczego chcemy to robić. dr Sławomir Marczyński
333 Po co pisać, skoro można rysować? dr Sławomir Marczyński
334 dr Sławomir Marczyński
335 dr Sławomir Marczyński
336 dr Sławomir Marczyński
337 dr Sławomir Marczyński
338 dr Sławomir Marczyński
339 dr Sławomir Marczyński
340 dr Sławomir Marczyński
341 Sine Wave Scope Transport Delay du/dt Derivative -K- Gain XY Graph dr Sławomir Marczyński
342 dr Sławomir Marczyński
343 dr Sławomir Marczyński
344 dr Sławomir Marczyński
345 Jakie jest GUI każdy widzi dr Sławomir Marczyński
346 dr Sławomir Marczyński
347 dr Sławomir Marczyński
348 dr Sławomir Marczyński
349 dr Sławomir Marczyński
350 dr Sławomir Marczyński
351 dr Sławomir Marczyński
352 dr Sławomir Marczyński
353 dr Sławomir Marczyński
354 dr Sławomir Marczyński
355 dr Sławomir Marczyński
356 dr Sławomir Marczyński
357 dr Sławomir Marczyński
358 dr Sławomir Marczyński
WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19
WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19 Co mam zrobić, jeżeli obliczenia potrzebne są na wczoraj, trzeba jeszcze zrobić wykres, a do tego mam użyć Bardzo Skomplikowanego Czegoś wiedząc
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.
Algorytmy i struktury danych. Metody numeryczne ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures. dzienne magisterskie Numerical methods. (Part 2. Numerical methods)
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoEgzamin z Metod Numerycznych ZSI, Egzamin, Gr. A
Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź
Bardziej szczegółowodo MATLABa programowanie WYKŁAD Piotr Ciskowski
Wprowadzenie do MATLABa programowanie WYKŁAD Piotr Ciskowski instrukcje sterujące instrukcja warunkowa: if instrukcja wyboru: switch instrukcje iteracyjne: for, while instrukcje przerwania: continue, break,
Bardziej szczegółowoAproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Bardziej szczegółowoSKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego
1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia
Bardziej szczegółowoMathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje
Bardziej szczegółowoElementy projektowania inzynierskiego Przypomnienie systemu Mathcad
Elementy projektowania inzynierskiego Definicja zmiennych skalarnych a : [S] - SPACE a [T] - TAB - CTRL b - SHIFT h h. : / Wyświetlenie wartości zmiennych a a = b h. h. = Przykładowe wyrażenia
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowoPrzetwarzanie sygnałów
Spis treści Przetwarzanie sygnałów Ćwiczenie 1 Wprowadzenie do programu Octave 1 Operatory 1 1.1 Operatory arytmetyczne...................... 1 1.2 Operatory relacji.......................... 1 1.3 Operatory
Bardziej szczegółowoMatlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3
Matlab, zajęcia 3. Pętle c.d. Przypomnijmy sobie jak działa pętla for Możemy podać normalnie w Matlabie t=cputime; for i=1:20 v(i)=i; e=cputime-t UWAGA: Taka operacja jest bardzo czasochłonna i nieoptymalna
Bardziej szczegółowoMetody i analiza danych
2015/2016 Metody i analiza danych Macierze Laboratorium komputerowe 2 Anna Kiełbus Zakres tematyczny 1. Funkcje wspomagające konstruowanie macierzy 2. Dostęp do elementów macierzy. 3. Działania na macierzach
Bardziej szczegółowoĆwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych
1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych i dynamicznych, symulacji procesów, przekształceń i obliczeń symbolicznych
Bardziej szczegółowo; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...
Tekst na niebiesko jest komentarzem lub treścią zadania. Zadanie. Dane są macierze: A D 0 ; E 0 0 0 ; B 0 5 ; C Wykonaj poniższe obliczenia: 0 4 5 Mnożenia, transpozycje etc wykonuję programem i przepisuję
Bardziej szczegółowoPodstawy MATLABA, cd.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA, cd. 1. Wielomiany 1.1. Definiowanie
Bardziej szczegółowoUkłady równań liniowych. Krzysztof Patan
Układy równań liniowych Krzysztof Patan Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zadań redukuje się do problemu rozwiązania układu równań liniowych, często o bardzo dużych
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoWprowadzenie do środowiska
Wprowadzenie do środowiska www.mathworks.com Piotr Wróbel piotr.wrobel@igf.fuw.edu.pl Pok. B 4.22 Metody numeryczne w optyce 2017 Czym jest Matlab Matlab (matrix laboratory) środowisko obliczeniowe oraz
Bardziej szczegółowoMATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący
MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący Laboratorium 12: Zagadnienia zaawansowane Cel: Poznanie metod rozwiązywania konkretnych problemów Czas: Wprowadzenia 10 minut, ćwiczeń
Bardziej szczegółowoElementy metod numerycznych - zajęcia 9
Poniższy dokument zawiera informacje na temat zadań rozwiązanych w trakcie laboratoriów. Elementy metod numerycznych - zajęcia 9 Tematyka - Scilab 1. Labolatoria Zajęcia za 34 punktów. Proszę wysłać krótkie
Bardziej szczegółowo5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
Bardziej szczegółowoDiary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku
Diary przydatne polecenie diary nazwa_pliku Polecenie to powoduje, że od tego momentu sesja MATLAB-a, tj. polecenia i teksty wysyłane na ekran (nie dotyczy grafiki) będą zapisywane w pliku o podanej nazwie.
Bardziej szczegółowoSzukanie rozwiązań funkcji uwikłanych (równań nieliniowych)
Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości
Bardziej szczegółowoMetody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Bardziej szczegółowo//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];
4.3. Przykłady wykorzystania funkcji bibliotecznych 73 MATLAB % definiowanie funkcji function [dx]=vderpol(t,y) global c; dx=[y(2); c*(1-y(1)^2)*y(2)-y(1)]; SCILAB // definiowanie układu function [f]=vderpol(t,y,c)
Bardziej szczegółowoInterpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna
Interpolacja Marcin Orchel 1 Wstęp Mamy daną funkcję φ (x; a 0,..., a n ) zależną od n + 1 parametrów a 0,..., a n. Zadanie interpolacji funkcji φ polega na określeniu parametrów a i tak aby dla n + 1
Bardziej szczegółowoObliczenia w programie MATLAB
Obliczenia w programie MATLAB Na zajęciach korzystamy z programu MATLAB, w którym wykonywać będziemy większość obliczeń. Po uruchomieniu programu w zależności od wersji i konfiguracji może pojawić się
Bardziej szczegółowoWstęp do metod numerycznych Zadania numeryczne 2016/17 1
Wstęp do metod numerycznych Zadania numeryczne /7 Warunkiem koniecznym (nie wystarczającym) uzyskania zaliczenia jest rozwiązanie co najmniej 3 z poniższych zadań, przy czym zadania oznaczone literą O
Bardziej szczegółowow analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Bardziej szczegółowoMATLAB - laboratorium nr 1 wektory i macierze
MATLAB - laboratorium nr 1 wektory i macierze 1. a. Małe i wielkie litery nie są równoważne (MATLAB rozróżnia wielkość liter). b. Wpisanie nazwy zmiennej spowoduje wyświetlenie jej aktualnej wartości na
Bardziej szczegółowox y
Przykłady pytań na egzamin końcowy: (Uwaga! Skreślone pytania nie obowiązują w tym roku.). Oblicz wartość interpolacji funkcjami sklejanymi (przypadek (case) a), dla danych i =[- 4 5], y i =[0 4 -]. Jaka
Bardziej szczegółowoCałkowanie numeryczne przy użyciu kwadratur
Całkowanie numeryczne przy użyciu kwadratur Plan wykładu: 1. Kwadratury Newtona-Cotesa a) wzory: trapezów, parabol etc. b) kwadratury złożone 2. Ekstrapolacja a) ekstrapolacja Richardsona b) metoda Romberga
Bardziej szczegółowoROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym
Bardziej szczegółowoExcel w obliczeniach naukowych i inżynierskich. Wydanie II.
Excel w obliczeniach naukowych i inżynierskich. Wydanie II. Autor: Maciej Gonet Sprawdź, jak Excel może pomóc Ci w skomplikowanych obliczeniach! Jak za pomocą arkusza rozwiązywać zaawansowane zadania matematyczne?
Bardziej szczegółowoGNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.
1 GNU Octave GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej. Octave zapewnia: sporą bibliotęke użytecznych funkcji i algorytmów; możliwośc tworzenia przeróżnych wykresów; możliwość
Bardziej szczegółowoInterpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne
Interpolacja, aproksymacja całkowanie Interpolacja Krzywa przechodzi przez punkty kontrolne Aproksymacja Punkty kontrolne jedynie sterują kształtem krzywej INTERPOLACJA Zagadnienie interpolacji można sformułować
Bardziej szczegółowoMETODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.
METODY NUMERYCZNE Wykład 3. dr hab.inż. Katarzyna Zakrzewska, prof.agh Met.Numer. wykład 3 1 Plan Aproksymacja Interpolacja wielomianowa Przykłady Met.Numer. wykład 3 2 1 Aproksymacja Metody numeryczne
Bardziej szczegółowoPrzykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!
Scilab jest środowiskiem programistycznym i numerycznym dostępnym za darmo z INRIA (Institut Nationale de Recherche en Informatique et Automatique). Jest programem podobnym do MATLABa oraz jego darmowego
Bardziej szczegółowoKorzystanie z podstawowych rozkładów prawdopodobieństwa (tablice i arkusze kalkulacyjne)
Korzystanie z podstawowych rozkładów prawdopodobieństwa (tablice i arkusze kalkulacyjne) Przygotował: Dr inż. Wojciech Artichowicz Katedra Hydrotechniki PG Zima 2014/15 1 TABLICE ROZKŁADÓW... 3 ROZKŁAD
Bardziej szczegółowoĆwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych
Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych Wszystko proszę zapisywać komendą diary do pliku o nazwie: imie_ nazwisko 1. Definiowanie macierzy i odwoływanie się do elementów:
Bardziej szczegółowodr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska
Program wykładów z metod numerycznych na semestrze V stacjonarnych studiów stopnia I Podstawowe pojęcia metod numerycznych: zadanie numeryczne, algorytm. Analiza błędów: błąd bezwzględny i względny, przenoszenie
Bardziej szczegółowoPODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI Katedra Inżynierii Systemów Sterowania PODSTAWY AUTOMATYKI MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.
Bardziej szczegółowo04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =
04 Układy równań i rozkłady macierzy - Ćwiczenia 1. Wstęp Środowisko Matlab można z powodzeniem wykorzystać do rozwiązywania układów równań z wykorzystaniem rozkładów macierzy m.in. Rozkładu Choleskiego,
Bardziej szczegółowoInżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści
Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, 2017 Spis treści Od autorów 11 I. Klasyczne metody numeryczne Rozdział 1. Na początek 15 1.1.
Bardziej szczegółowoUKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych
Bardziej szczegółowoMetody numeryczne I Równania nieliniowe
Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem
Bardziej szczegółowoIII TUTORIAL Z METOD OBLICZENIOWYCH
III TUTORIAL Z METOD OBLICZENIOWYCH ALGORYTMY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH Opracowanie: Agata Smokowska Marcin Zmuda Trzebiatowski Koło Naukowe Mechaniki Budowli KOMBO Spis treści: 1. Wstęp do
Bardziej szczegółowoAproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1
Założenie: f(x) funkcja którą aproksymujemy X jest przestrzenią liniową Aproksymacja liniowa funkcji f(x) polega na wyznaczeniu współczynników a 0,a 1,a 2,...,a m funkcji: Gdzie: - są funkcjami bazowymi
Bardziej szczegółowoDOPASOWYWANIE KRZYWYCH
DOPASOWYWANIE KRZYWYCH Maciej Patan Uniwersytet Zielonogórski Motywacje Przykład 1. Dane o przyroście światowej populacji są aktualizowane co każde 10 lat, celem szacowania średniego przyrostu rocznego.
Bardziej szczegółowoMetody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne
Metody numeryczne materiały do wykładu dla studentów 7. Całkowanie numeryczne 7.1. Całkowanie numeryczne 7.2. Metoda trapezów 7.3. Metoda Simpsona 7.4. Metoda 3/8 Newtona 7.5. Ogólna postać wzorów kwadratur
Bardziej szczegółowoZajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów
Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów W ramach zajęć oprogramujemy jedną, wybraną metodę numeryczną: metodę bisekcji numerycznego rozwiązywania równania nieliniowego
Bardziej szczegółowoWprowadzenie do Mathcada 1
Wprowadzenie do Mathcada Ćwiczenie. - Badanie zmienności funkcji kwadratowej Ćwiczenie. pokazuje krok po kroku tworzenie prostego dokumentu w Mathcadzie. Dokument ten składa się z następujących elementów:.
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
Bardziej szczegółowo= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3
ZESTAW I 1. Rozwiązać równanie. Pierwiastki zaznaczyć w płaszczyźnie zespolonej. z 3 8(1 + i) 3 0, Sposób 1. Korzystamy ze wzoru a 3 b 3 (a b)(a 2 + ab + b 2 ), co daje: (z 2 2i)(z 2 + 2(1 + i)z + (1 +
Bardziej szczegółowoRozwiązywanie układów równań liniowych
Rozwiązywanie układów równań liniowych Marcin Orchel 1 Wstęp Jeśli znamy macierz odwrotną A 1, to możęmy znaleźć rozwiązanie układu Ax = b w wyniku mnożenia x = A 1 b (1) 1.1 Metoda eliminacji Gaussa Pierwszy
Bardziej szczegółowoUKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia I stopnia rok akademicki 2011/2012 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Uwagi wstępne Układ liniowych równań algebraicznych można
Bardziej szczegółowoMetody numeryczne Wykład 4
Metody numeryczne Wykład 4 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Metody skończone rozwiązywania
Bardziej szczegółowoSpis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII
Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII
Bardziej szczegółowoZad. 3: Układ równań liniowych
1 Cel ćwiczenia Zad. 3: Układ równań liniowych Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Bardziej szczegółowoPodstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab
Podstawy Automatyki ćwiczenia Cz.1 Środowisko Matlab Podstawową jednostką obliczeniową w programie Matlab jest macierz. Wektory i skalary mogą być tutaj rozpatrywane jako specjalne typy macierzy. Elementy
Bardziej szczegółowoMATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ
MATEMATYKA I SEMESTR ALK (PwZ). Sumy i sumy podwójne : Σ i ΣΣ.. OKREŚLENIE Ciąg liczbowy = Dowolna funkcja przypisująca liczby rzeczywiste pierwszym n (ciąg skończony), albo wszystkim (ciąg nieskończony)
Bardziej szczegółowodr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;
Wykłady 8 i 9 Pojęcia przestrzeni wektorowej i macierzy Układy równań liniowych Elementy algebry macierzy dodawanie, odejmowanie, mnożenie macierzy; macierz odwrotna dr Mariusz Grządziel 15,29 kwietnia
Bardziej szczegółowoĆwiczenie 3: Wprowadzenie do programu Matlab
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Laboratorium modelowania i symulacji Ćwiczenie 3: Wprowadzenie do programu Matlab 1. Wyznaczyć wartość sumy 1 1 2 + 1 3 1 4 + 1
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoWYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO
Bardziej szczegółowoPORÓWNANIE TREŚCI ZAWARTYCH W OBOWIĄZUJĄCYCH STANDARDACH EGZAMINACYJNYCH Z TREŚCIAMI NOWEJ PODSTAWY PROGRAMOWEJ
PORÓWNANIE TREŚCI ZAWARTYCH W OBOWIĄZUJĄCYCH STANDARDACH EGZAMINACYJNYCH Z TREŚCIAMI NOWEJ PODSTAWY PROGRAMOWEJ L.p. 1. Liczby rzeczywiste 2. Wyrażenia algebraiczne bada, czy wynik obliczeń jest liczbą
Bardziej szczegółowoROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.
ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ. LICZBA TEMAT GODZIN LEKCYJNYCH Potęgi, pierwiastki i logarytmy (8 h) Potęgi 3 Pierwiastki 3 Potęgi o wykładnikach
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c,
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \
Bardziej szczegółowoWYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik
WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik DOPUSZCZAJĄCY DOSTATECZNY DOBRY BARDZO DOBRY LICZBY I DZIAŁANIA zna pojęcie liczby naturalnej, całkowitej, wymiernej. rozumie rozszerzenie
Bardziej szczegółowoW naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.
1. Podstawy matematyki 1.1. Geometria analityczna W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. Skalarem w fizyce nazywamy
Bardziej szczegółowoOptymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Bardziej szczegółowoWstęp do Programowania Lista 1
Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.
Bardziej szczegółowoRozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F
Bardziej szczegółowo1 Równania nieliniowe
1 Równania nieliniowe 1.1 Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym jest numeryczne poszukiwanie rozwiązań równań nieliniowych, np. algebraicznych (wielomiany),
Bardziej szczegółowoTransformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago
Transformata Fouriera Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformacja Fouriera rozkłada funkcję okresową na szereg funkcji okresowych tak, że uzyskana transformata podaje w jaki sposób poszczególne
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Procedury wyższych rzędów 1 Procedury wyższych rzędów jako abstrakcje konstrukcji programistycznych Intuicje Procedury wyższych rzędów
Bardziej szczegółowoSpis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16
Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego
Bardziej szczegółowoRACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska
RACHUNEK MACIERZOWY METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Czym jest macierz? Definicja Macierzą A nazywamy
Bardziej szczegółowoSkrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
Bardziej szczegółowoWprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Zazwyczaj nie można znaleźć
Bardziej szczegółowoKRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ
KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ TREŚCI KSZTAŁCENIA WYMAGANIA PODSTAWOWE WYMAGANIA PONADPODSTAWOWE Liczby wymierne i
Bardziej szczegółowoZał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)
Zał nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim : Obliczenia Naukowe Nazwa w języku angielskim : Scientific Computing. Kierunek studiów : Informatyka Specjalność
Bardziej szczegółowoMetody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)
KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013
Bardziej szczegółowoPrzykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:
Informatyka I Przypomnienie wiadomości z poprzednich zajęć: Kolokwium!!! II Nowe wiadomości: 1 Funkcje trójwymiarowe Wykresy trójwymiarowe tworzone są na podstawie funkcji dwóch zmiennych Wejściem takich
Bardziej szczegółowoWymagania edukacyjne z matematyki klasa II technikum
Wymagania edukacyjne z matematyki klasa II technikum Poziom rozszerzony Obowiązują wymagania z zakresu podstawowego oraz dodatkowo: 1. JĘZYK MATEMATYKI I FUNKCJE LICZBOWE Uczeń otrzymuje ocenę dopuszczającą
Bardziej szczegółowoLaboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie
Laboratorium Algorytmy Obliczeniowe Lab. 9 Prezentacja wyników w Matlabie 1. Wyświetlanie wyników na ekranie: W Matlabie możliwe są następujące sposoby wyświetlania wartości zmiennych: a. wpisując w programie
Bardziej szczegółowoWYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY CZWARTEJ H. zakres rozszerzony. Wiadomości i umiejętności
WYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY CZWARTEJ H. zakres rozszerzony Funkcja wykładnicza i funkcja logarytmiczna. Stopień Wiadomości i umiejętności -definiować potęgę
Bardziej szczegółowoEgzamin z Metod Numerycznych ZSI, Grupa: A
Egzamin z Metod Numerycznych ZSI, 06.2005. Grupa: A Nazwisko: Imię: Numer indeksu: Ćwiczenia z: Data: Część 1. Test wyboru, max 36 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa
Bardziej szczegółowoWYKŁAD 9 METODY ZMIENNEJ METRYKI
WYKŁAD 9 METODY ZMIENNEJ METRYKI Kierunki sprzężone. Metoda Newtona Raphsona daje dobre przybliżenie najlepszego kierunku poszukiwań, lecz jest to okupione znacznym kosztem obliczeniowym zwykle postać
Bardziej szczegółowoUkłady stochastyczne
Instytut Informatyki Uniwersytetu Śląskiego 21 stycznia 2009 Definicja Definicja Proces stochastyczny to funkcja losowa, czyli funkcja matematyczna, której wartości leżą w przestrzeni zdarzeń losowych.
Bardziej szczegółowoDefinicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Czym jest macierz? Definicja Macierzą A nazywamy funkcję
Bardziej szczegółowoWYRAŻENIA ALGEBRAICZNE
WYRAŻENIA ALGEBRAICZNE Wyrażeniem algebraicznym nazywamy wyrażenie zbudowane z liczb, liter, nawiasów oraz znaków działań, na przykład: Symbole literowe występujące w wyrażeniu algebraicznym nazywamy zmiennymi.
Bardziej szczegółowoProgramowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c = a
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.
Bardziej szczegółowoĆwiczenia nr 7. TEMATYKA: Krzywe Bézier a
TEMATYKA: Krzywe Bézier a Ćwiczenia nr 7 DEFINICJE: Interpolacja: przybliżanie funkcji za pomocą innej funkcji, zwykle wielomianu, tak aby były sobie równe w zadanych punktach. Poniżej przykład interpolacji
Bardziej szczegółowoZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ
ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ Maciej Patan Uniwersytet Zielonogórski WSTEP Zadanie minimalizacji bez ograniczeń f(ˆx) = min x R nf(x) f : R n R funkcja ograniczona z dołu Algorytm rozwiazywania Rekurencyjny
Bardziej szczegółowo1 Programowanie w matlabie - skrypty i funkcje
1 Programowanie w matlabie - skrypty i funkcje 1.1 Skrypty Skrypt jest plikiem tekstowym z rozszerzeniem *.m zawierającym listę poleceń do wykonania. Aby utworzyć skrypt w matlabie wybierz File New Script,
Bardziej szczegółowo