INFORMATYKA

INFORMATYKA

2

LAB

INSTRUKCJA DO ĆWICZENIA NR 2

TEMAT:

FUNKCJE GRAFICZNE MATLABA

INFOMATYKA

Przedmiot: INFORMATYKA – Katedra Robotyki i Mechatroniki AGH

Laboratorium 1 „ Wprowadzenie do Pakietu MATLAB”

I.

CEL ĆWICZENIA:

Celem ćwiczenia jest zapoznanie się z funkcjami graficznymi dostępnymi w pakiecie MATLAB, poznanie podstawowych sposobów na reprezentacje graficzną funkcji dwu i trójwymiarowych, oraz metod na wczytywanie i obróbkę obrazów.

II.

PODSTAWOWE KOMENDY UŻYWANE W ĆWICZENIU: Komenda

Przykład

Opis

Grafika dwuwymiarowa 2D

plot

plot(t,x); plot(A);

Wyświetla przebieg funkcji lub rozkład danych

subplot

subplot(m,n,p);

Wyświetla wiele wykresów (m x n wykresów) w jednym oknie gdzie p to numer bieżącego wykresu

loglog

loglog(x,y)

Rysuje wykres na skali logarytmicznej na obu osiach semilogx

semilogx(x,y)

Rysuje wykres o skali logarytmicznej na osi x

semilogy

semilogy(x,y)

Rysuje wykres o skali logarytmicznej na osi y

xlabel

xlabel(‘ czas’);

Wstawia opis osi x na wykresie

ylabel

ylabel(‘ temperatura’);

Wstawia opis osi y na wykresie

title

title(‘ tytuł wykresu’);

Wstawia tytuł wykresu

text

text(x,y,’Funkcja’);

Wyświetla dowolny tekst w punkcie o współrzędnych (x,y) grid

grid on; grid off;

Włącza lub wyłącza siatkę na wykresie

kolor linii wykresu plot(A,’r’); plot(A,’g’); np: kolory: y(żół), m, c, r(czerw), g, b, w(biały), k(czarny) typ lini wykresu

plot(A,’r--’); ‘y+’; ‘k*’

np typy: .; o; x; + ; *; -; --; :; -.; (‘r--’ -przerywana czerw. ) axis

axis(‘auto’);

Automatyczne dopasowanie układu współrzędnych wykresu axis(‘equal’);

Skaluje długości jako równe na osi x i na osi y

axis(‘square’);

Tworzy wykres kwadratowy (tyle samo jednostek na x i y) axis(‘image’);

Skaluje wyświetlanie rysunków (grafiki bitmapowej) axis([ a b c d]);

Określa zakresy liczb na osiach x (od a do b), y (od c do d) axis(‘off’);

Ukrywa osie układu współrzędnych

axis(‘on’);

Przywraca osie układu współrzędnych

hold

hold on; hold off

Umożliwia rysowanie więcej niż 1 przebiegu na 1-nym wykr.

bar

bar(1:10;1:10); bar(x y) Wyświetla wykres słupkowy echo

echo on; echo off

Włącza i wyłącza wyświetlanie na ekranie wykonyw. poleceń pi

A=[0:0.1:pi]; B=C*pi;

Liczba pi (π) wywołana z dużą dokładnością

Grafika trójwymiarowa 3D

meshgrid

[X,Y]=meshgrid(x,y)

Przygotowuje węzły prostokątnej siatki X,Y pod wykres 3D

mesh

mesh(X,Y,Z);

Funkcja wykreśla wykres 3D zbioru punktów X,Y,Z

meshz

meshz(X,Y,Z);

j.w., ale rysuje wykres jako „wycinek bryły” a nie powierzchn.

zlabel

zlabel(‘ wysokość’)

Tak jak w funkcjach 2D, opisuje współrzędną Z wykresu text

text(x,y,z,’napis’)

Jak w funkcjach 2D, wstawia napis w dowolne miejsce na rys.

view

view(20,30);

Zm. kąt obserw. wykresu 3D α=200(azymut), β=300(elewacja) Grafika rastrowa (bitmapowa) i animacje 2D

image

image(A);

Wyświetla macierz jako obraz o odpowiedniej skali kolorów moviein

FILM=moviein(10)

Tworzy zmienną FILM z 10 klatkami obrazu

getframe

FILM(1)=getframe

Wpisuje do FILM n-tą klatkę obrazu (aktywne okno Figure) movie

movie(FILM)

Odtwarza film zawarty w zmiennej FILM

movie(FILM,10,0.5)

Film odtwarzany jest 10razy z odstępem czasu co 0.5[s]

imread

D=imread(‘rys.jpg’)

Wczytuje dowolny rysunek z dysku jako macierz

double

D1=double(D)

Konwersja typów macierzy

D1=double(D)/255

Konwersja + normalizacja obrazu z zakresu 0-255 do 0-1

2

Przedmiot: INFORMATYKA – Katedra Robotyki i Mechatroniki AGH

Laboratorium 1 „ Wprowadzenie do Pakietu MATLAB”

III.

ZADANIA DO WYKONANIA:

Uwaga: Każ de zadanie najlepiej wykonać w osobnym m-pliku, co ułatwia analizę działania funkcji oraz przyspiesza poprawianie błę dów.

1. Na jednym wykresie narysować przebiegi funkcji sin(t) oraz funkcji cos(2t), gdzie t zmienia się w zakresie od 0 do 2π. Wykresy narysować dwoma różnymi kolorami i przy użyciu 2 różnych typów linii (np: lini ciągłej oraz linii przerywanej). Zatytułować wykres, opisać osie współrzędnych x i y, wstawić legendę do wykresu. Oraz wstawić dowolne dwa teksty na obszarze rysunku (na przykład Funkcja 1, Funkcja 2 itp.) 2. Wykreślić wykres słupkowy funkcji sinus (sin(t)) w zakresie t = 0 do 2π, przy czym przyjąć że wektor argumentu t zmienia się co 0.2 w podanym zakresie. Opisać osie x, y wykresu włączyć siatkę na wykresie oraz zatytułować wykres.

3. Utworzyć siatkę punktów na płaszczyźnie pod wykres 3D zakres maksymalny: y = od -10 do 10, x = od 5

do 5) zastosować dwa podziały gęstości: jeden mniejszy (np: co 1 lub 0.5) a drugi większy (np: co 0.1 lub 0.2 ) . Wykreślić wykres funkcji z=sin(x)*cos(y). Opisać osie i zatytułować wykresy.

4. Analogicznie jak w punkcie poprzednim wykonać wykres dowolnej wymyślonej przez siebie funkcji przestrzennej dla jednej siatki współrzędnych X,Y. Siatkę do badanego wykresu funkcji należy dopasować w taki sposób, aby nie była zbyt gęsta a zakres punktów (dziedzinę funkcji) należy tak dobrać, zeby najlepiej zobrazować wykres obserwowanej funkcji. Opisać osie i zatytułować wykres. Zmienić kąt obserwacji wykresu i pokazać 3 dowolne rzuty.

5. Utwórz macierz o wymiarach 5x5, która będzie miała na przekątnej liczby 50, a reszta liczb będzie wynosiła zero. Wyświetl macierz jako obraz. Przemnóż macierz przez trzy dowolne inne liczby tworząc trzy inne macierze i wyświetl te macierze na jednym oknie z czterema wykresami. Odpowiednio zatytułuj wykresy (np: Macierz 5x5 przekątna 50). Opisz osie x i y każdego wykresu.

6. Utwórz 5 macierzy jak w punkcie 5 instrukcji i wyświetl je kolejno jako film w jednym oknie. Aby utworzyć macierz z kolejnymi klatkami obrazu użyj funkcji getframe aktywowanej za każdym razem po wyświetleniu danej macierzy w oknie figure. (Należy 5 razy powtórzyć funkcję getframe dla każdej kolejnej wyświetlonej macierzy).

7. Wczytaj do przestrzeni roboczej MATLABA dowolny rysunek ściągnięty z internetu (np w formacie JPG) (najlepiej o niezbyt dużych rozmiarach). Wyświetl w jednym oknie kolejno cztery wykresy:

− Rysunek w oryginalnym wyglądzie,

− Składową czerwoną rysunku (R)

− Składową zieloną rysunku (G)

− Składową niebieską rysunku (B)

Opisz rysunki.

8. Wczytaj dowolny rysunek w formacie JPG ściągnięty z internetu (może być kolorowy lub czarno-biały).

Przekonwertuj dane macierzy zapisanej z rysunkiem na typ double z zakresu 0-1 (użyj funkcji: RysunekNowy=double(RysunekOryginalny)/255). Dokonaj czterech dowolnych zmian wartości w macierzy (np podziel przez 2, lub zmień wartości tylko jednej składowej koloru npR, lub podmień tylko część danych w macierzy na inne- np: czarny prostokąt w środku obrazu). Pokaż na osobnych wykresach wszystkie cztery wykonane operacje.

3

Przedmiot: INFORMATYKA – Katedra Robotyki i Mechatroniki AGH

Laboratorium 1 „ Wprowadzenie do Pakietu MATLAB”

IV.

SPRAWOZDANIE:

W sprawozdaniu należy zamieścić wszystkie zrealizowane w punkcie III zadania. Każde zadanie powinno być zatytułowane i ponumerowane, zgodnie z numeracją w instrukcji. Jeżeli jest to wymagane to sprawozdanie powinno zawierać metodę wykonania i wynik w postaci rysunku lub listingu. W sprawozdaniu nie umieszczamy wniosków, chyba że jest to wyraźnie zaznaczone.

Ogólne uwagi dotyczące sprawozdania:

• Strona tytułowa, powinna zawierać: Imiona i nazwiska osób, numer grupy, nazwę przedmiotu, tytuł

ćwiczenia, numer ćwiczenia i datę wykonania ćwiczenia,

• Układ strony powinien być następujący: marginesy 0,5 cm z każdej strony, czcionka 10, odstęp 1.

• Wykresy możliwie małe, ale czytelne, opisane i umieszczone bezpośrednio pod lub obok układu tak, żeby było wiadomo który przebieg należy do którego układu,

• Sprawozdanie nie powinno być długie ale powinno zawierać wszystkie niezbędne informacje.

Uwaga: Sprawozdanie należ y przesyłać na pocztę lub wskazany przez prowadzą cego serwer FTP w formacie PDF zatytułowane w nastę pują cy sposób:

NumerGrupy_Nazwisko_Imię _ć wNumerCwiczenia.pdf na przykład:

13_Kowalski_Jan_ć w1.pdf

14_Nowak_Krzysztof_ć w9.pdf

15_Student_Janusz_ć w8.pdf

Sprawozdania oddane w innej formie lub z nieprawidłowym opisem nie bę dą przyjmowane!

4