matlab.pdf
(
1725 KB
)
Pobierz
Interpolacja
- 1 -
Ewa Dyka
Instytut Elektroenergetyki PŁ
LABORATORIUM
METOD NUMERYCZNYCH
- 2 -
Wstęp
Rozwój techniki komputerowej spowodował, że wiele skomplikowanych problemów naukowych
rozwiązywanych jest przy pomocy maszyn cyfrowych. Różnorodność zagadnień i złożoność obliczeń
wymaga niejednokrotnie dobrej znajomości problemów mających wpływ na dokładność obliczeń czy też na
szybkość ich wykonania. Istnieje wiele metod rozwiązywania typowych zagadnień, dlatego wszechstronne
ich poznanie umożliwia właściwe podejście do problemów związanych z obliczeniami numerycznymi.
W ramach laboratorium z przedmiotu Metody Numeryczne przedstawione zostały podstawowe działy metod
numerycznych: interpolacja, aproksymacja, równania nieliniowe, układy równań liniowych, wartości własne
macierzy, całkowanie i równania różniczkowe zwyczajne.
Ćwiczenia prowadzone są w oparciu o dwa programy:
MET-NUM – program napisany w Turbo Pascalu przez pracowników Instytutu Informatyki
Uniwersytetu Wrocławskiego zawierający moduły składające się z programów
demonstracyjnych oraz pakietów zawierających wybrane funkcje i procedury
MATLAB – pakiet obliczeniowy firmy MathWorks umożliwiający dokonywanie dowolnych
obliczeń numerycznych
Celem powyższych ćwiczeń jest zarówno poznanie metod przedstawionych w obydwu programach jak i
porównanie ich ze sobą pod kątem dokładności otrzymywanych wyników.
- 3 -
PODSTAWY MATLAB-a
- 4 -
1.
Wprowadzenie
.
MATLAB jest programem służącym do obliczeń numerycznych.
Na prawidłowość wyników uzyskiwanych w trakcie obliczeń mają wpływ dwa podstawowe elementy:
uwarunkowanie zadania - (złe uwarunkowanie powoduje, że małe odchylenia danych wejściowych
mają duży wpływ na wynik końcowy)
stabilność algorytmów - w trakcie obliczeń następuje kumulacja błędów, obliczenia w MATLAB-
ie dokonywane są na liczbach zmiennoprzecinkowych, zarówno te liczby jak i wykonywane na
nich operacje obarczone są pewnymi błędami uzależnionymi od precyzji zapisu. Błędy te w
trakcie obliczeń mają tendencję do przenoszenia się i kumulowania, jeżeli powodują uzyskanie
wyniku znacznie oddalonego od prawidłowego to mówimy o niestabilnym algorytmie
obliczeniowym.
Jedynym
używanym
typem danych
są
macierze
, przy czym MATLAB umożliwia również
dokonywanie operacji arytmetycznych dla poszczególnych elementów macierzy, przy wykorzystaniu tzw.
operatorów tablicowych.
Macierze
należy oznaczać
dużymi literami
, natomiast
wektory
bądź
tablice wartości
mogą być oznaczane
małym
i lub
dużymi literami
. Tę samą zmienną zapisaną raz dużą literą raz małą MATLAB traktuje jako dwie
różne zmienne.
operatory arytmetyczne
:
operatory porównania
*
mnożenie
==
równe
^
potęgo anie
~=
różne
+ -
dodawanie, odejmowanie
<
mniejsze
/
dzielenie (dzielenie prawostronne),
>
większe
\
dzielenie lewostronne (A/B = (A'\B')')
<=
mniejsze równe
'
transpozycja macierzy (tablicy)
>=
większe równe
.
tablica wartości
Części dziesiętne oddzielane są kropką
(np. 3.5, 100.9). Liczby ułamkowe postaci a*10
-n
zapisywane są
następująco: ae-n.
Można podać sposób wyświetlania obliczeń pisząc polecenie
format
z odpowiednim parametrem (np. liczba
1/3; format short – 0.3334; format long – 0.33333333333334).
W celu odróżnienia działań dokonywanych na macierzach od działań dokonywanych na tablicach
wartości, w przypadku tablic wartości należy
zawsze po zmiennej umieścić kropkę przed znakiem
mnożenia, dzielenia i potęgowania
(np. (x
.
^4)
.
*tan(x) + x
.
*sin(x) - x
.
/cos(x)). W przypadku dzielenia
umieszcza się
kropkę również po stałej przed znakiem dzielenia
(np. 2
.
/x).
Najczęściej używane znaki przy pisaniu własnego programu:
%
na początku linii – linia ta jest komentarzem
;
na końcu linii zawierającej wzory – program nie wyświetla pośrednich obliczeń
%%
na początku pierwszej linii po której jest pusty wiersz – linia ta jest helpem do pliku
...
na końcu linii – dalszy ciąg danej linii w następnym wierszu
Napisany program należy zachowywać w skrypcie z rozszerzeniem "
m
" i umieszczać w katalogu o
nazwie
MATLAB
. Katalog ten należy założyć na dysku sieciowym użytkownika. Program obliczeniowy
- 5 -
uruchamiany jest poprzez napisanie w oknie MATLAB-a nazwy pliku bez rozszerzenia. Przed jego
wywołaniem należy podać ścieżkę dostępu: np.
path(path,'g:\MATLAB')
.
Niektóre obliczenia wymagają zastosowania wbudowanych funkcji MATLAB-a (np. całkowanie,
różniczkowanie, wyznaczanie zer funkcji), wówczas w skrypcie deklaruje się dane zadanie jako własną
funkcję pisząc "
function y = f(x)
..... ", natomiast w oknie programu należy napisać polecenie zawierające
odpowiednią funkcję MATLAB-a (np. quad, ode23, fzero).
2.
Definiowanie macierzy.
a) przez wyliczenie elementów:
np. : A = [2 2 1;3 4 5; 5 6 7]
A = [2 2 1
3 4 5
5 6 7]
Macierz deklaruje
się poprzez umieszczenie jej
elementów
w
nawiasach kwadratowych;
poszczególne
elementy
macierzy
oddzielane są spacjami
;
koniec wiersza
oznaczany jest
średnikiem
lub deklarowany jest poprzez wciśnięcie klawisza "Enter".
b) przez wygenerowanie elementów:
np.
x = -5 : 0.1 : 8
macierz wierszowa (
-5
- pierwszy element;
0.1
- krok,
8
- ostatni
(131) element)
y = f(x)
macierz wierszowa (
y1 = f(5)
- pierwszy element,
y131 = f(8)
-
ostatni (131) element)
c) przez podanie zależności określającej elementy macierzy:
np. dla macierzy Hilberta elementy macierzy określone są następującą zależnością:
a(i, j) = 1 / (i+j-1), aby wyznaczyć elementy tej macierzy można skorzystać z biblioteki
programu pisząc polecenie
hilb(n)
, gdzie
n
- stopień macierzy lub napisać własny
program:
n =
for i = 1:n
for j = 1:n
A(i,j) = 1/(i+j-1);
end
end
disp( )
napisanie średnika na końcu linii powoduje brak wyświetlania pośrednich obliczeń,
disp()
- wyświetlenie wyniku
Elementy macierzy
lub
tablicy wartości
umieszcza się zawsze w
nawiasach kwadratowych
, natomiast
nawiasy zwykłe
zarezerwowane są dla
poleceń i funkcji MATLABA-a
.
Poszczególne
elementy polecenia bądź funkcji
oddzielane są
przecinkami
i jeżeli
nie stanowią
zmiennej lub
liczby
umieszczane są w
apostrofach
(np. plot(x, y, ‘r*’)).
Plik z chomika:
lazarusp22
Inne pliki z tego folderu:
Computer science with Mathematica.djvu
(4676 KB)
matlab.pdf
(1725 KB)
Mathematica (2).pdf
(861 KB)
Mathematica-w1.pdf
(188 KB)
mathematica.pdf
(141 KB)
Inne foldery tego chomika:
Aproksymacja
Interpolacja
Kwadratury
Przykłady
Rozwiązanie równania różniczkowego
Zgłoś jeśli
naruszono regulamin