1 Akademia Górniczo - Hutnicza im.Stanislawa Staszica w Krakowie, Wydzial InŜynierii Materialowej i Ceramiki Matlab – MATrix LABoratory Mathworks Inc. Malgorzata Jakubowska Akademia Górniczo - Hutnicza im.Stanislawa Staszica w Krakowie, Wydzial InŜynierii Materialowej i Ceramiki pakiet oprogramowania matematycznego firmy MathWorks Inc. (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 przyklady jeden z podstawowych programów na uczelniach MATLAB Akademia Górniczo - Hutnicza im.Stanislawa Staszica w Krakowie, Wydzial InŜynierii Materialowej i Ceramiki Zalety: wykonywanie obliczeń naukowych i inŜynierskich graficzna wizualizacja danych i wyników obliczeń architektura otwarta moŜliwość pisania wlasnych funkcji oraz modyfikacji wbudowanych moŜliwość rozszerzania zakresu dzialania 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.Stanislawa Staszica w Krakowie, Wydzial InŜynierii Materialowej i Ceramiki SIMULINK - Symulacja ukladów dynamicznych Przetwarzanie i analiza Sygnalów Przetwarzanie i analiza Obrazów Sieci Neuronowe Logika rozmyta Statystyka Finanse i gielda Akwizycja danych Projektowanie filtrów Bazy danych Matematyka symboliczna Tematyka toolboxów Matlaba Akademia Górniczo - Hutnicza im.Stanislawa Staszica w Krakowie, Wydzial InŜynierii Materialowej 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.Stanislawa Staszica w Krakowie, Wydzial InŜynierii Materialowej i Ceramiki Język Matlab – umoŜliwia tworzenie programów, kompletnych aplikacji, udostępnia funkcje, obslugę 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ólpracujących z programami napisanymi w Matlabie. Elementy pakietu Matlab
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
� 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
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
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:
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