OI4 Karolina Jochymek Gr2


POLITECHNIKA ŚLSKA W GLIWICACH
WYDZIAA INŻYNIERII BIOMEDYCZNEJ
Sprawozdanie
Obliczenia Inżynierskie
Wykresy w Matlabie
Karolina Jochymek
Gliwice, 20 marca 2013
1. Przebieg ćwiczenia
1.1 Zadanie 1
Utworzyć okno graficzne przechowywane w uchwycie o1 o nazwie zgodnej z własnym
imieniem i nazwiskiem i rozmiarze 640 na 480 umieszczone w lewym dolnym rogu
ekranu (należy wybrać i zmodyfikować odpowiednie właściwości okna).
o1=figure
set ( o1 ,  Name  ,  Karolina Jochymek  ,  P o s i t i o n  , [ 0 0 640 4 8 0 ] ) ;
Rys. 1.1: Okno wykresu o rozmiarach 640x480 px zamieszczone w lewym dolnym rogu
2 1. Przebieg ćwiczenia
Pozycje okna oznaczamy czterema wartościami. Pierwsze dwie oznaczają lewy dol-
ny róg okna, dwie kolejne prawy górny róg okna. Okno graficzne ma bardzo wiele
własności. Aby zmienić nazwę okna należy wybrać Name, chociaż jest tez własność
FileName.
1.2 Zadanie 2
W nowym oknie graficznym o nazwie Zadanie 2 należy wykreślić (używając ope-
racji na zmiennych symbolicznych) wykres następującej funkcji:



(sin(xy)


- 1 = 0. (1.1)

sin(x2 + y2)

set ( o2 ,  Name  ,  Zadanie2  ) ;
syms (  x  ) ;
e z p l o t (  abs ( s q r t ( s i n ( x"y ) ) / s i n ( ( xĆ2)+(yĆ2)))-1=0  ) ;
Rys. 1.2: Wykres funkcji z zadania 2
Zmienne symboliczne nie podstawiają żadnej wartości do zmiennej. Zmienne sym-
boliczne są idealne do rysowania wykresów poglądowych. Wykresy nie są zbudowane z
punktów tylko jest to ciągły i dokładny wykres funkcji.
1.3 Zadanie 3
W oknie przechowywanym w uchwycie o1 należy wykreślić funkcje rysowaną w po-
przednim poleceniu, zawężoną do przedziału od 0 do 5.
1.4. Zadanie 4 3
o1=figure
set ( o1 ,  Name  ,  Zadanie3  ) ;
e z p l o t (  abs ( s q r t ( s i n ( x"y ) ) / s i n ( ( xĆ2)+(yĆ2)))-1=0  , [ 0 5 ] , o1 )
Rys. 1.3: Wykres funkcji z zadania 2 ograniczonej przedziałem < 0, 5ż
Ograniczenie dziedziny funkcji pozwala nam obserwować dokładnie ten obszar funk-
cji. Dzięki temu możemy skupić się na interesującym nas obszarze.
1.4 Zadanie 4
Zamknąć wszystkie otwarte do tej pory okna graficzne.
close a l l ;
1.5 Zadanie 5
Dla funkcji f(x) = f = x2 + 3x należy (operując na zmiennych symbolicznych)
obliczyć równanie funkcji g(x), której wykresem jest prosta styczna do f(x) w punkcie
x0 = 1. Wykresy obydwu funkcji należy narysować w jednym oknie o nazwie Pochodna
przechowywanym w uchwycie o3.
clc ;
clear ;
close a l l ;
o3=figure ;
4 1. Przebieg ćwiczenia
set ( o3 ,  Name  ,  Pochodna  ) ;
syms (  x  ) ;
f=xĆ2+3"x ;
x0=1;
e z p l o t ( f ) ;
hold on ;
g=subs ( d i f f ( f ) , x , x0 ) " ( x-x0)+subs ( f , x , x0 ) ;
e z p l o t ( g ) ;
grid on
Rys. 1.4: Wykres funkcji f(x) = f = x2 + 3x wraz z jej styczną w punkcie x0
Do narysowania stycznej wykorzystałam wzór:y = f0 (x0) " (x - x0) + y0 . Funkcja
diff(...) oblicza pochodną. Funkcja taka jest bardzo dużym ułatwieniem - zaoszczędza
sporo czasu, który poświęcilibyśmy na implementację funkcji odpowiedzialnej za ob-
liczenie pochodnej. Największym problemem dotyczącym wykorzystania powyższego
wzoru było podstawienie wartości do funkcji. Początkowo funkcja przyjmowała zmien-
ną symboliczną, jednak wzór wymagał podstawienia konkretnej wartości równej x0.
Służy do tego funkcja subs(...,...), do której najpierw podajemy zmienną, która chce-
my podstawić, a następnie daną wartość. w obliczeniach.
1.6 Zadanie 6

Utworzyć wektor danych xd, zmieniających się w przedziale < - ; > ze skokiem
2 2

co . Wygenerować wektory y1, y2, y3 zawierające odpowiednio wartości funkcji sin(xd),
10
d
cos(xd), tg(x ), dla każdego z argumentów przechowywanych w wektorze xd. W oknie o
2
1.7. Zadanie 7 5
nazwie Trygonometryczne, przechowywanym w uchwycie o4, wyrysować następujące
d
zależności: y1 = sin(xd), y2 = cos(xd), y3 = tg(x ) (używając poprzednio obliczonych
2
wektorów). W trakcie rysowania proszę zróżnicować krzywe kolorami.
clc ;
clear ;
close a l l ;
xd=[-pi / 2 : pi / 1 0 : pi / 2 ] ;
y1=sin ( xd ) ;
y2=cos ( xd ) ;
y3=tan ( xd / 2 ) ;
o4=figure ;
figure ( o4 ) ;
set ( o4 ,  Name  ,  Trygonometryczne  ) ;
plot ( xd , y1 ,  b  ) ;
hold on ;
plot ( xd , y2 ,  g  ) ;
hold on ;
plot ( xd , y3 ,  r  ) ;
hold on ;
Rys. 1.5: Wykres funkcji z zadania 6
Wykresy dla danych wektorowych są poprawne, jeśli liczba punktów (długość wektora)
jest wystarczająco duża. Im więcej punktów tym lepiej. Wprowadzenie kolorów na
wykresie pomaga w odczycie danych - rysunek staje się przejrzysty.
1.7 Zadanie 7
Na bazie utworzonego w poprzednim punkcie wektora xd należy wygenerować wektor
y4, zawierający wartości funkcji tg(xd) dla każdego z argumentów przechowywanych
w wektorze xd. W oknie użytym w poprzednim podpunkcie należy dorysować zależność
6 1. Przebieg ćwiczenia
y4 = tan(xd). Proszę odpowiedzieć na następujące pytania: Co stało się z wykresem i
dlaczego? Czy wykres nadal jest poprawny?
y4=tan ( xd ) ;
plot ( xd , y4 ,  y  ) ;
Rys. 1.6: Wykres funkcji z zadania 7
Wykres nie jest poprawnie wyskalowany(po nałożeniu na poprzedni wykresu funk-
cji tg(x) skala y zmieniła się na logarytmiczną), ponieważ funkcja tangens w przedzia-
-Ą Ą
łach od ; dąży do nieskończoności. MATLAB stara się wyświetlić możliwie jak
2 2
najwięcej wartości, co skutkuje przeskalowaniem wszystkich osi.Wykresy poprzednich
funkcji nie są już widoczne na wykresie ze względu na zmianę skali. Skala po dodaniu
funkcji tg(x) za bardzo się rozszerzyła żeby można było zilustrować wykresy które osią-
gają wartości -1 do 1. Dzięki przeskalowaniu osi  y do poprzedniego zakresu można
zobaczyć, że poprzednie wykresy nie zmieniły się.
1.8 Zadanie 8
Używając równania parametrycznego okręgu (współrzędne biegunowe), proszę nary-
sować okręg o środku w punkcie (0; 0) i promieniu 4. Należy zastosować polecenie plot.
Wykres powinien znalezć się w oknie o nazwie Okręgi przechowywanym w uchwycie
o5.
clc ;
clear ;
close a l l ;
o5=figure ;
figure ( o5 ) ;
set ( o5 ,  Name  ,  Okregi  ) ;
1.9. Zadanie 9 7
phi = 0 : 0 . 1 : 2 " pi ;
r =4;
x=r "cos ( phi ) ;
y=r " sin ( phi ) ;
plot ( x , y ) ;
grid ;
Rys. 1.7: Wykres funkcji z zadania 8
Do narysowania okręgu za pomocą polecenia plot potrzebne są dane w postaci
wektorów. Wektory te zawierają współrzędne biegunowe przeliczone na współrzędne
kartezjańskie.
1.9 Zadanie 9
W oknie wykresu utworzonego w poprzednim podpunkcie dorysować kolorem czerwo-
nym wykres okręgu o środku w punkcie (0; 2) i promieniu 2. Należy zastosować równanie
parametryczne okręgu (współrzędne biegunowe).
%dopisane do kodu z p o pr z ednieg o zadania
hold on ;
r1 =2;
x1=r1 "cos ( phi ) ;
y1=r1 " sin ( phi )+2;
8 1. Przebieg ćwiczenia
plot ( x1 , y1 ,  r  ) ;
Rys. 1.8: Wykres funkcji z zadania 9
Zmiana położenia środka okręgu jest prosta. Wystarczy do zmiennejx lub y dodać
(lub odjąć liczbę). Odejmowanie przesuwa wykres w lewo lub na dół, dodawanie w
prawo lub w górę.
1.10 Zadanie 10
W nowym oknie przechowywanym w uchwycie o6 o nazwie Krzywe parametrycz-
ne należy narysować wykres krzywej danej równaniem parametrycznym, podanym przez
prowadzącego.
Krzywa motylkowa:
t
x(t) = sin(t)(ecos(t) - 2 " cos(4 " t) - sin5( )) (1.2)
12
t
y(t) = cos(t)(ecos(t) - 2 " cos(4 " t) - sin5( )) (1.3)
12
clc ;
close a l l ;
clear ;
1.10. Zadanie 10 9
o6=figure ;
set ( o6 ,  Name  ,  Krzywe parametryczne  ) ;
e=exp ( 1 ) ;
t=-3"pi : pi /100:3" pi ;
x=sin ( t ) . " ( e . Ć cos ( t )-2"cos (4" t)- sin ( t / 1 2 ) . Ć 5 ) ;
y=cos ( t ) . " ( e . Ć cos ( t )-2"cos (4" t)- sin ( t / 1 2 ) . Ć 5 ) ;
plot ( x , y )
Rys. 1.9: Krzywa motylkowa
Prowadzący zasugerował wymyślenie/znalezienie ciekawego wzoru funkcji, którego
wykres będzie interesujący. Idąc tym tropem skorzystałam z równania Batmana:
Rys. 1.10: Batman Equation
10 1. Przebieg ćwiczenia
%na p o t r z e b y zadania ( aby w p l i k u pdf b y l widoczny c a l y kod )
%n i e k t ó r e c z ę ś c i równania są  p r z e n i e s i o n e  p o n i ż e j
close a l l ;
clear ;
clc ;
o6=figure ;
gcf ;
figure ( o6 )
set ( o6 ,  Name  ,  Krzywe prametryczne - Batman equation ; )  ) ;
x = - 7 : . 0 0 1 : 7 ;
y1=3"sqrt ( -((x / 7 ) . Ć 2 . " sqrt ( abs ( abs ( x ) -3)./( abs ( x)-3))- 1 ) ) ;
y2=-3"sqrt ( -((x / 7 ) . Ć 2 . " sqrt ( abs ( abs ( x ) -4)./( abs ( x)-4))- 1 ) ) ;
y3=(abs ( x/2) -((3" sqrt (33) -7)/112)" x . Ć 2 - 3 +
sqrt (1-(abs ( abs ( x ) -2) -1).Ć2));
y4=(9" sqrt ( abs ( ( abs ( x ) -1)."( abs ( x ) -0.75))./((1 - abs ( x ) )
. " ( abs ( x ) -0.75))) - 8"abs ( x ) ) ;
y5=(3"abs ( x ) + 0 . 7 5 " sqrt ( abs ( ( abs ( x ) -0 . 7 5 ) ."( abs ( x ) -0.5))
./((0.75 - abs ( x ) ) . " ( abs ( x ) - 0 . 5 ) ) ) ) ;
y6 =(2.25 " sqrt ( abs ( ( x - 0 . 5 ) . " ( x +0. 5))./ ((0. 5 - x ) . " ( 0 . 5 + x ) ) ) ) ;
y7=(6" sqrt (10)/7+(1.5 -0.5" abs ( x ) ) . " sqrt ( abs ( abs ( x ) -1)./( abs ( x) -1))
-6"sqrt (10)/14 " sqrt (4-(abs ( x ) - 1 ) . Ć 2 ) ) ;
hold on
plot ( x (imag( y1)==0) ,y1 (imag( y1)==0))
plot ( x (imag( y2)==0) ,y2 (imag( y2)==0))
plot ( x (imag( y3)==0) ,y3 (imag( y3)==0))
plot ( x (imag( y4)==0) ,y4 (imag( y4)==0))
plot ( x (imag( y5)==0) ,y5 (imag( y5)==0))
plot ( x (imag( y6)==0) ,y6 (imag( y6)==0))
plot ( x (imag( y7)==0) ,y7 (imag( y7)==0))
t i t l e (  Batman  )
axis equal
1.10. Zadanie 10 11
Rys. 1.11: Wykres przedstawiający znak Batmana
Oczywiście, aby nieco urozmaicić kod, można dodać kilka linijek odpowiadających
za wypełnienie (aby stworzyć logo Batmana kompletne):
btmn = [
x (imag( y1 )==0)  , y1 (imag( y1)==0)
x (imag( y2 )==0)  , y2 (imag( y2)==0)
x (imag( y3 )==0)  , y3 (imag( y3)==0)
x (imag( y4 )==0)  , y4 (imag( y4)==0)
x (imag( y5 )==0)  , y5 (imag( y5)==0)
x (imag( y6 )==0)  , y6 (imag( y6)==0)
x (imag( y7 )==0)  , y7 (imag( y7 )==0)  ];
y1 = 3" sqrt ( -((x / 7 ) . Ć 2 - 1 ) ) ;
y2 = -3"sqrt ( -((x / 7 ) . Ć 2 - 1 ) ) ;
f i l l ( [ x x (end : - 1 : 1 ) ] , [ y1 y2 (end : - 1 : 1 ) ] ,  y  )
hold on
btmn = [ s o r t r o w s (btmn(btmn ( : , 2 ) > 0 , : ) , 1 ) ;
s o r t r o w s (btmn(btmn ( : , 2 ) <=0 ,:) , -1)];
% usuwam zbdedny punkt
btmn(btmn(: ,1)==0 & btmn ( : , 2 ) = = 3 , : ) = [ ] ;
f i l l (btmn ( : , 1 ) , btmn ( : , 2 ) ,  k  )
axis equal
axis o f f
12 1. Przebieg ćwiczenia
Rys. 1.12: Logo Batmana po wypełnieniu
Jeśli do wykresu funkcji nie podamy zmiennej określającej wartości osi x, funkcja
plot automatycznie przyjmuje krok co 1. Internetowe zasoby pomagają znalezć wie-
le skomplikowanych i ciekawych funkcji, których wykresy układają się w znane nam
kontury. Każdy kształt można opisac wzorem matematycznym
1.11 Zadanie 11
W nowym oknie przechowywanym w uchwycie o7 o nazwie 3D narysować wykres
powierzchni stopnia drugiego - powierzchni hiperbolicznej określonej wzorem:
z = x2 + y2 (1.4)
clc ;
clear ;
close a l l ;
o7=figure ;
figure ( o7 ) ;
set ( o7 ,  Name  ,  3D  )
x = [ - 6 : 0 . 2 : 6 ] ;
y = [ - 6 : 0 . 2 : 6 ] ;
[ x , y]=meshgrid ( x , y ) ;
z=x.Ć2+y . Ć 2 ;
mesh( x , y , z ) ;
Do rysowania wykresów trójwymiarowych stworzona została specjalna funkcja Mesh,
która przyjmuje 3 wartości. Przy rysowaniu wykresu trójwymiarowego należy osobno
1.12. Zadanie 12 13
Rys. 1.13: Wykres funkcji z = x2 + y2
zadeklarować zmienne x,y odpowiadające za dziedzinie funkcji, a osobno sama funk-
cje (przypisana zmiennej z). Podając zmienne do funkcji mesh podajemy wszystkie
(x, y, z). Wykresy trójwymiarowe maja bardzo wygodna funkcje pozwalającą na ich
obracanie, można w ten sposób zobaczyć trójwymiarowy wykres z każdej strony.
1.12 Zadanie 12
Jedno z okien utworzonych w trakcie laboratorium należy zmodyfikować, dodając
narzędzia edycji i modyfikacji parametrów, tworząc w ten sposób interaktywne okno
wykresu. Wyboru okna, rodzaju narzędzi oraz modyfikowanych parametrów dokonuje
prowadzący. Całość powinna zostać wyświetlona w osobnym oknie graficznym.
Wymagana była zmiana parametrów a i b w oknie interaktywnym dla funkcji:



(sin(xy)


- a = 0. (1.5)

sin(x2 + y2 " b)

M-plik main12.m
%aby  zmieścić  l i n i j k ę kodu z o s t a ł a ona p r z e n i e s i o n a p o n i ż e j
figure ;
global a ;
global b ;
global a s l i d e r ;
global b s l i d e r ;
global a e d i t ;
14 1. Przebieg ćwiczenia
global b e d i t ;
a=1;
b=1;
wykres12 ;
a s l i d e r = uicontrol (  S t y l e  ,  s l i d e r  ,  u n i t s  ,  normalized  ,  p o s i t i o n 
, [ . 9 0 , . 0 8 5 , . 0 2 5 , 0 . 8 5 ] ,  Min  , -5 ,  Max  , 5 ,  Value  , a ,  Callback  ,  suwak12  ) ;
b s l i d e r = uicontrol (  S t y l e  ,  s l i d e r  ,  u n i t s  ,  normalized  ,  p o s i t i o n 
, [ . 9 4 , . 0 8 5 , . 0 2 5 , 0 . 8 5 ] ,  Min  , 0 . 5 ,  Max  , 5 ,  Value  , b ,  Callback  ,  suwak12  ) ;
a e d i t=uicontrol (  S t y l e  ,  e d i t  ,  u n i t s  ,  normalized 
,  p o s i t i o n  , [ . 9 0 , . 0 1 , . 0 2 5 , . 0 5 ] ,  S t r i n g  , [  a=  num2str(A ) ] ) ;
b e d i t=uicontrol (  S t y l e  ,  e d i t  ,  u n i t s  ,  normalized 
,  p o s i t i o n  , [ . 9 4 , . 0 1 , . 0 2 5 , . 0 5 ] ,  S t r i n g  , [  b=  num2str(B ) ] ) ;
M-plik wykres12.m
global x ;
global a ;
global b ;
global y ;
x=sym(  x  ) ;
y=sym(  y  ) ;
f=abs ( sqrt ( sin ( x"y ) ) / sin ( ( xĆ2)+(y Ć2)" b))-a ;
o6=e z p l o t ( f ) ;
set ( o6 ,  Color  ,  r  ) ;
grid
M-plik suwak12.m
global a ;
global b ;
global a s l i d e r ;
global b s l i d e r ;
global a e d i t ;
global b e d i t ;
a=get ( a s l i d e r ,  Value  ) ;
set ( aedit ,  S t r i n g  , [  a=  num2str( a ) ] ) ;
b=get ( b s l i d e r ,  Value  ) ;
set ( bedit ,  S t r i n g  , [  b=  num2str( b ) ] ) ;
wykres12 ;
1.12. Zadanie 12 15
Rys. 1.14: Wykres funkcji z zadania 2 - początkowe ustawienia dla a = 1 oraz b = 1
Po zmianie parametru a:
14527
Rys. 1.15: Wykres funkcji z zadania 2 -zmiana parametru a (a = ).
10000
16 1. Przebieg ćwiczenia
Po zmianie parametru b:
Rys. 1.16: Wykres funkcji z zadania 2 -zmiana parametru b (b = 5 ).
Tworzenie interaktywnych okienek wykresowych z suwakami, pozwala użytkowniko-
wi na zmienianie przewidzianych parametrów, w zależności od potrzeb, bez konieczności
ingerencji w sam kod. Piszący program może dobrać zakres wartości dostępnych w  su-
waczku w zależności od własnej wizji, dzięki temu może przeciwdziałać sytuacjom, w
których np. funkcja miałaby w mianowniku 0.


Wyszukiwarka

Podobne podstrony:
Karolina Jochymek cw5
gr2,zespół B,Źródła wysokich napięć przemiennych i udarowych
Spragniony karoliny
K1 07 08 zad3 rozwiazanie?gmaraK gr2 (2)
Mathcad sprezone kolokwium 06 11 gr2 pdf
Automatyzm i kontrola w procesie uwagi gr2
Laboratorium nr 3 Jakóbik Piotr Klocek Karolina tabelka
TOBIE KAROLINO
EwUE 9E gr2
Marcin Szeja semVII,gr2,elektrotechnika,niestacjonarne
Teoria PG gr2 zad1,2

więcej podobnych podstron