Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
2
Przekształcenia Funkcji
Pokazać różniczkę Przekształcenia Funkcji Funkcje są ze sobą powiązane przez różne tożsamości (n.p. jedynka trygonometryczna) Do poszukiwania tych zależności służy Simplify[expr]. FullSimplify działa podobnie, ale przeszukuje bogatszą kolekcję przekształceń
4
Upraszcza funkcje: Sumy wielomianów do pewnego stopnia-wymierne
wykładnicze funkcje trygonometryczne (opcjonalnie) Funkcje potęgowe, logarytmiczne, … Uwaga: program uprości funkcje „jak mu wygodnie”, a nie jak od niego tego oczekujemy. Np. priorytet przy upraszczaniu mają zmienne na o niskiej wartości leksykologicznej
5
Opcje ComplexityFunction->k: opcja szuka w wyrażeniu nagłówków i innych obiektów i wybiera kryterium, według którego funkcja jest wskazywana jako najprostsza: LeafCount, ByteCount, StringLength(ToString[…]) TimeConstrains->t ogranicza czas na uproszczenie pojedynczych elementów do t (tloc,ttot) Assumptions->…-założenia Trig-> …-przekształcenia trygonometryczne
6
Factor rozkłada wielomiany na wielomiany nieredukowalne (takie, które nie mają pierwiastków rzeczywistych) (Opcja modulus) Expand-rozwija funkcje (głównie wielomiany) PowerExpand-rozwinięcie potęgowe Refine[expr,assm] wprowadza zmiany wynikające z założeń TrigReduce-zamienia funkcję okresową na sumę Fouriera* TrigExpand zamienia funkcję na sumę potęg funkcji trygonometrycznych TrigFactor faktoryzuje wyrażenia trygonometryczne
7
Interpolacja, ekstrapolacja, aproksymacja
Interpolacja-konstrukcja funkcji, która przybiera dokładnie zadane wartości dla danych argumentów w celu przybliżenia wartiości pośredniej. Przykład: Słońce wzeszło o 5:40, o 6:20 było około 15 stopni nad horyzontem, o 6:05 było około 8 st. nad horyzontem. Ekstrapolacja-przewidywanie wartości funkcji na podstawie jej znanych wartości w innym zakresie Przykład: w Gdańsku odległość między stacjami SKM wynosi 1,2 km, więc 13 stacja na linii będzie około 16 km tej linii Aproksymacja: na podstawie znanych wartości prostych funkcji o możliwie zbliżonym przebiegu Przykład: pieniądze na lokacie rosną eksponencjalnie w czasie.
8
Interpolacja Lagrange’e
Każdy wielomian n-tego stopnia możemy zdefiniować poprzez n+1 punktów, przez które on przechodzi Załóżmy, że mamy dane {{x[1],y[1]},{x[2],y[2]},…,{x[n+1],y[n+1]} Wielomiany Lagrange’a Mają wartość 1 dla x==x[i] i 0 dla x==x[j]. By przeprowa-dzić je przez właściwe punkty, sumujemy je z odpowiednimi wagami
10
Inne możliwe funkcje do zastosowania w interpolacji
Trygonometryczne-trudne do wyliczenia Wykładnicze Jeżeli dane są rozłożone równomiernie-Sinc[x]. Funkcje z elementami typu (analiza falkowa)
11
Interpolacja częściowa
Interpolujemy tylko pomiędzy dwoma sąsiednimi punktami, a następnie zszywamy funkcję Hermite’a: -bierzemy n+1 punktów z sąsiedztwa wartości, w której chcemy interpolować, -budujemy wielomian interpolacyjny Lagrange’a n-tego rzędu przez te punkty -stosujemy go tylko w danym przedziale Funkcje sklejane (Spline) -bierzemy n-1 punktów z sąsiedztwa -dokładamy warunki brzegowe. Druga pochodna w punktach początkowym i końcowym ma być równa 0, w pozostałych punktach pierwsza ma być ciągła -wyznaczamy wielomian -zszywamy funkcje w różnych zakresach.
12
Ostrożnie! Metody interpolacyjne mogą istotnie zniekształcać przebieg funkcji Wielomiany o gęsto rozłożonych pierwiastkach oscylują Powinniśmy mieć pojęcie o funkcji, którą interpolujemy
13
Komendy interpolacyjne
Interpolation[{p1,p2,…}]-przeprowadza funkcję interoplacyjną przez punkty. Jeżeli nie podamy wartości x, zostaną one przyjęte jako 1,2,3,… ListInterpolation[…] // Method->”Hermite”/”Spline”-wybór metody InterpolationOrder-określenie stopnia interpolacji FunctionInterpolation-Zastąpienie funkcji interpolacją InterpolatingFunction-obiekt (funkcja) będąca wynikiem interpolacji InterpolatingPolynomial[{p1,p2},x]-wynik interpolacji Lagrange’a (wielomian)
14
Aproksymacja Dopasowanie prostego modelu do wielu punktów danych (które nie muszą być ze sobą spójne). Model, który dopasowujemy ma mniej parametrów swobodnych, niż mamy punktów, więc ich wartości wybieramy w sposób statystyczny. Aproksymowana funkcja nie musi przechodzić przez żaden punkt danych. Stosujemy ją tam, gdzie spodziewamy się istotnych niepewności statystycznych. Natomiast interpolacja sprawdza się tam, gdzie spodziewamy się prostych zjawisk i dużej pewności co do wartości.
15
Regresja liniowa Procedura dopasowania funkcji liniowej y=ax+b do danych R=-1 R=1 R=0 Inne funkcje można próbować zlinearizować
16
Dopasowanie dynamiczne
Funkcja może mieć skomplikowany przebieg Dopasowujemy tylko dane bliskie względem parametru Kiedy zdobywany nowe dane uzupełniamy ich kolekcję
17
FindFit[d,f,p,v]-dopasowuje do danych d wartości parametrów , tak żeby opisana nimi funkcja f[v] zmiennych v najlepiej opisywała dane Fit[d,f,x]-dopasowuje funkcje z listy do danych d (zwraca kombinacje liniowe funkcji) LinearModelFit[…]-działa tak, jak Fit, ale zwraca obiekt typu FittedModel, który oprócz funkcji zawiera wiele właściwości. NonlinearModelFit[…] GeneralizedLinearModelFit-dopasowuje dane do prostej funkcji kombinacji liniowej podanych funkcji. Opcje: ConfidenceLevel-określić poziom zaufania do wyników, przez co zmiejsza się zakres stosowalności przybliżenia IncludeConstantBasis-przesuwanie dopasowywanego modelu o stałą- domyślnie: włączone LinearOffsetFunction-funkcja bazowa, na którą nakładamy kombinację Weights-Przypisywanie wagi poszczególnym punktom WorkingPrecision
18
Ekstrapolacja Oszacowanie wartości funkcji na podstawie jej dotychczasowego przebiegu Na podstawie danych interpolacyjnych Na podstawie aproksymacji UWAGA! Nie ma żadnych sposobów zagwarantowania przyszłości. Musimy dobrze rozumieć co ekstrapolujemy i dlaczego. Możemy ekstrapolować zjawiska astronomiczne i inne niezakłócane procesy fizyczne (n.p. zmiany temperatury), ale nie możemy w dłuższej perspektywie przewidywać zjawisk ekonomicznych, społecznych, zdrowotnych, pogodowych, itp.. Ekstrapolację możemy zastosować zazwyczaj tylko dla danych bliskich danych wejściowych.
19
Składowe ciągów czasowych
Trend to najczęściej stale rosnąca składowa w czasie. Możemy ją usunąć poprzez regresję liniową lub różnicowanie wyrazów Trend Stacjonarność Sezonowość Modele: AR (autoregressive)-następny wyraz jest funkcją n poprzednich wyrazów MA (moving average)-następny wyraz jest funkcją n poprzednich wartości szumu ARMA-kombinacja dwóch powyższych modeli ARIMA-ARMA z trendem SARIMA-sezonowa ARIMA Wielkości charakteryzujące Szeregi czasowe: Autokorelacja-korelacja wartości wyrazu z wartościami porzednimi Średnia ruchoma-średnia m ostatnich wyrazów Sz
20
Komendy TimeSeriesModelFit[data]-dopasowuje model SARIMA do danych
TimeSeriesModel-dopasowany model. ARMAProcess,SARIMAProcess,ARMAProcess,… AutocorrelationTest-oblicza autokorelację (z opóźnieniem) TimeSeriesForecast[tmod,k]-przewiduje wartość modelu dla k-tego kroku po danych serii Każdy model określa zakres możliwych przewidywań.
21
Równania różniczkowe i całkowe
Opisują ciągłe przemiany funkcji Fundamentalne znaczenie dla fizyki Bardzo rzadko rozwiązywalne
22
Metody numeryczne Metoda Adamsa-Bashfortha Metoda Eulera
Metoda Integratorów liniowych Rungego-Kutty
23
Poprawa wyników przez ekstrapolację
Rozwiązujemy równanie numerycznie dla ustalonego kroku Dzielimy krok Rozwiązujemy je z nowym krokiem …. Na podstawie otrzymanych wyników znajdujemy wartość dla dowolnie małego kroku
24
Kroki rozwiązywania równań różniczkowych
Podstawienie warunków brzegowych Uproszczenie równań Dyskretyzacja Przygotowanie punktów nieciągłych …
25
Rozwiązywanie DSolve[eqn,fun,var] DSolve[eqn,fun,{var,min,max}]
DSolveValue[eqn,fun,var] DSolve zwraca Funkcję, np. DSolve[y’’[x]+y[x],y[x],x] {y->Function[{x} ,C[1]Exp[x]+C[2]Exp[-x]} Podstawowa opcja: Assumptions
26
Rozwiązywanie numeryczne
NDSolve[eqns,funs,vars]-rozwiązuje numerycznie funkcje funs względem równań eqns. Układ równań mu zawierać co najmniej tyle równań, ile wynosi stopień głównego równania (plus dodatkowe równanie dla każdego wprowadzonego parametru dyskretnego). Dodatkowe równania opisują warunku brzegowe, f[0]==1,f’[2]=12,… Rozwiązaniem jest listą podstawień, n.p. za funkcję f obiektu InterpolatingFunction. Aby skorzystać z tego rozwiązania musimy najpierw podstawić Funkcję Rozwiązanie obowiązuje tylko w przedziale zdefiniowanym w komendzie. Ekstrapolacja jest niedopuszczalna, z powodów o których mówiliśmy wcześniej.
27
Opcje NDSolve Bez opcji jest równoważne N[Dsolve[…]], o ile są spełnione dostateczne warunki na znalezienie rozwiązania PrecisionGoal, AccuracyGoal… InterpolationOrder-> -określa stopień wielomianu interpolacyjnego MaxStepFraction-> -jaką maksymalnie część przedziału jest pokryta w jednym kroku MaxSteps-> -ilość kroków w rozwiązaniu MaxStepSize-> -wielkość pojedynczego kroku Method->{s1->m1,…}-kolejność kroków przygotowywania rozwiązywania. Uproszczenie równania, Obsługa nieciągłości, Dyskretyzacja, Warunki brzegowe,…
28
Zmiany nieliniowe WhenEvent[Condition,Action] WhenEvent[x^2+y^2==1,{x’,y’}->{x’,y’}-2({x,y}.{x’,y’}){x,y}]
29
Równanie całkowe Ogólna Postać Szczególne postaci Fredholma
Jeżeli całka w równaniu jest nieoznaczona, możemy zróżniczkować je obustronnie otrzymując równanie różniczkowe Jeżeli całkujemy po zamkniętej krzywej, lub płaszczyźnie, możemy użyć prawa Gaussa lub Biota-Savarta Możemy zdyskretyzować równanie otrzymując równanie macierzowe Dla wielu funkcji K możemy policzyć momenty. Wtedy możemy rozwinąć funkcję podcałkową w Szereg Fouriera
30
Równanie Liniowe Volterry
Szereg Neumanna
31
Optymalizacja Znajdywanie minimów i maksimów
Dopasowywanie modeli do danych (ręczne)
32
FindMinimum,FindMaximum[f[x,y,…],{x,x0},{y,y0},…]- zaczyna szukać minimum/maksimum w określonym miejscu FindMinimum[{f[x,y],c1},{x,x0},{y,y0}]-szuka minimum pod warunkami c1 FindMinimum[f[x],Element[x,R]]-szuka minimum w zbiorze R FindMinimum[f[x],{x,x0,x1}]-Szuka minimum w przedziale Szukanie min/max od punktu może nas wyprowadzić do nieskoczoności. Szukanie w zbiorze, może trwać długo i skończyć się fiaskiem. Jeżeli funkcja jest ograniczona-najlepiej zacząć w losowym miejscu, a następnie powtórzyć procedurę wiele razy.
33
Zasada szukania maksimum od punktu
Wyliczamy gradient funkcji i przesuwamy współrzędne wzdłuż niego (krzywa geodyzjna) Gradient-> - definicja gradientu funkcji (przyśpiesza obliczenia) Method->”ConjugateGradient”/”PrincipleAxis”-wyszukiwanie wzdłuż osi StepMonitor->Sygnalizator kolejnej iteracji Wynik: lista-wartość funkcji i zbiór podstawień pod argumenty
34
Maximize[…] znajduje maksimum funkcji
Nmaximize[…] znajduje numerycznie maksimum funkcji ArgMax znajduje argument, dla której funkcja przybiera maksymalną wartość MaxValue-maksymalna wartość funkcji
35
Rozkłady Losowe RandomReal[], RandomInteger[] i RandomComplex[] losują liczby w danym przedziale. RandomSample[lista] zwraca losową permutację listy, a RandomSample[lista,n] zwraca pierwsze pozycji liczb tej permutacji SeedRandom[i]-ustawienie zarodka pseudolosowego RandomVariate[a]-losuje zmienną względem dystrybucji a
36
Dystrybucje NormalDistribution[a,s]-gaussowska
BinomialDistribution[n,p]-rozkład dwumianowy PoissonDistribution[m] … RandomFunction[Proces,{tmin,tmax}]-symulacja procesu losowego RandomVariate[Dystrybucja]-zmienna losowa wg Dystrybucji
37
Grafy Reprezentują procesy decyzyjne, relacje, związki, przepływ danych itp.. Składają się z wierzchołków (Vertex, Vertices) i krawędzi (edges) Krawędź bezkierunkowa [Esc]ue[Esc] Krawędź kierunkowa [Esc]de[Esc]
38
Graph[{v1”ue”v2,v2”de”v3,…}]
Graph[{v1,v2,v3},{v1”ue”v2,…}] Zamiast krawędzi kierunkowej możemy użyć reguły podstawienia Nazwy: Labeled[v1,”Nazwa”],Labeled[e1,”Nazwa”] Graf jest reprezentowany graficznie, jednak jest to osobny rodzaj obiektu Opcje: VertexCoordinates GraphLayout VertexStyle VertexWeight EdgeWeight GraphHighlight-podświetlenie wybranego fragmentu grafu HighlightGraph
39
Wrappery Annotation[obj,”text”,”Mouse”]-po najechaniu na obj pod zmienną dynamiczną MouseAnnotation[] przypisywana jest wartość „text” Hyperlink[obj,link]-po kliknięciu na obiekt aktywowany jest link Style[obj,…]-styl obiektu Labeled[obj,”label”]-etykietyta obiektu Button[…]-obiekt pełni rolę przycisku PopupWindow[obj,content]-kliknięcie powoduje wywołanie okna o treści EventHandler[…]-opis ogólnych gestów wykonanych na obiekcie Tooltip, MouseOver,StatusArea
40
FindShortestPath[g,s,f]
FindShortestPath[g,s,f]. Znalezienie najkrótszej drogi, pomiędzy dwoma wierzchołkami. Dla jednego z argumentów równego All otrzymujemy obiekt ShortestPathFunction[…] GraphDistance[]-odległość na grafie FindShortestTour[g]-znajduje najkrótszą drogę po grafie przez wszystkie jego wierzchołki (DistanceFunction->) GraphDiameter[g]-odległość pomiędzy dwoma najdalszymi punktami VertexEccentricity[g,s]-najdłuższa odległość z wierzchołka s do dowolnego innego wierzchołka
41
FindClique[]-znajduje klikę
NeighbourhoodGraph[g,…]- otoczenie grafu GraphUnion, VertexAdd,VertexDelete,EdgeAdd, EdgeDelete Niektóre komendy tworzące grafy PathGraph[]-graf liniowy RandomGraph[a,b]-losowy graf CompleteGraph PetersenGraph[a,b]- PolyhedronData[…,”NetGraph”] HyperCubeGraph[…]
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.