Ćw 8. Matlab (2)

Transkrypt

Ćw 8. Matlab (2)
Ćw 8. Matlab (2)
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 2*pi])
Funkcja mesh – powierzchnia 3D
>>y=0:pi/50:3*pi
>>x=y'
>>z=sin(x)*cos(y)
>>mesh(x,y,z)
% definicja wektora wierszowego y
% definicja wektora kolumnowego x (y transponowane)
% definicja wektora z(x,y)
% wykres
Funkcja plot3 – krzywa 3D
>>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
Zadania
1. Wykonać na wykresie obrazek kwardratu funkcją plot (utworzyć wektory x i y dla współrzędnych punktów narożnych).
−
x
2. Wykonać wykres funkcji e 3 sin x w przedziale [–10, 10] stosując funkcję plot i 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.
4. Wykonać wykres 3D funkcji:
,
=
.
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:
Utworzyć własny folder. Utworzyć nowy m-plik (menu File/New/M-file) 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.
Zapisać plik we własnym folderze nadając plikowi nazwę, np. test1.m (koniecznie z rozszerzeniem m). Wybrać
folder z plikiem jako Current directory, zmieniając lokalizację w okienku obok menu (klikamy przycisk […]) lub
znajdując nasz folder w oknie Current directory).1
Wykonać m-plik w Matlabie wpisując w linii poleceń:
>> test1
Przeanalizować rezultat wykonania skryptu.
Interakcyjne wprowadzanie danych
Napisać w m-pliku następujący ciąg instrukcji:
clc
clear
x=input('Podaj liczbę:);
y=input('Podaj drugą liczbę');
suma=x+y;
disp('Suma wynosi:);
disp(suma);
Wykonać m-plik i zrozumieć działanie poszczególnych instrukcji.
Zadania
1. Napisać m-plik, w którym rysowany jest wykres funkcji a sin(bx+c), gdzie a, b, c oraz granice
przedziału zmiennej x podawane są interakcyjnie przez użytkownika.
2. Napisać m-plik rozwiązujący równanie 3-go stopnia z wykorzystaniem funkcji roots, gdzie
współczynniki a, b, c, d podaje użytkownik.
1
W starszych wersjach Matlab'a (np. Matlab 4.0) należy uzupełnić ścieżkę do naszego foldera poleceniem:
>>path(path,'litera_dysku:\ścieżka_do_foldera')

Podobne dokumenty