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 10WSM 10 52 pl(1)VA US Top 40 Singles Chart 2015 10 10 Debuts Top 10010 35401 (10)173 21 (10)więcej podobnych podstron