Informatyka. Wykład /2018z

Podobne dokumenty
Matlab III Instrukcje, interpolacja, dopasowanie krzywych,

Elementarna analiza statystyczna

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

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

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

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

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Komputerowa Analiza Danych Doświadczalnych

Weryfikacja hipotez statystycznych

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

Egzamin z Metod Numerycznych ZSI, Grupa: A

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 7 i 8 - Efektywność estymatorów, przedziały ufności

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

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Pobieranie prób i rozkład z próby

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

Wykorzystanie programów komputerowych do obliczeń matematycznych

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Tablica Wzorów Rachunek Prawdopodobieństwa i Statystyki

Statystyka matematyczna. Wykład VI. Zesty zgodności

Rozkłady wielu zmiennych

Aproksymacja funkcji a regresja symboliczna

STATYSTYKA - PRZYKŁADOWE ZADANIA EGZAMINACYJNE

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

Matematyka stosowana i metody numeryczne

Testowanie hipotez statystycznych.

Rozdział 8. Regresja. Definiowanie modelu

Wykład 9 Wnioskowanie o średnich

MATEMATYKA Z ELEMENTAMI STATYSTYKI LABORATORIUM KOMPUTEROWE DLA II ROKU KIERUNKU ZARZĄDZANIE I INŻYNIERIA PRODUKCJI ZESTAWY ZADAŃ

Bardzo łatwa lista powtórkowa

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Metody matematyczne w analizie danych eksperymentalnych - sygnały, cz. 2

1 Podstawy rachunku prawdopodobieństwa

Metody Statystyczne. Metody Statystyczne.

Rozkład normalny. Marcin Zajenkowski. Marcin Zajenkowski () Rozkład normalny 1 / 26

Estymacja parametrów w modelu normalnym

Zawartość. Zawartość

Statystyka matematyczna Testowanie hipotez i estymacja parametrów. Wrocław, r

LABORATORIUM 3. Jeśli p α, to hipotezę zerową odrzucamy Jeśli p > α, to nie mamy podstaw do odrzucenia hipotezy zerowej

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Analiza niepewności pomiarów

Podstawy MATLABA, cd.

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Statystyka matematyczna. Wykład III. Estymacja przedziałowa

Elementy metod numerycznych - zajęcia 9

Zwięzły kurs analizy numerycznej

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

Wykład 5. Zagadnienia omawiane na wykładzie w dniu r

Wykład 3. Rozkład normalny

KADD Minimalizacja funkcji

Matematyka licea ogólnokształcące, technika

Monte Carlo, bootstrap, jacknife

Wnioskowanie statystyczne. Statystyka w 5

Statystyka. Rozkład prawdopodobieństwa Testowanie hipotez. Wykład III ( )

Oszacowanie i rozkład t

Statystyka matematyczna Testowanie hipotez dla średnich w rozkładzie normalnym. Wrocław, r

Zadania ze statystyki, cz.6

Matlab (5) Matlab równania różniczkowe, aproksymacja

Testowanie hipotez dla dwóch zmiennych zależnych. Moc testu. Minimalna liczność próby; Regresja prosta; Korelacja Pearsona;

Modele i wnioskowanie statystyczne (MWS), sprawozdanie z laboratorium 4

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

Przykład: UWAGA: Funkcja repmat służy do powielania elementów. Przykład: >> student.nazwisko ans = Abacki ans = Babcki

Tworzenie macierzy pełnych Generowanie macierzy pełnych Funkcje przekształcające macierze pełne

Spis treści. Koszalin 2006 [BADANIA OPERACYJNE PROGRAMOWANIE LINIOWE]

Typy zmiennych. Zmienne i rekordy. Rodzaje zmiennych. Graficzne reprezentacje danych Statystyki opisowe

WYKŁAD 8 ANALIZA REGRESJI

Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:

Redukcja wariancji w metodach Monte-Carlo

Charakterystyki liczbowe (estymatory i parametry), które pozwalają opisać właściwości rozkładu badanej cechy (zmiennej)

Różniczkowanie numeryczne

Eksploracja Danych. Testowanie Hipotez. (c) Marcin Sydow

STATYSTYKA MATEMATYCZNA

Wykład 10 ( ). Testowanie hipotez w rodzinie rozkładów normalnych przypadek nieznanego odchylenia standardowego

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

Wprowadzenie do środowiska

Metody numeryczne w przykładach

Elementy Modelowania Matematycznego Wykład 4 Regresja i dyskryminacja liniowa

Kwantyzacja wektorowa. Kodowanie różnicowe.

STATYSTYKA MATEMATYCZNA WYKŁAD października 2009

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

Eksploracja danych - wykład IV

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 13 i 14 - Statystyka bayesowska

Mikroekonometria 5. Mikołaj Czajkowski Wiktor Budziński

Interpolacja i aproksymacja, pojęcie modelu regresji

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

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

III TUTORIAL Z METOD OBLICZENIOWYCH

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Komputerowa analiza danych doświadczalnych

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

Stanisław Cichocki. Natalia Nehrebecka. Wykład 9

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Analiza zależności cech ilościowych regresja liniowa (Wykład 13)

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Transkrypt:

Informatyka Wykład 5 2017/2018z Bogumil.Konopka@pwr.edu.pl

Plan Problemy algebry liniowej (rozwiązywanie układów równań) Uchwyty do funkcji, funkcje anonimowe Analiza funkcji matematycznych: Interpolacja, aproksymacja, ekstrapolacja Całkowanie Różniczkowanie MATLABa w obliczeniach statystycznych (Tutorial do tworzenia GUI)

Układ równań w algebrze Układ równań liniowych: Zapis macierzowy: Równoważne iloczynowi http://pl.wikipedia.org/wiki/uk%c5%82ad_r%c3%b3wna%c5%84_liniowych Slajd W. Dyrka, Informatyka 2011/2012 wykład 6

Rozwiązywanie układów równań x 1 + 3x 2 + 2x 3 = 0 x 1 x 3 = 1 2x 1 3x 2 x 3 = 3 A x = b Rozwiązanie: A 1 3 2 1 0 1 2 3 1 x x 1 x 2 x 3 = b 0 1 3 A 1 A x = A 1 b x = A 1 b x = A\b Przykład: B Mrozek, Z Mrozek, 2010, Roz. 2.2.9

Rozwiązywanie układów równań (2) Układ równań jest oznaczony tzn. liczba liniowo niezależnych równań = liczbie zmiennych x 1 + 3x 2 + 2x 3 = 0 x 1 x 3 = 1 2x 1 3x 2 x 3 = 3 x = A 1 b x = A\b A=[-1 3 2;1 0-1; 2-3 -1] %utworzenie macierzy wspolczynnikow uwarunkowanie=cond(a) %sprawdzenie właściwości numerycznych b=[0 1 3]' % lub b=[0;1;3] x=a\b % metoda szybsza i dokladniejsza x2=inv(a)*b % metoda wolniejsza i mniej dokladna x = 2 0 1 x2 = 2 0 1 1 3 2 1 0 1 2 3 1 x 1 x 2 x 3 = 0 1 3 Przykład: B Mrozek, Z Mrozek, 2010, Roz. 2.2.9

Rozwiązywanie układów równań liniowych (3) Obliczenie współczynników funkcji liniowej przechodzącej przez dwa punkty (x 1 =- 1, y 1 = 1); (x 2 =1, y 2 = 3) y = a 1 x + a 2 a 1 = a 1 1 + a 2 3 = a 1 1 + a 2 y X 1 3 = 1 1 1 1 a 1 a 2 y=[1;3] X=[-1 1;1 1]; a=x\y

Rozwiązywanie układów równań liniowych (2) Obliczenie współczynników funkcji liniowej przechodzącej przez dwa punkty (x 1 =- 1, y 1 = 1); (x 2 =1, y 2 = 3) y = a 1 x + a 2 a 1 = a 1 1 + a 2 3 = a 1 1 + a 2 y X 1 3 = 1 1 1 1 a 1 a 2 y=[1;3] X=[-1 1;1 1]; a=x\y osx=-1.5:0.001:1.5; y1=osx.*a(1)+a(2); plot(x(:,1),y,'mo', 'LineWidth',2 %CIACH...

Rozwiązywanie układów równań układ niedookreślony Liczba równań niezależnych liniowo jest MNIEJSZA niż liczba zmiennych Obliczyć równanie hiperboli przechodzącej przez punkty (x 1 =- 1, y 1 = 1); (x 2 =1, y 2 = 3) y = a 1 x 2 + a 2 x + a 3 1 y=[1;3] xp=[-1;1] X=[xp.^2 xp; ones(2,1)]; a_d=x\y a_pinv=pinv(x)*y y X a 1 3 = 1 1 1 a 1 1 1 1 a 2 a 3

Rozwiązywanie układów równań układ niedookreślony Liczba równań niezależnych liniowo jest MNIEJSZA niż liczba zmiennych Obliczyć równanie hiperboli przechodzącej przez punkty (x 1 =- 1, y 1 = 1); (x 2 =1, y 2 = 3) y = a 1 x 2 + a 2 x + a 3 1 y=[1;3] xp=[-1;1] X=[xp.^2 xp; ones(2,1)]; a_d=x\y a_pinv=pinv(x)*y y X a 1 3 = 1 1 1 a 1 1 1 1 a 2 a 3 a_d = 2.0000 1.0000 0 a_pinv = 1.0000 1.0000 1.0000

Rozwiązywanie układów równań układ nadokreślony Liczba równań niezależnych liniowo jest WIĘKSZA niż liczba zmiennych Obliczyć równanie hiperboli przechodzącej przez N punktów (x_data,y_data) y = a 1 x 2 + a 2 x + a 3 y 1 y M = 2 x 1 x 1 1 2 x M x M 1 a 1 a 2 a 3

Rozwiązywanie układów równań układ nadokreślony Liczba równań niezależnych liniowo jest WIĘKSZA niż liczba zmiennych Obliczyć równanie hiperboli przechodzącej przez N punktów (x_data,y_data) y = a 1 x 2 + a 2 x + a 3 y 1 y M = 2 x 1 x 1 1 2 x M x M 1 a 1 a 2 a 3 X=[x_data.^2 x_data; ones(n,1)]; a_d=x\y_data(:); a_pinv=pinv(x)*y_data(:); osx=-1.5:0.001:1.5; y2=a_d(1)*osx.^2+a_d(2)*osx+a_d(3); y2_pinv=a_pinv(1)*osx.^2+a_pinv(2)*osx+a_pinv(3);

Operator dzielenia lewostronnego \ Operator \ pozwala rozwiązać układ równań w postaci A x = b x = A\b Algorytm rozwiązania wybierany jest automatycznie: Alg. permutowanego podstawiania wstecz (A macierz trójkątna lub przestawiona) Algorytm eliminacji Gaussa (A - macierz kwadratowa, niesymetryczna i nie trójkątna) Rozkład QR i rozwiązanie w sensie minimum błędu średniokwadratowego A x b (A - macierz prostokątna)

Interpolacja aproksymacja - ekstrapolacja

Interpolacja aproksymacja - ekstrapolacja

Interpolacja aproksymacja - ekstrapolacja

Interpolacja aproksymacja - ekstrapolacja

Interpolacja w MATLABIE Interpolacja za pomocą funkcji interp1 %Przykladowe dane x=-10:0.1:10; y=1./(1+exp(-0.8.*x)); y_exp=y+randn(1,201)*0.1; Ind=1:25:201; x_dane=x(ind); y_dane=y_exp(ind) %Interpolacja y_interp1= interp1(x_dane,y_dane,x,'linear'); y_interp1_nn= interp1(x_dane,y_dane,x,'nearest'); y_interp1_cubic= interp1(x_dane,y_dane,x,'cubic'); y_interp1_spline= interp1(x_dane,y_dane,x,'spline');

Interpolacja w MATLABIE Interpolacja za pomocą funkcji interp1 %Przykladowe dane x=-10:0.1:10; y=1./(1+exp(-0.8.*x)); y_exp=y+randn(1,201)*0.1; Ind=1:25:201; x_dane=x(ind); y_dane=y_exp(ind) %Interpolacja y_interp1= interp1(x_dane,y_dane,x,'linear'); y_interp1_nn= interp1(x_dane,y_dane,x,'nearest'); y_interp1_cubic= interp1(x_dane,y_dane,x,'cubic'); y_interp1_spline= interp1(x_dane,y_dane,x,'spline');

Interpolacja sygnałów okresowych Interpolacja za pomocą funkcji interpft %Spróbkowany sygnał y = [0.5 1 1.5 2 1.5 1.5 0 -.5-1 -1.5-2 -1.5-1 -.5 0]; N = length(y); %Interpolacja L = 5; %Czynnik zwiekszenie probkowania M = N*L;%Tyle punktów pomiarowych chcemy uzyskać x = 0:L:L*N-1; xi = 0:M-1; yi = interpft(y,m); plot(x,y,'o',xi,yi,'*') legend('original data','interpolated data') http://www.mathworks.com/help/matlab/ref/interpft.html

Inne funkcje interpolujące interp2, interp3, interpn Interpolacja dwu-, trój- i N- wymiarowa griddata, griddatan Interpolacja trój- N-wymiarowa na siatce Scatteredinterpolant Interpolacja trójwymiarowa na siatce spline, pchip Wylicza to samo co: interp( spline ), interp(, cubic ) ppval Wylicza wartości funkcji sklejanej

Ekstrapolacja Większość funkcji interpolujących może służyć do ekstrapolacji x_extrap=10:20; %x z poza zakresu x_dane %Interpolacja y_interp1_cubic= interp1(x_dane,y_dane,x, 'cubic'); y_interp1_spline= interp1(x_dane,y_dane,x,'spline'); %Ekstrapolacja y_extrap_cubic= interp1(x_dane,y_dane, x_extrap,'cubic'); y_extrap_spline= interp1(x_dane,y_dane, x_extrap,'spline'); Trzeba uważać!

Aproksymacja Funkcja aproksymująca nie musi przechodzić przez punkty dane Funkcja aproksymująca minimalizuje błąd

Aproksymacja wielomianem (polyfit, polyval) Większość funkcji można dopasować wielomianem Konieczne jest dobranie odpowiednio dużego stopnia %APROKSYMACJA [p,s]=polyfit(x,y_exp,7); [y_fit,delta]=polyval(p,x,s); figure plot(x,y_exp,'o',x,y_fit,':r') xlabel('os X') ylabel('os Y') axis([-10.2,10.2,-0.2,1.2]) >> p p = -0.0000-0.0000 0.0000 0.0000-0.0028-0.0005 0.1541 0.4851 y x = 0. 0028x 3 0. 005x 2 +0. 1541x + 0. 4851

Aproksymacja wielomianem (polyfit, polyval) Polyfit zwraca: p - wektor współczynników wielomianu S struktura współczynników koniecznych do estymacji błędu Polyval zwraca: y_fit wartości wielomianu dla x Delta estymator odchylenia standardowego błędu (y p(x)) y±delta zawiera przynajmniej 50% wszystkich próbek [p,s]=polyfit(x,y_exp,7); [y_fit,delta]=polyval(p,x,s);

Ocena skuteczności dopasowania Estymacja błędu - delta hold on plot(x,y_exp,'o',x,y_fit,':r') errorbar(x(1:20:201),y_fit(1:20:201),... delta(1:20:201),'linestyle','none',..., 'Color','Red') Błąd średniokwadratowy RMSE (Root Mean Squared Error) RMSE = 1 N 1 i=1 N y i p(x i ) 2

Aproksymacja funkcją fit opts = fitoptions('method','nonlinear','normalize','off') ftype = fittype('1/(1+exp(-b*x))','options',opts) [g, gof, out ] = fit(x',y_exp',ftype) Fitoptions - definiuje opcje algorytmu wykorzystanego przy dopasowywaniu np.: Algorytm Punkt początkowy algorytmu itp.. Fittype definiuje model użyty w dopasowaniu Może być z biblioteki domyślnych modeli (np. poly1, poly2, poly3 ) Może być model ustalony przez użytkownika (np. '1/(1+exp(-b*x))')

Aproksymacja funkcją fit ocena skuteczności [g, gof, out ] = fit(x',y_exp',ftype) >> g g = General model: g(x) = 1/(1+exp(-b*x)) Coefficients (with 95% confidence bounds): b = 0.7388 (0.6541, 0.8235) >> gof gof = sse: 1.9659 rsquare: 0.9503 dfe: 200 adjrsquare: 0.9503 rmse: 0.0991 WAŻNE! >> out out = numobs: 201 numparam: 1 residuals: [201x1 double] Jacobian: [201x1 double] exitflag: 3 firstorderopt: 1.1601e-04 iterations: 4 funccount: 10 cgiterations: 0 algorithm: 'trust-region-reflective' message: 'Success, but fitting stopped because change in residuals less than tolerance (TolFun).

Aproksymacja funkcją fit - wynik opts = fitoptions('method','nonlinear',... 'Normalize','Off') ftype = fittype('1/(1+exp(-b*x))',... 'options',opts) [g,gof,out] = fit(x',y_exp',ftype) %Wyliczenie punktow g_fit=1./(1+exp(-g.b*x)); [g1,gof1,out1]=fit(x',y_exp','poly3') %Wyliczenie punktow g_fit_poly3=g1.p1*x.^3... +g1.p2*x.^2+g1.p3*x+g1.p4; figure hold on plot(x,y_exp,'bo') plot(x,g_fit,'-r','linewidth',3) plot(x,g_poly3,':r','linewidth',3) legend('points','1/(1+exp(-b*x))','poly3')

Uchwyty do funkcji operator @ Pozwala odnosić się do funkcji, bez korzystania z nazwy uchwyt_wyk=@plot % utworzenie uchwytu do funkcji plot uchwyt_wyk(x,y) % wykres liniowy uchwyt_wyk=@bar % utworzenie uchwytu do funkcji bar uchwyt_wyk(x,y) % wykres slupkowy Ta sama instrukcja, różne efekty

Uchwyty do funkcji prosty przykład Chcemy napisać program, który będzie wizualizował dane Mamy kilka funkcji do wizualizacji W zależności od potrzeb użytkownika do wizualizacji będą wykorzystywane różne funkcje function rysuj_wykres(x,y,uchwyt_do_rysowania) uchwyt_do_rysowania(x,y) Program przyjmuje uchwyt do funkcji rysującej jako argument wejściowy >> uchwyt_wyk=@plot; >> rysuj_wykres(x,y,uchwyt_wyk) >> uchwyt_wyk=@bar; >> rysuj_wykres(x,y,uchwyt_wyk) >> rysuj_wykres(x,y,@plot) >> rysuj_wykres(x,y,@bar)

Uchwyty do funkcji kiedy przydatne? Nasz program chce coś osiągnąć. Jest kilka sposobów na osiągnięcie celu. Posługujemy się uchwytem żeby dać możliwość łatwej modyfikacji sposobu osiągnięcia celu uchwyt umożliwia przekazywanie funkcji jako argumentu wejściowego. Przykład: Program na jakimś etapie korzysta z N liczb losowych. Mamy do dyspozycji kilka funkcji generujących liczby losowe. Program może korzystać z uchwytu do funkcji generującej liczby losowe użytkownik może łatwo zmieniać rozkład generowanych liczb.

Funkcje anonimowe Funkcje, które nie mają nazwy. Korzystamy z nich tylko przez uchwyty. Skladnia: Uchwyt = @ (lista_arg) wyrazenie

Funkcje anonimowe - przykład a=-2 %[m/s2] V0=10 %[m/s] Uchwyt = @ (lista_arg) wyrażenie %Utworzenie funkcji anonimowej z jednym argumentem wejsciowym uchwyt=@(t)v0*t+(a*t.^2)/2 clear a, V0 t=0:10; S=uchwyt(t)%skorzystanie z funkcji anonimowej plot(t,s) plot(t,uchwyt(t))

Całkowanie numeryczne metoda trapezów % predkosci vel = [0.45 1.79 4.02 7.15 11.18... 16.09 21.90 29.05 29.05 29.05 29.05... 29.05 22.42 17.9 17.9 17.9 17.9... 14.34 11.01 8.9 6.54 2.03 0.55 0]; time = 0:24; %czas distance = trapz(time,vel) Znaczny błąd jeżeli: f(x) nie jest liniowa, a X i+1 X i są duże http://www.mathworks.com/help/matlab/ref/trapz.html

Całkowanie numeryczne metody adaptacyjne (integral, quad, quadl, quadgk) Składnia: calka = integral (fun, xmin, xmax) calka = integral (fun, xmin, xmax, Name, Value) fun uchwyt do całkowanej funkcji Funkcja musi jako argument przyjmować wektor liczb i zwracać dla niego wektor wartości xmin dolna granica całkowania ymax górna granica całkowania AbsTol błąd bezwzględny, RelTol błąd względny, ArrayValued, Waypoints Algorytm globalnej kwadratury adaptacyjnej odcinki całkowania są najkrótsze w miejscach o największej zmienności f(x).

Całkowanie numeryczne metody adaptacyjne - przykład function y=rozkladnormalny(x) %Funkcja liczy gestosc prawdopodobienswa dla N(0,1) sigma=1; mu=0; y=1/(sigma*sqrt(2*pi))*exp(-(x-mu).^2/(2*sigma^2)); >> integral(@rozkladnormalny,-0.5,0.5) %skladnia integral(fun, xmin, xmax, Name, Value) ans = 0.3829

Całkowanie numeryczne metody adaptacyjne - przykład function y=rozkladnormalny(x) %Funkcja liczy gestosc prawdopodobienswa dla N(0,1) sigma=1; mu=0; y=1/(sigma*sqrt(2*pi))*exp(-(x-mu).^2/(2*sigma^2)); >> integral(@rozkladnormalny,-0.5,0.5) %skladnia integral(fun, xmin, xmax, Name, Value) ans = 0.3829 r_norm=@(x,mu,sigma) 1/(sigma*sqrt(2*pi))*exp(-(x-mu).^2/(2*sigma^2)) x=-4:0.01:4; plot(x,r_norm(x,0,1)) clear x integral(@(x)r_norm(x,0,1),-3,3) %calka na przedziale [-3, 3] ans = 0.9973

Różniczkowanie numeryczne Pochodna: f x 0 = dy dx = lim f x 0 + Δx f(x 0 ) Δx 0 Δx W obliczeniach numerycznych wyliczany jest iloraz różnicowy: dy dx = f x i+1 f(x i ) x i+1 x i W MATLABIE: dy_dx=diff(y)./diff(x)

Różniczkowanie numeryczne - przykład %Rozniczkowanie numeryczne s=@(a,t) 1/2*a.*t.^2; t=0:0.1:20 droga=s(0.5,t); dsdt=diff(droga)./diff(t); plot(t,droga,'-b',t(1:end-1),dsdt,'-r',... 'LineWidth',2) xlabel('t [s]') legend('droga', 'Predkosc')

Numeryczne obliczanie gradientu Gradient pole wektorowe wskazujące kierunki najszybszych wzrostów wartości danego pola skalarnego w poszczególnych punktach, przy czym moduł (długość) każdej wartości wektorowej jest równy szybkości wzrostu. (http://pl.wikipedia.org/wiki/gradient) X = gradient(f) [FX,FY] = gradient(f) % F tablica dwuwymiarowa [FX,FY,FZ,...] = gradient(f) % F tablica trójwymiarowa [...] = gradient(f,h) % h określa jakie sa odstępy między punktami [...] = gradient(f,h1,h2,... )

Numeryczne obliczanie gradientu przykład v = -2:0.2:2; [x,y] = meshgrid(v); z = x.* exp(-x.^2 - y.^2); %wyznaczenie funkcji [px,py] = gradient(z,.2,.2); figure surface(x,y,z) grid on figure contour(x,y,z) hold on quiver(v,v,px,py) %w punktach (v,v) rysuje wektory hold off

Numeryczne obliczanie gradientu przykład >> A=[1 3 24 5 78; 3 12 5 23 89; 8 1 3 12 6] A = 1 3 24 5 78 3 12 5 23 89 8 1 3 12 6 Rozpisać >> [px,py]=gradient(a) px = 2.0000 11.5000 1.0000 27.0000 73.0000 9.0000 1.0000 5.5000 42.0000 66.0000-7.0000-2.5000 5.5000 1.5000-6.0000 py = 2.0000 9.0000-19.0000 18.0000 11.0000 3.5000-1.0000-10.5000 3.5000-36.0000 5.0000-11.0000-2.0000-11.0000-83.0000 Przykład w oparciu o M Kotulska, Informatyka, Wykład 5, 2013/2014

Zastosowanie MATLABA w obliczeniach statystycznych - podstawy Poznanie danych wizualizacja i statystyki deskryptywne Testy na normalność rozkładu Przedziały ufności dla średniej Testy Studenta

Histogramy N=1000; X=2*randn(N,1)+2; Polecenie: hist(x) % Rysuje histogram z 10 przedzialami Hist(X,k) % Rysuje histogram z k przedziałami [nelem,xcenters]=hist(x) % Podaje licznosci % i srodki przedzialow, nic nie rysuje Liczba przedziałów k może zmieniać odbiór danych:* k= log 2 n+1 (Zasada Strug a ) k = max X min(x) h, h = 2 IQR(x) n 1/3 lub h = 3.5 s n 1/3 *Bethold,Borgelt,Höppner,Klawonn, Guide to Intelogent Data Anlysis, 2010

Statystyki deskryptywne data=[x,randn(n,1)]; srednia=mean(data) mediana=median(data) kwartyle=quantile(data,[0.25,0.5,0.75]) rozstep = range(data) rozstepiqr=iqr(data) odchstd_proba=std(data) odchstd_pop=std(data,1) srednia = 1.9504 0.0429 mediana = 2.0507 0.0286 kwartyle = 0.6313-0.6081 2.0507 0.0286 3.2402 0.7473 minimum = -4.2578-3.0327 maximium = 8.6612 2.7477 rozstep = 12.9190 5.7804 rozstepirq = 2.6089 1.3555 odchstd_proba = 2.0101 0.9890 odchstd_pop = 2.0091 0.9885

Wykres ramkowy - boxplot figure boxplot([x,randn(n,1)]) ylabel('wartosc X') xlabel('klasa') Co jest gdzie?

Standaryzacja rozkładu Z-score Standardyzacja: Zscore i = X i X s [X1_z,muX1,sigmaX1]=zscore(X); DoTransformacji=[muX1,sigmaX1] PrzedTransformacja=[mean(X), std(x)] PoTransformacji=[mean(X1_z), std(x1_z)] DoTransformacji = 1.9504 2.0101 PrzedTransformacja = 1.9504 2.0101 PoTransformacji = 0.0000 1.0000

Testy na normalność rozkładu W statystyce często wykonuje się założenie o normalności rozkładu Test Andersona-Darlinga [h,p,adstat,cv] = adtest(x) h = 0 p = 0.4560 adstat = 0.3583 cv = 0.7513 Test Kolmogorova-Smirnova >> [h,p,ksstat,cv] = kstest(x) h = 1 p = 1.2069e-250 ksstat = 0.5351 cv = 0.0428 >> [h,p]=kstest(x1_z) h = p = 0 0.6947 Test Jarque-Bera >> [h,p,jbstat,critval] = jbtest(x) Warning: P is greater than the largest tabulated value, returning 0.5. > In jbtest at 133 h = 0 p = 0.5000 jbstat = 0.1713 critval = 5.9282

Wykres kwantylowy - qqplot qqplot(x)

Przedział ufności dla μ, gdy σ nie znane Konstrukcja przedziału: μ ± tα 2 SE, Gdzie: SE = s n kwantyl z rozkładu Studenta, z n-1 stopniami swobody tα 2 >> CU=mean(X)+tinv([0.05/2, 1-0.05/2], 999).*std(X)/sqrt(N-1) CU = 1.8256 2.0752 >> [muhat,sigmahat,mu_ci,sigma_ci] = normfit(x) muhat = 1.9504 sigmahat = 2.0101 mu_ci = 1.8257 2.0752 sigma_ci = 1.9257 2.1023

Test t-studenta dla jednej próby h0: μ = 1 ha:μ 1 >> [h,p,ci,stats]=ttest(x,1) h = 1 p = 9.1082e-46 ci = 1.8257 2.0752 stats = tstat: 14.9521 df: 999 sd: 2.0101 h0:μ = 1 ha:μ < 1 %Czy średnia jest mniejsza? >> [h,p,ci,stats]=ttest(x,1,'tail','left') h = 0 p = 1 ci = -Inf 2.0551 stats = tstat: 14.9521 df: 999 sd: 2.0101

Test t-studenta dla dwóch niezależnych prób h0: μ 1 = μ 2 ha: μ 1 μ 2 >> [h,p,ci,stats]=ttest2(x,x2) h = 1 p = 1.6556e-136 ci = 1.7686 2.0464 stats = tstat: 26.9260 df: 1998 sd: 1.5841

Dzisiaj najważniejsze było: MATLAB rozwiązuje układy równań liniowych przy wykorzystaniu reprezentacji macierzowej Interpolacja, aproksymacja i ekstrapolacja to problemy związane z szacowaniem wartości funkcji. Interpolacja i aproksymacja różnią się pod względem podejścia. Ekstrapolacja może korzystać z metod zarówno interpolacji jak i aproksymacji. Uchwyty do funkcji pozwalają: przekazywać funkcje jako parametry do innych funkcji tworzyć funkcje anonimowe MATLAB ma zastosowania w różnych dziedzinach nauki i inżynierii