Sezon 10


MATLAB1
Bardzo popularne od połowy lat 90 środowisko obliczeniowe.
MATLAB  matrix laboratory.
Jak sama nazwa wskazuje środowisko nakierowane na wykorzystanie
zapisu macierzowo-wektorowego.
Potężna grafika. Istnieje Student Edition za około 100$ (Prentice Hall).
Używamy  pożyczonego legalnego Matlaba 4
Najważniejsze cechy.
Brak deklaracji zmiennych i tablic. Dokonuje się to automatycznie samo  pożądana
dyscyplina! .
Można używać technologii  global oraz parametrów formalnych i aktualnych.
Niesłychana wygoda operowania tablicami. Rozróżniamy małe i duże litery.
Pojęcia instrukcji podstawienia, wyrażenia oraz relacje podobne jak w innych
językach.
Nie ma struktury blokowej programu  piszemy kolejno wykonywane komendy.
Są funkcje i instrukcje złożone.
W zasadzie instrukcja/instrukcje nie są przenoszone do następnej linii.
Bardzo bogata grafika. Wygodne przenoszenie wykresów do Worda i LATEX a.
Wyjątkowa biblioteka funkcji. Prawie wszystko dla automatyki, elektroniki,
elektrotechniki, fizyki itd.
Kilkadziesiąt dodatkowych toolbox ów (po około 300-500$).
Simulink, Control, Neural networks, Fuzzy logic.
Środowisko
Okno dialogowe pozwala na wpisywanie kolejnych komend, które są od razu wykonywane.
Jeśli nasze zadańko ma więcej długich linijek to programik zapisujemy jako plik
dyskowy z rozszerzeniem  m (tzw: m-file) np. programik.m;
Podając w oknie dialogowym nazwę programu (bez rozszerzenia) jako komendę
dokonujemy egzekucji programiku.
Programy matlabowskie czyli m-file mogą być w wielu dowolnych kartotekach 
trzeba tylko ustawić w MATLABIE scieżki dostępu (set path) lub dla matlaba 4
bezpośrednio w pliku matlabrc.m w kartotece instalacji matlaba.
M-file piszemy w środowisku matlaba lub korzystając z dowolnego edytora plików
jawnych.
Matlab ma potężnego helpa z wyjaśnieniami.
Przypominamy, że znajomość angielskiego jest dzisiaj konieczna dla ludzi
wykształconych.
Jeśli wyniki mają postać graficzną to automatycznie pojawia się okienko graficzne.
Techniką copy-paste wyniki przerzucamy np. do Worda.
Przykład  prostego obliczenia.
fplot ( exp(-x/20).*sin(x) ), [1 100]);
lub
t=0:0.1:100; plot(t,exp(-t/20)*sin(t));
dają:
Każda z powyższych linijek może być umieszczona w m-pliku np. pok1.m;
Wtedy wykonanie: pok1.
Kilka najczęściej używanych znaków:
; - w Matlabie ma wiele znaczeń (m.in na końcu instrukcji nie listuje wykonania).
t=0:0.01:100; załaduje liczby do wektora t i koniec.
t=0:0.001:100 załaduje I wylistuje cały wektor t.
Oddziela też wiersze macierzy.
: - oznacza  od - do lub  wszystko w zależności od kontekstu.
% - początek komentarza
... - oznacza, że dalsza część instrukcji będzie w następnej linii.
x - podanie nazwy zmiennej jako instrukcji powoduje wylistowanie tej zmiennej.
load c:\pok\out2; załadowanie zawartości pliku dyskowego out2 do środowiska
matlaba zawartość będzie automatycznie w zmiennej o nazwie
out2 (np. macierzy out2).
Uwaga: W trakcie obliczeń wszystkie zmienne zachowują swoje wartości w środowisku.
Najlepiej rozpoczynać obliczenia od komendy clear all; lub zrestartować Matlaba.
Uwaga: Wszystkie m-pliki będące w kartotekach do których dostęp zadeklarowaliśmy
w pliku matlabrc są z Matlaba widoczne. Jeśli pliki o takiej samej nazwie są w różnych
kartotekach to środowisko wezmie pózniej zadeklarowaną, ale ponieważ nikt
nie zagląda do swojego spisu ścieżek to można dostać  wesołe wyniki.
Generowanie macierzy
instrukcja: A = [1 2; 3 4]; daje: A = 1 2
tu znak ; oddziela wiersze 3 4
x = [-1.2 sqrt(3) (1+2+3)*4/5]; (można wyrażenia!)
daje: x = -1.200 1.7321 4.800
przypominamy, że dopóki nie wyczyścimy zawartości wszystkie
zmienne i macierze są utrzymywane w środowisku.
a więc teraz: x(5) = abs(x(1));
daje: x = -1.200 1.7321 4.800 0 1.200 (uzupełnia)
j:k oznacza [j, j+1, ... ,k]
j:i:k oznacza [j, j+i, ... , k]
x:dx:y oznacza [x, x+dx, ... ,y]
A(:,j) oznacza j-tą kolumnę macierzy A
A(i,:) oznacza i-ty wiersz A
A(:,:) oznacza A
A(:) daje wszystkie elementy w jednej kolumnie
A(:, j:k) oznacza A(:, j), A(:, j+1), ... , A(:, k)
Przykłady:
B = 1: 4; daje B = 1 2 3 4
x = 0:0.1:0.5; daje x = 0.0 0.1 0.2 0.3 0.4 0.5
A(:,1) = 1 A(1,1) = 1 A(1,2) = 2 A(:) = 1
3 2
3
4
Powiększanie i pomniejszanie macierzy
B = A; B(:, 2) = [] wycina 2-gą kolumnę macierzy B
a więc teraz B = 1
3
C = [A, A] daje: C = 1 2 1 2 C = [A, B] daje C = 1 2 1
3 4 3 4 3 4 3
D = [A; A]; daje D = 1 2
3 4
1 2
3 4


Wyszukiwarka

Podobne podstrony:
Once Upon a Time sezon 01, odcinek 10
WSM 10 52 pl(1)
VA US Top 40 Singles Chart 2015 10 10 Debuts Top 100
10 35
401 (10)
173 21 (10)

więcej podobnych podstron