суббота, 13 декабря 2014 г.

Octave. Графики

Octave не имеет встроенных средств для построения графиков. Тем не менее, он вполне успешно использует для этого сторонние инструменты, в частности, Gnuplot.


Основным методом графопостроения выступает всё та же функция plot(x,y), что и в Freemat, и в Scilab, т.е. уже рассматривавшаяся ранее. Поэтому движемся дальше. Интересна функция ezplot('выражение'), которая строит график выражения, записанного в аргументе.
    ezplot('sin(x)*cos(x)');
Скорректировать пределы по оси абсцисс можно с помощью команды
set(gca, 'xlim', [a, b]);
где a и b - начало и конец отображаемого интервала.

Построение графика в полярной системе координат осуществляет функция polar(phi, ro, str), где phi - полярный угол, ro - полярный радиус, str - строка параметров линии графика.
   phi = -pi/2:pi/100:pi/2;
   ro = sin(phi).*cos(phi);
   polar(phi, ro, 'r');
При формировании трёхмерного графика сперва строится сетка в плоскости x0y с помощью meshgrid, затем в узлах сетки рассчитываются значения, после чего функция mesh(x, y, z) формирует график поверхности.
   [X Y] = meshgrid(-pi/2:0.1:pi/2, 0:0.1:pi);
   Z = sin(X).*cos(Y);
   mesh(X, Y, Z);
Для построения таких типичных фигур, как сфера, цилиндр, эллипсоид в Octave предусмотрены специальные функции, формирующие массив точек. В этом случае фигура строится не через mesh, а surf(x, y, z).

Если вы хотите увидеть построение графика "вживую", т.е выполнить анимацию, вам поможет функция comet(x,y). Например, следующий набор команд выполнит построение синусоиды.
   x = -pi:pi/20:pi;
   y = sin(x);
   comet(x,y);
Варьировать время построения можно с помощью дополнительного параметра p: comet(x,y,p), который по умолчанию равен 0,1 с.

Комментариев нет:

Отправить комментарий