1
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Matlab – MATrix LABoratoryMathworks Inc.
Małgorzata Jakubowska
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� pakiet oprogramowania matematycznego firmy MathWor ksInc. (www.mathworks.com )
� rozwijany od roku 1984
� język programowania i środowisko do oblicze ń naukowo-technicznych
� obszerny zestaw tematycznych bibliotek podprogramów(toolbox’ów)
� obszerna dokumentacja (wiele tysięcy stron podręczników i pomoc wbudowana) oraz przykłady
� jeden z podstawowych programów na uczelniach
MATLAB
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Zalety:
� wykonywanie oblicze ń naukowych i inŜynierskich
� graficzna wizualizacja danych i wyników obliczeń
� architektura otwarta
� moŜliwość pisania własnych funkcji oraz modyfikacji wbudowanych
� moŜliwość rozszerzania zakresu działania z wykorzystaniem procedur dostępnych w internecie
� daje moŜliwość programowania bez konieczności rozpoznawania środowiska programistycznego (jak BASIC a nie jak C czy C++)
� przyjazne, interaktywne środowisko pracy
� stale rozwijany i wzbogacany.
MATLAB
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� SIMULINK - Symulacja układów dynamicznych
� Przetwarzanie i analiza Sygnałów
� Przetwarzanie i analiza Obrazów
� Sieci Neuronowe
� Logika rozmyta
� Statystyka
� Finanse i giełda
� Akwizycja danych
� Projektowanie filtrów
� Bazy danych
� Matematyka symboliczna
Tematyka toolboxów Matlaba
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� Analiza falkowa i Fourier'a
� Optymalizacja
� Równania róŜniczkowe
� Sterowanie nieliniowe
� Sterowanie predykcyjne
� Analiza chemiczna
� Geografia i mapy
� Funkcje sklejane (spline)
� Metoda elem. skończonych
� Teoria grafów . . . . . . . .
Tematyka toolboxów Matlaba
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Język Matlab – umoŜliwia tworzenie programów, kompletnych aplikacji, udostępnia funkcje, obsługę wejścia/wyjścia i elementy programowania obiektowego.
Środowisko robocze Matlaba – zestaw narzędzi do zarządzania zmiennymi w przestrzeni roboczej, m-plikami, aplikacjami Matlaba oraz do importowania i eksportowania danych.
System graficzny – zawiera funkcję do tworzenia dwu- i trójwymiarowych wykresów, funkcje przetwarzania obrazów i tworzenia animacji, budowęgraficznego interfejsu uŜytkownika.
Biblioteka funkcji matematycznych – podstawowe funkcje matematyczne, funkcje macierzowe oraz specyficzne funkcje matematyczne.
Interfejs API – biblioteka umoŜliwiająca tworzenie programów w językach C i Fortran, współpracujących z programami napisanymi w Matlabie.
Elementy pakietu Matlab
2
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
MATLAB – okno programu
Aktualny
katalog
Okno
komend
Obszar roboczy
Historia
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Help
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� podstawowym typem danych w MATLABie jest tablica(macierz) o elementach rzeczywistych lub zespolonych
� wszystkie zmienne w MATLABie są traktowane jak macierze
� wektory i skalary są szczególnymi przypadkami macierzy
� kaŜda macierz jest identyfikowana przez nazwę zmiennej
� nazwy zmiennych rozpoczynają się od litery, a po niej mogą byćlitery, cyfry i znaki podkreślenia
� pamiętanych jest 31 pierwszych znaków
MATLAB – typy danych
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� MATLAB rozró Ŝnia du Ŝe i małe litery
� polecenia standardowe naleŜy pisać małymi literami
� do nazywania własnych programów i zmiennych moŜna uŜywaćmałych i duŜych liter
� definiowanie typu i wymiarów macierzy odbywa się automatycznie -przez rozpoznanie rodzaju wpisanych wartości
� MATLAB generuje zmienną automatycznie podczas jej pierwszego uŜycia
� aby sprawdzić wartość istniejącej juŜ zmiennej, naleŜy w wierszu poleceń wpisać jej nazwę.
Nazwy i definicje zmiennych
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Stałopozycyjne - z opcjonalnym uŜyciem znaku + lub – oraz kropki dziesiętnej
Zmiennopozycyjnej - z uŜyciem znaku e lub E poprzedzającego wykładnik potęgi 10, np. 10e2=100
Do zapisu części urojonej liczb zespolonych uŜywa się stałej i lub j.
Liczby
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� po wydaniu polecenia i naciśnięciu klawisza Enter Matlab natychmiast wyświetla jego wynik
� umieszczenie po poleceniu średnika spowoduje wykonanie obliczeń, ale bez wyświetlania wyniku
� polecenie powinno się mieścić w jednym wierszu
� kilka poleceń w jednym wierszu oddzielamy od siebie przecinkami lub średnikami.
Polecenia
3
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Proste obliczeniaKomendy wprowadzamy w oknie interpretera po znaku zachęty >>.>> 5+7ans =
12>> a=13a=
13>> x=sin(pi/2)x=
1Komenda zakończona średnikiem wykona się lecz nie będzie wyświetlony wynik.>> x=sin(pi/2);>>
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Proste obliczenia>> a=10a =
10>> b=20b=
20>> c=30c=
30>> d=(a+b+c)/3d=
20
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wektor, macierz>> w=[7, 13, 12]w=
7 13 12>> w=[7 ; 13 ; 12]w=
71312
>> m=[2,12,44,14 ; 7,17,27,101 ; 3,13,33,202]m=
2 12 44 147 17 27 1013 13 33 202
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wprowadzanie wektorów
<zmienna> =<warto ść początkowa>:<krok>:<warto ść końcowa>
>>czasi=0:100:2300;komenda utworzy wektor o długości 24 elementówzawierający wartości 0, 100, 200,..., 2300
>>czasi(3)ans=
200>>czasi(24)ans=
2300
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wprowadzanie macierzy
>>A=[1:9; 2:2:18]A=
1 2 3 4 5 6 7 8 92 4 6 8 10 12 14 16 18
� elementy w wierszu macierzy muszą być oddzielane spacj ą lub przecinkami
� średnik lub znak nowego wiersza kończy wiersz macierzy i powoduje przej ście do nast ępnego
� cała lista elementów musi być ujęta w nawiasy kwadratowe .
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Operacje macierzowe
– operacje na macierzach określone regułami algebry liniowej .
X*Y – mnoŜenie macierzy, zgodna z zasadami rachunku macierzowego
(liczba kolumn X jest równa liczbie kolumn Y)
X+Y – sumowanie macierzy
X-Y – odejmowanie macierzy
X’ – transpozycja macierzy
Operacje na macierzach i ich elementach
4
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Operacje na macierzach i ich elementach
Operacje tablicowe
– operacje na elementach macierzy .
X.*Y – mnoŜenie elementów wektorów lub macierzy
o tych samych indeksach tzn. X(i,j)*Y(i,j)
X.+Y – sumowanie elementów macierzy o tych samych indeksach
X.-Y – odejmowanie elementów macierzy o tych samych indeksach
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Operacje na macierzach i ich elementach
>> X=[1 2 3]; Y=[4 5 6];>>Y’ % transpozycja wektoraans=
456
>>X*Y’ans=
32>>X.*Yans=
4 10 18
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Generacja macierzy i operacje na macierzach
Wynik działania funkcjiFunkcja
macierz przekątniowa A ze składnikami wektora x na głównej przekątnej
A=diag(x)
wektor x utworzony z elementów znajdujących się na głównej przekątnej macierzy A
x=diag(A)
macierz odwrotna do Ainv(A)
macierz nxn wypełniona liczbami pseudolosowymi z przedziału <0,1> o rozkładzie jednostajnym
rand(n)
macierz zerowa nxnzeros(n)
macierz nxn o elementach równych 1ones(n)
macierz jednostkowa nxneye(n)
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Operacje na wektorach
zwraca średnią arytmetyczną elementów wektora xmean(x)
zwraca iloczyn elementów wektora xprod(x)
zwraca sumę elementów wektora xsum(x)
zwraca najmniejszy element wektora xmin(x)
zwraca największy element wektora xmax(x)
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Stałe matematyczne
nie liczba; jest wynikiem matematycznie niezdefiniowanych operacji
NaN lub nan
nieskończoność (ang. infinity); jest rezultatem operacji, która przekracza zakres arytmetyki komputera, np.dzielenie przez 0
Inf lub inf
pierwiastek z liczby –1i lub j
względna dokładność zmiennoprzecinkowaeps
przybliŜenie wartości pi
opisstałe
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Funkcje matematyczne
Wbudowane - część jądra pakietu, do których uŜytkownicy nie majądostępu (np. sqrt)
Implementowane w m-plikach - przechowywane w ogólnie dostępnych plikach (np. sinh); takie m-pliki uŜytkownicy mogą tworzyćsami.
5
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
abs - wartość bezwzględna
funkcje trygonometryczne, hiperboliczne i odwrotne
exp - e do x
fix - zaokrągla w stronę zera
floor - zaokrągla w dół
log - logarytm naturalny
log2 - logarytm o podstawie 2
log10 - logarytm o podstawie 10
round - zaokrągla do najbliŜszej całkowitej
sign - znak
sqrt - pierwiastek
WaŜniejsze elementarne funkcje matematyczne
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Operacje graficzne
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wykresy dwuwymiarowe
rysuje wykres y(x) z określeniem dokładnego wyglądu linii; s-łańcuch zawierający kody
plot(x,y,s)
rysuje wykres elementów wektora y, przyjmując x=1:length(y)
plot(y)
rysuje wykres elementów wektora y względem elementów wektora x
plot(x,y)
Opis Polecenie
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Rysowanie wykresów
>> x=[1 2 3 4 5];
>> y=[25 0 20 5 15];
>>plot(x, y);
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Opis wykresów
wyświetla łańcuch znaków tekst jako opis osi x aktywnego wykresu
xlabel(tekst)
włącza/wyłącza wyświetlanie pomocniczej siatki współrzędnych
grid on/off
wyświetla legendę; łańcuch znaków s1 jest opisem odnoszącym się do pierwszego wykresu,s2-drugiego,...
legend(s1,s2,..)
wyświetla łańcuch znaków tekst w miejscu określonym przez współrzędne x,y
text(x,y,tekst)
wyświetla łańcuch znaków tekst jako tytułaktywnego wykresu
title(tekst)
wyświetla łańcuch znaków tekst jako opis osi y aktywnego wykresu
ylabel(tekst)
Opis Funkcja
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Rysowanie wykresów – parabola>> x=-5 : .1 : 5;
>> y=x .^ 2;
>>plot(x, y);
>>xlabel(‘x-axis’);
>>ylabel(‘y-axis’);
>>title(‘A Parabola’);
>>grid on;
6
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Kilka wykresów na rysunku>> x=-10 : .05 : 10;>> line = 5 .* x;>> parabola = x .^ 2;>> exponential = exp(x);>> absolute_value=abs(x);>> subplot(2,2,1); plot(x, line));>> title(‘Here is the line’);>> subplot(2,2,2); plot(x, parabola));>> title(‘Here is the parabola’);>> subplot(2,2,3); plot(x, exponential));>> title(‘Here is the exponential’);>> subplot(2,2,4); plot(x, absolute value));>> title(‘Here is the absolute value’);
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wykres 3DTworzenie wykresów krzywych:
� przestrzennych (plot3),
� siatek (mesh)
� powierzchni (surf)
� wykresów konturowych (contour).
Pomoc na temat funkcji 3D: help graph3d .
Polecenie plot3(x,y,z,s)
� generuje trójwymiarową krzywą złoŜoną z punktów (xi, yi, zi)
� współrzędne zostały określone w wektorach x, y, z
� wektory muszą być tej samej długości
� funkcja ta jest odpowiednikiem funkcji plot w grafice dwuwymiarowej.
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wykres 3D
meshgrid(x,y) - jako argumenty podajemy ciągi (wektory) wartości x oraz y a w wyniku uzyskujemy dwie macierze zawierające łącznie wszystkie pary współrzędnych dla których mają być wyznaczane wartości funkcji zmiennych x, y.
mesh(x,y,z,c) – rysuje powierzchnię opisaną macierzami x, y, z w postaci kolorowej siatki o polach wypełnionych kolorem tła; elementy macierzy c określają kolory linii poszczególnych pól.
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wykres 3D
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Wykres 3D
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Programowanie w Matlabie
7
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Instrukcja warunkowaif warunek
polecenia1
else
polecenia2
end ;
Przykład
>> if (a ~= 0) c=b/a; else c=12; end ;
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Operatory porównania
równy
nierówny
mniejszy
większy
mniejszy lub równy
większy lub równy
a = = b
a~=b
a<b
a>b
a<=b
a>=b
opisoperator
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Operatory logiczne
a lub ba i bnie a
alternatywakoniunkcja
negacja
a | ba&b~a
relacjaopisoperator
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Instrukcja p ętliwhile warunek
polecenia
end ;
Instrukcja wykonuje polecenia tak długo, dopóki warunek jest spełniony.
Przykład
>> i=1;
>> while i<10
p(i)=i^2; i=i+2;
end;
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Instrukcja p ętlifor zmienna = macierz wartości
polecenia
end ;
ALE NAJCZ ĘŚCIEJfor zmienna = wartość początkowa : krok : wartość końcowa
poleceniaend ;
Instrukcja powtarza wykonanie poleceń dla zmiennej przyjmującej wartości od wartości początkowej do wartości końcowej, zmieniając co krok.
Przykład
>> for i =1:5 p(i) = (2*i)^2; end;
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� własne programy (wieloliniowe) moŜna pisać w edytorze MATLABalub w notatniku
� zapisywane są do plików z rozszerzeniem *.m � uruchamiane (wywoływane) są przez wpisanie nazwy pliku (bez
rozszerzenia .m) w oknie komend
RozróŜniamy: skrypty - operujące na zmiennych przestrzeni roboczej Matlabafunkcje - posiadające zmienne lokalne
M-pliki
8
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
� skrypt jest plikiem tekstowym o rozszerzeniu .m (m-plikiem), zawierającym polecenia i instrukcje Matlaba
� skrypty nie pobieraj ą Ŝadnych argumentów wejściowych ani nie zwracaj ą argumentów wyjściowych
� mogą tylko operować na zmiennych dostępnych w przestrzeni roboczej Matlaba.
Skrypty
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Przykład m-pliku skryptowego
% po znaku procentu są tzw. komentarze % program rozwiązywania równania kwadratowego
a=input('a='); b=input('b='); c=input('c='); delta = b*b-4*a*c; if delta<0
disp('Brak pierwiastków rzeczywistych'); else
x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a); disp('x1='); disp(x1); disp('x2='); disp(x2);
end
M-pliki skryptowe
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Pierwszy wiersz m-pliku musi zawierać definicję nowej funkcji:
� słowo kluczowe function
� nazwę funkcji - musi być taka sama, jak nazwa pliku (bez rozszerzenia .m), w którym znajduje się funkcja
� wartości funkcji (lista argumentów wyjściowych)
� parametry funkcji (lista argumentów wejściowych).
Funkcje
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
function [lista param wyjściowych] = nazwa funkcji (lista param.wejściowych)
function c = pitagoras(a,b);c2 = a.^2 + b.^2; % c2 – zmienna lokalnac = sqrt(c2);
Funkcję zapisać w pliku pitagoras.m
Wywołanie funkcji:
>> x=3; y=4; z=pitagoras(x,y)
Funkcje
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Analiza numeryczna
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
www.nr.com
9
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Miejsca zerowe i minima funkcji
x1=fzero(f,x0) - zwraca miejsce zerowe x1 nieliniowej funkcji jednej zmiennej f(x); argument x0 określa początkowe przybliŜenie wartości szukanego miejsca zerowego; f jest łańcuchem znaków określającym funkcjęMatlaba.
x1=fminbnd(f,x0,xk) - zwraca wartość x1, dla której nieliniowa funkcja jednej zmiennej f(x) osiąga minimum ; argumentami funkcji są liczby x0 i xk, określające początek i koniec przedziału poszukiwań, oraz łańcuch znaków f określa funkcję Matlaba
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Pierwiastki wielomianuWielomian n-tego stopnia ma ogólną postać:
W(x,a)=a1xn+a2xn-1+...+anx+an+1
a=poly( r ) - zwraca wektor a współczynników a1, a2, a3, ..., an+1 wielomianu W(x,a) o pierwiastkach podanych w postaci wektora r=[r1, r2, ..., rn]
p=polyval(a,x0) - zwraca wartość wielomianu W(x,a) w punkcie x=x0; współczynniki wielomianu określa wektor a, przy czym muszą być one uszeregowane w kolejności od najbardziej znaczącego (a1) do wyrazu wolnego (an+1)
r=roots(a) - wraca wektor r pierwiastków wielomianu W(x,a); a jest wektorem współczynników wielomianu a1, a2, a3, ..., an+1
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Algebra liniowarank(A) - oblicza rząd macierzy A
det(A) - oblicza wyznacznik macierzy kwadratowej A
norm(A) - oblicza normę macierzy A
cond(A) - oblicza liczbę warunkową macierzy A
L=eig(A) - zwraca wektor L, zawierający wartości własne macierzy kwadratowej A
x=inv(A)*b lub x=b/A - rozwiązuje układ równań A*x=b (b-wektorkolumnowy)
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
InterpolacjaW przedziale [a; b] danych jest n+1 róŜnych punktów x0, x1, ..., xn, które nazywamy węzłami interpolacji, oraz wartości pewnej funkcji y=f(x) w tych punktach f(x0)=y0, f(x1)=y1, ..., f(xn)=yn. Zadaniem interpolacji jest znalezienie funkcji F(x), zwanej funkcjąinterpolującą, która w węzłach interpolacji przyjmuje takie same wartości co funkcja y=f(x).
Standardowe procedury Matlaba realizują interpolację za pomocąwielomianów pierwszego i trzeciego stopnia oraz funkcji sklejanych stopnia trzeciego.
yi=interp1(x,y,xi,metoda) - zwraca wektor yi, będący wartościami funkcji 1 zmiennej y=f(x) w punktach określonych wektorem xi; węzły interpolacji określają wektory x i y; metoda - łańcuch znaków określający metodę interpolacji.
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
AproksymacjaJest to zagadnienie bardziej ogólne. Funkcja dana i funkcja szukana nie muszą przyjmować tych samych wartości w punktach węzłowych.
Funkcję f(x) , znaną lub określoną tablicą wartości, będziemy aproksymować (zastępować) inną funkcją F(x), zwaną funkcjąaproksymującą.
Standardową metodą aproksymacji w Matlabie jest aproksymacja średniokwadratowa wielomianami wybranego stopnia.
a=polyfit(x,y,n) - znajduje wektor a współczynników wielomianu stopnia n najlepiej dopasowanego do danych wektorów x, y.
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Całkowanie metod ą SimpsonaMatematyczny opis metody
Całka obliczana jest dla prostej funkcji podcałkowej f(x)
(1)
gdzie a < b (granice całkowania).
PrzybliŜoną wartość całki oblicza się na podstawie wzoru Simpsona .
∫b
a
dxxf )(
10
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Całkowanie metod ą SimpsonaDany przedział [a, b] dzieli się na trzy równe podprzedziały:
[a, x1] = [x0 , x1], [x1, x2] , [x2, x3] = [x2, b]. (2)
W kolejnych podprzedziałach stosujemy wzór Simpsona
(3)
h obliczane jest jako
(4)2,1,0,2
1 =−
= + ixx
h ii
iiii
x
x
Ixfhxfxfh
dxxfi
i
=+++≈ +∫+
)]()(4)([3
)( 1
1
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Całkowanie metod ą SimpsonaCzynność powtarzana jest w kaŜdym podprzedziale. Uzyskujemy sumę:
(5)
Następnie kaŜdy z przedziałów dzieli się znowu na trzy części i w podobny sposób otrzymuje się drugie przybliŜenie całki. Procedura ta jest kontynuowana do chwili, gdy róŜnica pomiędzy dwoma kolejnymi przybliŜeniami obliczanej całki jest dostatecznie mała lub gdy długości podprzedziałów są mniejsze od (b-a)/3n, gdzie n oznacza zadaną liczbęnaturalną.
W Matlabie
quad(f,a,b,) – całkowanie metodą Simpsona.
∑∫=
≈2
0
)(i
i
b
a
Idxxf
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Całkowanie
Akademia Górniczo - Hutnicza im.Stanisława Staszica w Krakowie, Wydział InŜynierii Materiałowej i Ceramiki
Dziękuję za uwagę!
Top Related