Brian_-_Matlab_R2007_s_nulya_33 (771739), страница 17
Текст из файла (страница 17)
Свойства этих команд подробно раскрыты в онлайновой справке. Воспользуйтесь ею, если у вас возникнут сомнения по поводу переменных по умолчанию для какой-либо команды программы МАТ!.АВ. ч Вычисления в модуле ЗутЬо11с МвФ Тоо1Ьох (Инструментарий символьной математики) фактически отсылаются программой МАТ(.АВ в другую программу, называемую Мар!е, для осуществления обработки. Ядро Мвр)е выполняет символьное вычисление и отсылает результат обратно в программу МАТ(.АВ. В редких случаях вам может понадобиться прямой доступ к ядру Мар!е.
В версии Рго(евв!опа1 программы МАТ(.АВ это можно сделать с помощью команд жар1е и жЬе1р. Вывод результатов символьного вычисления, также в редких случаях, может включать в себя функции, которые либо не существуют в программе МАТ!.АВ, либо которые не преобразуются должным образом в функции программы МАТ( АВ. Это может создать проблемы, когда вы попытаетесь использовать эти результаты в других командах МАТ(.АВ. Для помощи в критических ситуациях воспользуйтесь справкой программы МАТ(.АВ в окне Не1р (Справка) и/или используйте команду жЬе1р для вызова справки по программе Мвр1е.
ГЛАВА 5. Графика программы МАП АВ В этой главе мы более подробно рассмотрим графические команды программы МАТ~АВ и самые основные способы обработки и настройки графики. Чтобы про. смотреть команды, введите )зе1р охар)з1св (для основных графических команд), Ье1р ОкарЬ2с (для двухмерных графических команд), Ье1р дкарЬЗс (для трехмерных графических команд) или Ье1р вресвкарк (для специализированных графических команд). Мы уже рассматривали команды р1ое и евр1ое в главе 2. Данную главу мы начнем с рассмотрения более широкого использования этих команд, равно как и некоторых других часто используемых команд для черчения. Затем будут представлены методы настройки и обработки графики. И, наконец, мы познакомим вас с некоторыми командами и техниками для создания и модифицирования изображений и звуков. $Г Для большинства типов графиков, описываемых ниже, используется команда р1ок, которая чертит график на основе числовых данных, а также команда ехр1ос, которая отображает графики функций, задаваемых рядом или символьным вводом.
Эти команды поначалу могут показаться более простыми для выполнения, но они довольно ограничены в возможностях и мало поддаются настройке. Мы сосредоточимся на тех командах для графического представления данных, которые будут вам наиболее полезны в работе. двухмерные чертежи Зачастую бывает необходимо начертить кривую на плоскости х-у, где переменная у не задана, как функция и.
Существует две основных техники для начертания таких кривых: параметрическое начертание и контурное, или неявное, начертание. Параметрические чертежи Иногда х и у задаются как функции с некоторым параметром. Например, окружность с радиусом 1, центрированная в точке (О, О), может быть выражена в параметрической форме как хаеев (2пе), уав1п(2пе), где К может быть значением от О до 1.
Хотя у не задана, как функция от х, тем не менее вы можете легко начертить эту кривую с помощью команды р1ос, как показано ниже на Рис. 5.1: » т О~О.О1с1) » р1ок(сов(2эр1эТ), в1п(2*р1эТ) ) » аж1в вацеке Глава б. Графика программы МАТ(.АВ 87 Если бы мы использовали приращение О. 1 в векторе 4, результатом был бы многоугольник с отчетливо видимыми углами. Когда ваш график имеет углы, которых быть не должно, вам следует повторять процесс с меньшим приращением до тех пор, пока ваш график не станет выглядеть нормально.
Здесь также присутст вует команда азс1в апааке, которая обеспечивает одинаковую шкалу на обеих осях; без этой команды окружность приняла бы вид эллипса. 0.0 0.0 0.4 0.2 -0.2 -0.4 1 -1 -0,0 0 0.0 1 Рис 5.1. Единичнаа окружность аз + Л~ и 1 Параметрическое начертание можно также производить с помощью команды екр1ок. Вы можете получить почти такое же изображение, как на Рис. 5.1, введя следующую команду: » еяр1ок( 'сов(к) ', 'в1п(к) ', (О 2*р1] ) з азс1а ас(сзаке Обратите внимание, что мы использовали точку с запятой после команды еар1ов, но это не прервет отображение графика.
В основном точка с запятой прерывает только текстовый вывод. Контурные и неявные чертежи Контурный чертеж функции с двумя переменными представляет собой кривые уровня функции, то есть множества точек в плоскости ж-у, где функция принимает постоянное значение. Например, кривые уровня для х2 + у2 представляют собой окружности, центрированные в начале координат, а уровни представляют собой квадраты из радиусов этих окружностей. Контурные чертежи создаются в программе МАТ(АВ с помощью команд жеаЬВк14 и ооасоак. Команда аеаЬВНлй создает сетку из точек в прямо)толькой области с заданными интервалами.
Эта сетка используется командой ооавопк для создания контурного чертежа в заданной области. Вы можете создать контурный чертеж для ж2 + уз следующим образом (см. Рис. 5.2): » (Х т] а жеаЬякИ(-320.123, -320.123)З » ООПКОПК(Х, З, Х."2 + Х.42)З аЗС1а аФЗаяа Вб МДт1ДВ -г -1 О 1 г 3 Рис 5.2. Контурный чертеж для хе + уз Вы можете определить множество уровней путем включения дополнительного векторного аргумента в команду сопеоит. Например, чтобы начертить окружности с радиусами 1, 112 и 113, введите следующее: » соикоит(Х, У, Х."2 + Х.ь2, [1 2 3]) Векторный аргумент должен содержать, по крайней мере, два элемента; то есть, если вы захотите начертить одноуровневое множество, вам потребуется задать один и тот же уровень дважды.
Это полезно для неявного начертания кривой, заданной уравнением в переменных х и у. Например, чтобы начертить окружность радиусом 1 вокруг начала координат, введите следующее: » соикоит(Х, у, Х."2 + у.*2, [1 1]) А чтобы начертить график лемнискаты х2 - у2 = (х2 + у2) 2, перепишите уравнение в виде (х2 + у2)2 — х2 + у2 = О и введите следующее (см. Рис. 5.3): » [Х у] = )ьстаб(-1.11О.О111.1, -1.11О.О111.1) З » соиеоит(х, х, (х.*2+у.'2)."2-х.'2+у.'2, [О О]) » азгйв вгз1гате » кйе1е('тле 1еаизвсате х"2-у"2 (х"2+у"2) "2') вв* В данном случае мы использовали в заголовке знак " для отобРажения возведения в степень. Вы можегле также использовать знак длл отображения символов в нижнем индексе, воспроизвести греческие буквы, поставив и гред названием греческой буквьс знак об)затной косой черты (обРатный слэт], напРимеР '1 тЬета. Введите с(ос е1е1е и отьоците в разделе «Екатр)ев (Нримеры] другие возможности работы с заголовками; зти возможности позволяют также озаглавливать такие команды, хах х1 а)зе1 и у1аЬе1.
Более подробно об офо]Омлении г~афихов вы можете узнать в разделе хНастройка графики» долее в этой главе. Глава 6. Графика программы МАТ) АВ Контурные чертежи вы можете также производить с помощью команды агсопсоик, а неявное начертание кривой к(х, у) = 0 — с помощью команды егр1ов. В частности, вы можете получить почти такое же изображение, как на Рис. 5.2, введя следующую команду: » егеоиаехаг('х»2+у»2'х [-3 3), [-3 3) )) ах1в вхтцаге Л чтобы получить почти такое же изображение, как на Рис.
5.5, введите следующую команду: » егр1ое('(х»2+у»2)»2-х»2+у»2', [-1.1, 1.1), [-1. 1 1. 1))) ахйв вхрзака Лемниската хх-гх=(х! х')! об 06 ох оз -об о об ! Рис. 55. Ланниската Чертежи полей Команда хаи1»гег программы МАТ).АВ используется для начертания векторных полей и массивов стрелок. Стрелки могут находиться на равномерно расположенных точках плоскости (если координаты х и у не заданы точно), или их местоположение может быть задано. Иногда требуется совсем немного, чтобы отмасштабировать стрелки, чтобы они не выглядели слишком большими или слишком маленькими. Для этой цели команда хтиахгек использует опциональный аргумент масштаба. Например, представленный ниже код позволяет начертить векторное поле с «седлообразной точкой», где наблюдается притягивание стрелок в сторону оси х и отталкивание от оси у.
Вывод результата показан на Рис. 5тй » [х, у) = г!авЬдгахт(-1.1:0.2:1.1, -1.1:0.2:1.1) ) » циЫег(х, -у)) ах1в ецца1) ахйв окк оо МАтсАВ ю l / л г Рис. 5.4. Чфтеж оекпифносо поля (х, -у) Трехмерные чертежи Программа МАТсАВ имеет несколько возможностей для создания трехмерных чертежей. Кривые в трехмерном пространстве Для начертания кривых в трехмерном пространстве основной командой является команда р1оеЗ. Эта команда работает так же, как и команда р1ое, за исключением того, что использует три вектора, а не два: один вектор для координаты х, один — для координаты у и один — для координаты я. Например, мы можем начертить спираль, введя следующее: » т -г:О.О1:2: » р1оЕЗ(сов(2*р1*2), в1п(гоР1ьт), Ж) Рис.5.5.
Спифааъсиоороинатамих сов(гая), у вХн(гпя) Глава 5. Графика программы МАТ(.АВ ,~1эя команды екр1ое также с)чнествует трехмерный аналог — команда екр1осЗ; с помощью этой команды можно начертить такую же спираль, как на Рис. 5.5, введя следующее: » екр1окЗ ( 'оов(2*р1~е) ', 'в1и(2*р1ьк) ', 'е ', (-2, 2) ) Почюпкмг)т ги о тюъькмвгънгил гэгъгъетг)ъигтаа » схвзевЬ( 'х" 2-у" 2', (-2. 2 -2, 2) ) ! ели необходимо начертить поверхность, которая нс может быть представзена выражением в форме х = Е(х, у), гпп~риыер, сферу х2 + у2 + х2 = 1, тогда лучше будет задать параметры поверхности.