При выводе текста на трехмерные графики следует в первых трех входных аргументах функции text указывать три координаты текстового объекта. Построим, например график поверхности, задаваемой функцией peaks, которая используется во многих примерах справочной системы MATLAB, и рядом с точкой максимума поверхности разместим текст "Maximum". Соответственно, подпишем точку минимума "Minimum".
Функция peaks возвращает массив (квадратную матрицу), размеры которой совпадают со значением ее входного аргумента. Запишем этот массив в переменную Z и найдем максимальное M и минимальное m значения в нем при помощи функций max и min, соответственно. Напомним, что для поиска максимума в двумерном массиве следует два раза вызвать функцию max, поскольку результатом функции max является строка, содержащая максимальные элементы в каждом столбце (аналогично и для функции min). Далее используем функцию find для определения строчных и столбцевых индексов максимального и минимального элементов. Строчный и столбцевой индексы максимального элемента запишем в iM и jM, а минимального - в im и jm. Затем построим поверхность, обратившись к функции mesh. Если в функции mesh указан единственный входной аргумент - двумерный массив, то она строит поверхность, определяемую его значениями, при этом на оси абсцисс откладывается значение столбцевого индекса этого массива, а на оси ординат - значение строчного индекса. Останется вызвать функцию text для создания первого текстового объекта с надписью "Maximum" в точке с координатами (jM, iM, M+1) и второго, с надписью "Minimum", в точке с координатами (jm, im, m-1). Здесь в качестве третьей координаты взято M+1 и m-1 для того, чтобы текстовый объект находился на небольшом отдалении от поверхности. Соответствующие команды и результат приведены ниже.
|
|