
- •190000, Санкт-Петербург, ул. Б. Морская, 67
- •1. Идеология MatLab и Octave
- •2. Возможности MatLab и Octave
- •3. Управление командным окном
- •4. Организация системы помощи в MatLab и Octave
- •5. Ввод и генерация данных
- •6. Ввод констант и специальных чисел в MatLab и Octave
- •7. Ввод данных в диалоговом режиме
- •8. Генерация специальных матриц
- •9. Манипуляции с матрицами в MatLab и Octave
- •10. Работа с символьными переменными
- •11. MatLab (Octave) как сложный калькулятор
- •12. Визуализация данных
- •13. Работа с файлами
- •14. Программирование в MatLab и Octave
12. Визуализация данных
Для отображения результатов вычислений MatLab и Octave имеют достаточно большой выбор средств визуализации. Вывод данных и текстовых строк в командную строку осуществляется с помощью команды disp (табл.12).
Таблица 12 - Пример использования команды disp
Операция |
Команда |
Результат |
Вывод текстового сообщения |
disp('hello') |
hello |
Вывод численного значения |
disp(4) |
4 |
Вывод значения переменной |
a=8 disp(a) |
8 |
В MatLab в символьных переменных возможно использование кириллицы. Для этого необходимо изменить стандартный шрифт на шрифт в формате UNICODE, например: Arial Unicode MS. Изменение шрифта осуществляется в меню File->Preferences...->далее на вкладках General, Command Window, Editor/Debugger, Help изменяется текущий шрифт на требуемый. Следует обратить внимание на возможные проблемы при использовании русской буквы «с». Мера борьбы – использовать латинскую букву «с». Использовать кириллицу в качестве имен переменных, файлов, функций нельзя.
Таблица 13. Построение графиков в MatLab и Octave.
Операция |
Пример команды |
Построение графической зависимости одной переменной от другой |
X=[1:100]; plot(X, sin(X)) |
Управление осями графика |
axis([20 30 -0.8 0.8]) |
Нанесение сетки на график |
grid |
Нанесение заголовка графика |
title('sinus.fragment') |
Нанесение надписи под осью x |
xlabel('time') |
Нанесение надписи под осью y |
ylabel('y=sin(x)') |
Нанесение легенды |
legend('fragment grafika') |
График приведенный на рис.3 можно получить путем последовательного ввода в командном окне команд из таблицы 13. В Octave координатная сетка включается нажатием клавиши G на клавиатуре. Также в Octave после ввода команд полезно дать команду replot (без параметров) для обновления графика.
Р
ис.3
– Результат работы графических команд
MatLab и Octave (табл.13)
С помощью команды subplot можно на одно графическое окно выводить несколько графиков. При этом окно рассматривается как матрица, элементами которой являются графики. Результатом последовательного выполнения приведенных ниже команд является фигура, изображенная на рис.4:
a=rand(1,100);
subplot(2,1,1)
plot(a)
subplot(2,1,2)
hist(a)
В команде subplot первый параметр отвечает за количество графиков по вертикали, второй – по горизонтали. Третий параметр отвечает за номер текущего графика. Нумерация осуществляется слева-направо, сверху-вниз.
Рис.4 – Пример вывода нескольких графиков на одну фигуру
Также часто возникает необходимость в выводе на один график несколького кривых (рис.5). В данном случае используется команда hold (или hold on):
x=[1:0.1:10];
plot(x,sin(x))
hold
plot(x,cos(x))
Р
ис.5
– Пример вывода двух кривых на один
график
Ряд функций, реализующих специальные виды графиков, приведены в таблице 14.
Таблица 14 - Специальные виды графиков
Операция |
Команда |
Пример |
График с дискретными значениями |
stem |
stem([1 3 4 2]) |
Лестничный график |
stairs |
stairs([1 3 4 2]) |
Круговая диаграмма |
pie |
pie([1 3 4 2]) |
Трехмерная круговая диаграмма |
pie3 |
pie3([1 3 4 2]) |
График в полярных координатах |
polar |
polar([0 0 pi/6 pi/3 pi/3],[0 1 2 1 0]) |
Логарифмический масштаб по осям х и y |
loglog |
Используются вместо команды plot в случае, если одна или обе координаты должны иметь логарифмический масштаб |
Логарифмический масштаб по оси х |
semilogx |
|
Логарифмический масштаб по оси y |
semilogy |
|
Гистограмма |
hist |
hist(rand(1,100)) |