Раздел: Документация
0 ... 45 46 47 48 49 50 51 ... 365 менной и объяснено, почему при вычислении вектора значений функции необходимо применять поэлементные операции » х = 0:0.05:1; » у = ехр(-х).*sin(10*x); » plot (х, у) Обратите внимание, что фактически мы строим график табличной функций, т. е. зависимость одного вектора от другого. Неудачный выбор шага по оси абсцисс может исказить реальную картину поведения функции. MATLAB предоставляет другую возможность (fpiot) для визуализации аналитически заданных функций с адаптивным подбором шага, учитывающим особенности поведения исследуемой функции (использование fplot объяснено в главе 5). Итак, всюду в этой главе мы будем иметь дело с таблично заданными функциями одной и двух переменных. При создании таблицы значений следует уделять повышенное внимание выбору шага вычисления. В этом убеждает простой пример. Требуется построить график функции /(A-) = e r(sinj; + 0.1sin(l007i.v)) на отрезке [0,1]. Выберите сначала шаг 0.01 по оси х, а затем 1/99 (не забудьте пересчитать вектор со значениями функции). Первый график для шага 0.01 просго неверный (почему?). Сравнение нескольких функций легко производить, построив графики на одних координатных осях. Постройте графики функций /(A) = e 0Ilsin2j£ и g(jc) = e t)2t sin2 д- на отрезке [-2л, 2л]. Сгенерируйте вектор-строку значений аргумента х и вектор-строки f и д, содержащие значения функций. Команда plot с двумя парами аргументов приводит к графику, изображенному на рис. 3.19. » х = -2*pi:0.01:2*pi; » £ = ехр(-0.1*х).*sin(x).Л2; >> g = ехр(-0.2*х).*sin(x).Л2; » plot(x, f, х, g) Функции необязательно должны быть определены на одном и том же отрезке. В этом случае при построении графиков MATLAB выбирает максимальный отрезок, содержащий остальные. Важно только в каждой паре векторов абсцисс и ординат указать соответствующие друг другу векторы, например: » xl = -pi:0.01:2*pi; » f = exp(-0.1*xl).*sin(xl).Л2; » х2 = -2*pi:0.01:pi; » g = ехр(-0.2*х2).*sin(x2).л2; » plot (xl, f, x2 ,g) э о -8 -Б -4 -2 D 2 4 6 Рис. 3.19. Графики двух функций Аналогичным образом при помощи задания в plot через запятую пар аргументов: вектор абсцисс, вектор ординат, осуществляется построение графиков произвольного числа функций. Использование plot с одним аргументом — вектором приводит к построению "графика вектора", т. е. зависимости значений элементов вектора от их номеров. Аргументом plot может быть и матрица, в этом случае на одни координатные оси выводятся графики столбцов. Иногда требуется сравнить поведение двух функций, значения которых сильно отличаются друг от друга. График функции с небольшими значениями практически сливаегся с осью абсцисс, и установить его вид не удается. в этой ситуации помогает функция piotyy, которая выводит графики в окно с двумя вертикальными осями, имеющими подходящий масштаб. Сравните, например, две функции f{x)-x~3 и /"(;>;) = 1000-(я+ 0.5)* » х = 0.5:0.01:3; » f - х.л-3; » F = 1000*(х+0.5)."-4; » piotyy(х, f ,х, F) Результат приведен на рис. 3.20. При выполнении этого примера обратите внимание, что цвет графика совпадает с цветом соответствующей ему оси ординат. Рис. 3.20. Сравнение функций при помощи plot у у Функция plot использует линейный масштаб по обеим координатным осям. Однако MATLAB предоставляет пользователю возможность строить графики функций одной переменной в логарифмическом или полулогарифмическом масштабе. Графики в логарифмических масштабах Для построения графиков в логарифмическом и полулогарифмическом масштабах служат функции: □loglog (логарифмический масштаб по обеим осям); □semiiogx (логарифмический масштаб только по оси абсцисс); □semi logy (логарифмический масштаб только по оси ординат). Аргументы loglog, semiiogx и semilogy задаются в виде пары векторов значений абсцисс и ординат так же, как для функции plot, описанной в предыдущем разделе. 0 ... 45 46 47 48 49 50 51 ... 365
|