Professional Documents
Culture Documents
Увод
plot(X,Y)
где су X и Y вектори истих дужина. Вектор X представља x-координате неког низа тачака у
равни, а Y представља y-координате тог низа тачака. Функција plot() ради тако што тачке
редом повеже дужима и исцрта тако добијену изломљену линију. Уколико је број тачака
које су задате довољно велики, тада ће линија изгледати глатко.
X = linspace(0,2*pi, 100);
Y = sin(X);
plot(X,Y)
Позив функције plot() отвара прозор у коме се приказује координатни систем у равни и
исцртавају се тачке задате векторима X и Y. У оквиру овог прозора могуће је увећавати
или смањивати приказ, укључивати и искључивати мрежу у координатном систему, па чак
и ротирати цртеж (што ће нам бити занимљивије код тродимензионог цртања).
plot(X, Y, '<parametri>')
при чему се ниска '<parametri>' састоји из спецификатора који одређују тип, боју и облик
линије која се исртава, као и евентуалну ознаку која се графику придружује. На пример:
plot(X,Y,'--r')
значи да желимо да исцртамо испрекидану линију црвене боје. Дозвољени типови линија
су пуна линија ('-'), испрекидана ('--'), тачкаста (':'), црта-тачка-црта ('-.'). Неке од
дозвољених боја су црвена ('r'), плава ('b'), зелена ('g'), црна ('k'), жута ('y') и сл. Такође се
може задати и тип маркера којим ће бити обележене саме тачке које одређују исртани
график. Нпр. 'o' значи да се тачке обележавају кружићима, '+' значи да се тачке
обележавају крстићима, и сл. Најзад, ознаку је могуће додати са ';oznaka;'. На пример:
plot(X,Y,'--+r;sin(x);');
исртава график испрекиданом линијом црвене боје, све тачке из (X,Y) обележава
крстићима, а уз график стоји ознака 'sin(x)'.
Уколико желимо да исртамо више графика на истој оси, то можемо урадити на неки од
следећих начина:
Добра страна овог приступа је што тачке у којима рачунамо сваку од функција не морају
бити исте. У овом примеру смо функцију sin(x) цртали на интервалу [0,2π], док смо
функцију cos(x) цртали на интервалу [−π,π].
plot(X, Y)
при чему је Y матрица која се састоји из врста које су исте дужине као и вектор X. Свака од
ових врста се тумачи као вектор вредности различитих функција у тачкама вектора X. На
пример:
3. Трећи начин је да графике цртамо један по један, посебним позивима plot() функције.
Међутим, уобичајено понашање функције plot() је да се приликом поновног позива
тренутни садржај цртежа брише и исцтава се нови. Другим речима, прва функција би се
обрисала, а друга би се након тога нацртала. Да бисмо то променили, користимо
команду hold on:
plot(X,Y)
hold on
plot(X,Z)
Команда hold on укључује hold опцију (командом hold off се ова опција искључује). Када
је hold опција укључена, тада се следећим plot() позивом само доцртава нови график на
истој слици, без брисања претходног графика.
axis([1 5 2 8])
поставља график тако да се приказује сегмент [1,5] на x-оси, а [2,8] на y-оси. Са друге
стране, позив:
axis("equal")
или краће:
axis equal
подешава осе тако да дужина јединичног интервала на x-оси буде једнака дужини
јединичног интервала на y-оси. Функција axis() се позива након што се plot() функцијом
претходно прикаже график.
Команда:
grid on
укључује мрежу у координатном систему, што повећава прегледност и олакшава
оријентацију. Мрежа се може искључити командом:
grid off
S = subplot(v, k, r);
при чему је v број врста, а k број колона на које желимо да поделимо слику. r је редни број
графика у таквој подели (графици се броје редом по врстама). Функција враћа реалан број
који представља идентификатор одговарајућег графика. Наредни позиви plot() функције се
односе управо на одабрани график. На пример:
subplot(2,2,1) % inicijalizujemo prvi (gornji levi) grafik na slici koja ima dve vrste i
dve kolone
plot(X,Y) % iscrtavamo funkciju na tom grafiku
axis equal % podesavamo ose tog grafika
subolot(2,2,2) % inicijalizujemo drugi (gornji desni) grafik na istoj slici
plot(X, Z); % iscrtavamo drugu funkciju na tom grafiku
axis([1 5 2 6]) % podesavamo ose tog grafika
% ... itd
Други начин је да се најпре иницијализују сви графици:
S1 = subplot(2,2,1);
S2 = subplot(2,2,2);
S3 = subplot(2,2,3);
S4 = subplot(2,2,4);
а да се затим експлицитно бира на који се подграфик односи која команда:
bar([1,2,3,4])
ће исцртати стубичасти дијаграм чији су стубци пропорционални бројевима који су
наведени у вектору. Поред вектора, аргумент може бити и матрица. У том случају свака од
колона матрице се тумачи као посебан вектор вредности које се исцртавају. Вредности
које припадају истој врсти се групишу и цртају једна до друге, осим у случају да се зада
одговарајућа опција којом се подешава стил. На пример:
Примери
x = linspace(-3, 2, 100);
y = 2*x.^2+3*x - 1;
plot(x, y);
Напомена: обратити пажњу на "тачка" операције у горњој команди. Како је x вектор, за
израчунавање вектора y неопходно је операције вршити покоординатно, тј.
елемент-по-елемент.
График се подразумевано боји плавом бојом. Ако смо желели да се график исцрта
црвеном бојом, задали бисмо команду:
plot(x, y, "r");
Подразумевани тип линије је пуна (неиспрекидана) линија. Ако смо желели да график буде
исцртан испрекиданом линијом, задали бисмо команду:
plot(x, y, "--");
x = linspace(-3, 2, 100);
y = 2*x.^2+3*x - 1;
z = 2*x + 1;
plot(x, [y; z]);
или:
x = linspace(-3, 2, 100);
y = 2*x.^2+3*x - 1;
z = 2*x + 1;
plot(x, y, "b");
hold on
plot(x, z, "r--");
Пример 2: На истој слици нацртати четири графика (на засебним осама распоређених у
матрицу 2 пута 2):
● sin(x)sin(x) на [0,2π]
● cos(x)cos(x) на [−π,π]
● tg(x)tg(x) на (−π/2π/2)
● ctg(x)ctg(x) на (0,π)
Решење:
Решење: