Wykresy
Matlab
Do tworzenia wykresów służą polecenia plot
i pochodne. Najjprostsze użycie poleceni plot
jest następujące:
1 2 3 4 |
x = 0:pi/100:2*pi; y = sin(x); figure % opens new figure window plot(x,y) |
Gdy chcemy wyrysować dwa wykresy:
1 2 3 4 5 |
x = linspace(-2*pi,2*pi); y1 = sin(x); y2 = cos(x); figure plot(x,y1,x,y2) |
(polecenie figure
otwiera nowe okno dla każdego wykresu).
Dodatkowe parametry pozwalają zdefiniować wygląd wykresu. Jeżeli w powyższym przykłądzie polecenie plot
będzie wyglądało tak:
1 |
plot(x,y1,'-',x,y2,':') |
pierwszy wykres narysowany zostanie linią ciągłą, a drugi kropkowaną.
Do tworzenia wykresów funkcji dwu zmiennych używa się polecenia plot3
. Podstawowe wywołanie jest bardzo proste: plot3(x, y, z);
1 2 3 4 5 6 |
t = 0:pi/50:10*pi; st = sin(t); ct = cos(t); figure plot3(st,ct,t) |
Scilab
Program Scilab ma kilka poleceń służących do rysowania wykresów. Są to:
- plot2d — 2D plot
- plot2d1 — 2D plot (logarithmic axes) (obsolete)
- plot2d2 — 2D plot (step function)
- plot2d3 — 2D plot (vertical bars)
- plot2d4 — 2D plot (arrows style)
Wywołanie każdego z tych poleceń bez parametrów — uruchamia małe ,,demo”:
1 2 3 4 5 6 7 |
-->plot Demo of plot t=0:%pi/20:2*%pi; subplot(211) plot(t,sin(t),'ro-.',t,cos(t),'cya+',t,abs(sin(t)),'--mo') subplot(212) plot([t ;t],[sin(t) ;cos(t)],'xdat',[1:2]) |
1 2 3 |
-->plot2d Demo of plot2d x=(0:0.1:2*%pi)';plot2d(x,[sin(x),sin(2*x),sin(3*x)],style=[-1,-2,3],rect=[0,-2,2*%pi,2]); |
Uwaga! kolejne polecenia plot
,,rysują” wszystko w jednym okienku. Dodatkowe narzędzia pozwalają zarządzać okienkami graficznymi. Są to:
- scf(n)
- tworzy okno graficzne o numerze n; wywołanie w postaci:
f4=scf(4)
pozwala ,,zapamiętać” parametry okna graficznego w celu późniejszego odwołania się do nich. - clf()
- kasuje zawartość aktualnego okna graficznego
1 2 3 4 5 |
f4=scf(4); //tworzy okno o identyfikatorze id==4 i staje się ono aktywne f0=scf(0); //tworzy okno o identyfikatorze id==0 i staje się ono aktywne plot2d() // tworzy obrazek w oknie o id=0 scf(f4); // okno o identyfikatorze id=4 staje sie aktywne plot3d() // tworzy obrazek w oknie o id=4 |
Uwaga: Dwa znaki dzielenia //
oznaczają początek komentarza.
Parametry polecenia plot mogą być następujące:
plot(
y,
\(<\)LineSpec\(>\),
\(<\)GlobalProperty\(>\))
\(<\)LineSpec\(>\) — to stała lub zmienna tekstowa zawierająca informacje o rodzaju linii użytej do rysowania wykresu (można użyć znaków -
, –
, -.
, :
), kolorze (r g b c m y k w
) oraz rodzaju markera (znaczka) stawianego w miejscu punktów (o * . x s
lub square d
lub diamond
^
v < > pentagram
; w przypadku braku parametru — przyjęte będzie none
czyli brak znacznika.
\(<\)GlobalProperty\(>\) to nieobowiązkowy parametr pozwalający zdefiniować domyślne ustawienia dla kolejnych wykresów.
W powyższym przypadku rysowany jest wykres wartości umieszczonych w tablicy y w funkcji numeru.
plot(
x,
y,
\(<\)LineSpec\(>\),
\(<\)GlobalProperty\(>\))
W tym przypadku rysowany jest wykres danych z tablicy y w funkcji x.
W przypadku konieczności wyrysowaniu kilku wykresów jednym poleceniem plot
— kolejne pary (trójki lub czwórki parametrów) można powtarzać:
1 |
plot(x,y,x1,y1,x2,y2) |
Do rysowania wykresów trójwymiarowych służy polecenie plot3d
:
- plot3d — 3D plot of a surface
- plot3d1 — 3D gray or color level plot of a surface
- plot3d2 — plot surface defined by rectangular facets
- plot3d3 — mesh plot surface defined by rectangular facets
1 2 3 4 5 6 7 |
-->plot3d Demo of plot3d t=-%pi:0.3:%pi;plot3d(t,t,sin(t)'*cos(t),35,45,'X@Y@Z',[2,2,4]); -->plot3d1 Demo of plot3d1 t=-%pi:0.3:%pi;plot3d1(t,t,sin(t)'*cos(t),35,45,'X@Y@Z',[2,2,4]); |
W wyniku powyższych poleceń otrzymamy następujące dwa wykresy:
Parametry polecenia plot3d
(w wersji podstawowej!) to, kolejno:
plot3d(
x,
y,
z,[
theta,
alpha,
leg,
flag,
ebox])
- x, y — tablice zawierające współrzędne punktów \(x, y\)
- z — tablica dwuwymiarowa zawierająca wartości funkcji \(f(x,y)\)
- theta, alpha współrzędne (w układzie sferycznym!) punktu obserwacyjnego.
- leg — ciąg znaków definiujący opis osi x, y, z; opisy rozdzielone są znakiem
@
—’X@Y@Z’
- ebox — wektor o 6 składowych zawierający informacje o minimach i maksimach po \(x\), \(y\), \(z\)
- flag — wektor o trzech składowych zawierający informacje na temat sposobu rysowania wykresu…