Вывод нескольких графиков на одни оси в Matlab
Для отображения нескольких графиков функций одной переменной на одних осях использовались возможности функций plot, plotyy, semilogx, semilogy, loglog. Они позволяют выводить графики нескольких функций, задавая соответствующие векторные аргументы парами, например plot(x,f,x,g). Однако для объединения трехмерных графиков их использовать нельзя. Для объединения таких графиков предназначена команда hold on, которую нужно задать перед построением графика. В следующем примере объединение двух графиков (плоскости и конуса) приводит к их пересечению. Конус задается параметрически следующими зависимостями:
Для графического отображения конуса сначала необходимо сгенерировать с помощью двоеточия вектор-столбец и вектор-строку, содержащие значения параметров на заданном интервале (важно, что u - вектор-столбец, а v-вектор-строка): » u = [-2*pi:0.1*pi:2*pi]'; Далее формируются матрицы X, Y, содержащие значения функций Замечание 2 Внешним произведением векторов Вектор а является вектор-столбцом ив MatLab представляется в виде двумерного массива размера N на один. Вектор-столбец bпри транспонировании переходит в вектор-строку размера один на М. Вектор-столбец и вектор-строка есть матрицы, у которых один из размеров равен единице. Фактически, С = abT, где умножение происходит по правилу матричного произведения. Для вычисления матричного произведения в MatLab используется оператор "звездочка". Определим внешнее произведение для двух векторов: » a = [1;2;3]; Сформируем матрицы X,Y, необходимые для графического отображения конуса: » X = 0.3*u*cos(v); Матрица Z должна быть того же размера, что и матрицы X иY. Кроме того, она должна содержать значения, соответствующие значениям параметров. Если бы в функцию » Z = 0.6*u*ones(size(v)); Все требуемые матрицы для отображения конуса созданы. Задание плоскости выполняется следующим образом: » [X,Y] = meshgrid(-2:0.1:2); Теперь не сложно записать и полную последовательность команд для построения пересекающихся конуса и плоскости: » u = [-2*pi:0.1*pi:2*pi]'; Команда hidden off применена для того, чтобы показать часть конуса, находящуюся под плоскостью. Обратите внимание, что команда hold on распространяется на все последующие выводы графиков в текущее окно. Для размещения графиков в новых окнах следует выполнить команду hold off. Команда hold on может применяться и для расположения нескольких графиков функций одной переменной, например. » plot(x,f,х,g) Эквивалентно последовательности » plot(х,f) |