matlab – matrix laboratory mathworks inc.galaxy.uci.agh.edu.pl/~kca/chemommatlab.pdf ·...

10
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

Upload: nguyennhan

Post on 28-Feb-2019

224 views

Category:

Documents


0 download

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

� 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ę!