Matlab (3) Wykresy, m

Transkrypt

Matlab (3) Wykresy, m
Matlab (3) Wykresy, m-pliki
Wykresy 2D
Funkcja plot
Definiujemy wektor serii x i wektor y(x):
>>x= [0 1 2 3 4 5 6 7 8 9 10] % wektor serii wartości x
albo:
>>x=0:10
>>y=sqrt(x)
>>plot(x,y)
%generowanie wektora co 1, wart_pocz:wart_konc
% wektor wartości y=f(x)
% narysowanie wykresu (w osobnym oknie)
Dwie krzywe w jednym układzie współrzędnych:
>>x=0:pi/50:6*pi
>>y=cos(2*x)./sqrt(x+1)
>>z=sin(x)
>>plot(x,y,'b',x,z,'r')
% definicja wektora x
% definicja wektora y(x)
% definicja wektora z(x)
% (b=blue, r=red)
Uwaga: Stosujemy operator ./ dzielenie elementowe wektorów.
Przydatne dodatkowe funkcje (wykonać po funkcji plot):
grid
axis([xmin xmax ymin ymax])
title('Tekst')
xlabel('Opis osi x')
ylabel('Opis osi y')
Funkcja fplot
Dla funkcji fplot niepotrzebne są wektory dla zmiennych – jedynie wyrażenie tekstowe (lub tablica wyrażeń) opisujące funkcję:
fplot ( ' wyrażenie_arytmetyczne (x) ' , [ x_pocz x_konc ] )
fplot ( ' wyrażenie_arytmetyczne (x) ' , [ x_pocz x_konc y_pocz y_kon ] )
fplot ( ' [w1(x), w2(x)] ' , [ x_pocz , x_konc y_pocz , y_kon ] )
Przykład:
>>fplot('sin(x*x)/x',[0 4*pi]) % punkt dzielenia przez 0 nie jest rysowany
Dwie krzywe na wykresie:
>>fplot('[sin(x*x)/x , cos(x), 0]',[0 2*pi])
Zadanie
Wykonać wykresy funkcji:
=
sin , tak dobrać k i ω aby w przedziale (0, 8π) sinusoida była łagodnie wygaszana,
-wykresy porównujące funkcje ln x oraz log x w jednym układzie współrzędnych.
M-pliki
W Matlab-ie można zapisać tekst ciągu instrukcji w pliku tekstowym ASCII o rozszerzeniu
.m
(tzw. m-pliki), a
następnie wykonać te instrukcje w całości (jedna po drugiej).
Przykład
1. Utworzyć własny folder.
2. Zmienić katalog bieżący w Matlabie na utworzony katalog metodami jak na rysunku:
1. Utworzyć nowy m-plik (menu File/New/M-file lub ikonka) i w oknie edytora Matlaba napisać
przykładowo poniższy ciąg poleceń Matlaba (można też wykorzystać Notatnik Windows):
a = 1.2;
b = 1.5;
c = 2.5;
d = a+b+c;
d = d -1;
disp('Obliczone d wynosi:');
disp(d)
Uwaga: średniki na końcu instrukcji powodują brak wyświetlenia echa instrukcji na ekranie.
2. Zapisać plik (File/Save as..) we własnym folderze nadając plikowi nazwę, np. test1.m (koniecznie z rozszerzeniem m). Nazwa musi się zaczynać od litery, w nazwie pliku zabronione są polskie litery i spacje, nazwa pliku nie może też być taka sama, jak nazwa zmiennej w kodzie pliku.
3. Wykonanie m-pliku przy pomocy narzędzia Run w oknie edytora m-pliku (lub F5).
4. Przeanalizować rezultat wykonania skryptu.
Funkcja plot3 – krzywa 3D
Napisać m-plik o treści:
x=0:pi/100:6*pi
y=exp(-0.06*x).*sin(5*x)
z= exp(-0.06*x).*cos(5*x)
plot3(x,y,z)
% definicja wektora x
% definicja y(x)
% definicja z(x)
% wykres
Funkcja mesh – powierzchnia 3D
Napisać m-plik o treści:
clc
[x y]=meshgrid(0:0.1:4*pi, 0:0.1:4*pi);
z=sin(x).*cos(y)
mesh(x,y,z)
%przygotowanie osi x i y o odpowiednich zakresach
% definicja tablicy z(x,y)
% rysowanie wykresu
Zadania
1. Wykonać na wykresie obrazek kwadratu funkcją plot (utworzyć wektory x i y dla współrzędnych
punktów narożnych).
a. aby kwadrat był widoczny zmienić zakres x i y wykorzystując odpowiednio funkcję axis.
b. dorysować do obrazka nowy kwadrat następną funkcją plot – utworzyć nowe lub wykorzystać poprzednie wektory, skalując i przesuwając (mnożąc przez stałą, dodając stałą).
Uwaga – aby poprzedni kwadrat nie zniknął stosujemy przed wykonaniem drugiej funkcji plot instrukcję:
hold on
c. zamiast funkcji plot wykorzystać funkcję fill o postaci:
fill(x, y, 'stała koloru')
- stałe: 'r', 'g', 'b', 'k', 'y' itd.
Uwaga: Dla funkcji fill nie trzeba domykać figury.
2. Wykonać wykres funkcji
= |sin | w przedziale [0, 6π] stosując funkcję fplot.
3. Wykonać w jednym układzie współrzędnych wykresy dwóch paraboli podanych równaniami
2-go stopnia o zróżnicowanych współczynnikach.
, =
- w przedziałach dla x i y (-4, 4)
4. Wykonać wykres 3D funkcji:
5. Wykonać wykres 3D funkcji:
, = +2
- w tych samych przedziałach jak uprzednio – wstawiać różne wartości wspólczynnika k.
Dodatkowo: zamiast funkcji mesh zastosować funkcję surf – porównać rezultaty.
6. Wypróbować działanie instrukcji:
sphere(4)
sphere(30)

Podobne dokumenty