MATLAB
Matlab (Matrix Laboratory) to interakcyjne środowisko do obliczeń naukowo-inżynierskich oraz wizualizacji
danych. Matlab dostępny jest na większość platform sprzętowych i systemowych (wartstwa GUI wykonana jest
w Javie).
Historia Matlaba rozpoczęła się od zbiorów procedur do obróbki macierzy (biblioteki fortranowskie LINPACK i
EISPACK) połączone wspólnym interaktywnym programem dzieła Cleve’a Molera pozwalającym na
wykorzystanie procedur bez znajomości Fortranu. Komercyjną wersję tego programu wydała firma The
MathWork, Inc. (C. Moler, S. Bangert, J. Little) pod nazwą Matlab.
Niezwykle istotną cechą Matlaba jest jego otwarta strukturę – producent oferuje dodatkowe pakiety, dodatkowe
funkcje i procedury można również pisać samemu (zarówno w samym języku Matlab, jak i w C).
Uwaga! Plik ze spakowanymi procedurami i funkcjami omówionymi poniżej można pobrać ze strony:
http://www.phys.uni.torun.pl/~jacek/dydaktyka/matlab.zip
Część I.
Polecenia podstawowe
1.
Pomoc
a) help polecenie - wywołuje opis znajdujący się w nagłówku pliku polecenie.m, np. help cos
b) help general – ogólne informacje o poleceniach Matlaba, help punct – informacje o znakach spec.
c) W GUI graficznym można korzystać polecenia (dłużej się czeka): helpwin cos
d) Ikona „?” na pasku narzędzi (pliki pomocy html) równoznczna z helpwin, indeks, szukanie
e) lookfor cosine – przeszukiwanie pomocy tekstowej
f) polecenie demo – sporo ciekawych prezentacji
g) ver – lista wersji poszczególnych elementów Matlaba
2.
Elementy środowiska Matlab
a) LaunchPad
b) Workspace (zob. również who, whos)
c) Command History (zob. również strzałki ↑↓ , polecenie diary nazwa_pliku zapisuje historię do pliku )
d) Current Directory
e) Editor/Debugger (zob. polecenia edit nazwa_pliku, type nazwa_pliku)
3.
Wybrane polecenia podstawowe języka Matlab
a) Wpisanie nazwy zmiennej powoduje wyświetlenie jej wartości. np. i=5, i (nadpisana została stała i)
Program rozróżnia wielkość liter.
b) Disp np. disp('Hello world!'), disp(['sample rate fs=',num2str(fs),' Hz'])
c) ! wykouje polecenie systemowe (DOS/Windows lub Linux/Unix) np. !dir
d) Dodanie ; za poleceniem powoduje nie wyświetlenie wyników, np. i=5;
e) Pętla – for np. for i=1:10, disp(num2str(i)), end (jeżeli każda część w osobnej linii – czeka na end)
f) Operator przypisania =, i równości == są jak w C/C++, np. i=9, i==9 (wartość logiczna)
g) Instrukcja warunkowa – if i==10 disp('10'), else disp('nie 10'), end
h) Instrukcja wyboru switch
i) clear i, clear – usuwanie wybranej zmiennej lub wszystkich z pamięci
j) pokaz tworzenia zbioru Mandelbrota
4.
Predefiniowane stałe i zmienne Matlaba
a) ans – zmienne, do której zapisywany jest nieskojarzony output (np. 1+1 jest równoznaczne z ans=1+1)
b) pi – stała 3.1416
c) i, j – stała urojona (możliwy jest zapis z=1+i*2)
d) zmienne określane przez środowisko: date, clock, pwd, computer
5.
Wybrane funkcje Matlaba:
a) operatory działań algebraicznych: +, -, *, /, ^ (potęga)
b) inne funkcje elementarne: abs,
(…)
…, cot.
Uwaga! Różnica między atan i atan2 (funkcje rodem z C).
e)
operacje na liczbach zespolonych: real(z), imag(z), conj(z), norm(z) (=abs)
oraz wszystkie powyższe np. cos(z)
6.
Wektory, macierze, tensory
a) :, np. w=1:10 (ogólna postać pocz:koniec lub pocz:krok:koniec)
b) [ ], np. m=[1 2 3; 4 5, 6]
c) Ponadto można tworzyć macierze poleceniami eye, ones, zeros, rand.
d) rank(m) - ilosc wymiarow…
… z modulacjami fazy i częstości
for t=1:N
A(t,1)=Amp*sin(freq1*t);
B(t,1)=Amp*sin((freq1+freq2*freq2*t)*t); %wzrost czestosc
C(t,1)=Amp*sin(freq2*t)*sin(freq1*t);
%modulacja amplitudy
D(t,1)=Amp*sin(freq1*t+g*sin(freq2*t)); %modulacja czestosci
end
f) Pokazać wektor (wykres) można poleceniem plot: figure(1), plot(A), fragment plot(A(1:1000))
g) Interpretacja dźwiękowa: sound(A)
h) Transformata Fouriera…
... zobacz całą notatkę
Komentarze użytkowników (0)